Files
quyun-v2/docs/plan.md

77 lines
3.0 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Implementation Plan: Payment Flow Rules & Verification
**Branch**: `main` | **Date**: 2026-02-03 | **Spec**: `docs/seed_verification.md`
**Input**: 统一支付流程规则,完善前后端联调与验证路径。
## Summary
明确支付流程的接口契约与前端交互(创建订单→支付→状态查询),补齐规则并制定验证步骤,确保页面交互与数据库状态一致。
## Technical Context
**Language/Version**: Go 1.22, Vue 3 (Vite)
**Primary Dependencies**: Fiber, Vite, existing `/orders`/`/pay`/`/status` APIs
**Storage**: PostgreSQL
**Testing**: 页面自动化MCP+ 手动校验
**Target Platform**: local/staging
**Project Type**: Web application
**Performance Goals**: N/A
**Constraints**: 不改生成文件;遵循 `backend/llm.txt`
**Scale/Scope**: 支付流程规范与验证
## Constitution Check
- 仅文档/规则梳理,若后续改代码需遵守生成文件不可直改规则。
## Project Structure
```text
docs/
├── plan.md # 本计划
├── seed_verification.md # 页面→操作→数据验证清单
└── plans/ # 归档目录
frontend/portal/src/views/order/ # Checkout/Payment
backend/app/http/v1/transaction.go # orders/pay/status/webhook
```
**Structure Decision**: 在现有前后端目录内完善支付契约说明与测试步骤,不新增结构。
## Plan Phases
### Phase 1: 规则梳理
- 明确 `/orders` 创建所需字段与返回字段价格、content_title、status、id
- 明确 `/orders/:id/pay` 入参与预期状态变更;`/orders/:id/status` 响应格式。
### Phase 2: 前后端对齐点
- 若后端缺字段/逻辑,提出对齐要求;前端 Checkout/Payment 显示金额、商品名、状态并可发起 pay/模拟成功。
### Phase 3: 验证与记录
- 执行创建→支付→状态流;校验页面与 DB (`orders`, `order_items`, `content_access`) 一致;记录缺口(若 pay 未实现则记为待补)。
## Tasks
- [ ] T001 梳理 `/orders` 创建与返回字段content_id, price_amount, id/status
- [ ] T002 梳理 `/orders/:id/pay` 入参与成功/失败状态定义
- [ ] T003 梳理 `/orders/:id/status` 响应字段status, amount_paid/original, content_title
- [ ] T010 前端显示与调用对齐Checkout 显示金额/标题Payment 调用 pay+轮询)
- [ ] T020 验证创建→支付→状态→订单详情链路;记录 DB 状态变化
- [ ] T030 汇总缺口(如 pay 未实现、字段缺失),更新 `docs/seed_verification.md`
## Dependencies
- Phase 1 → Phase 2 → Phase 3
## Acceptance Criteria
- 支付接口契约(字段/状态)明确并记录。
- 前端 Checkout/Payment 能显示金额/商品名并调用 pay+轮询;若后端未实现,缺口已记录。
- 手动/自动化验证创建→支付→状态→订单详情链路DB 状态与页面一致。
## Risks
- 后端 pay/status 未实现或字段缺失导致无法完成闭环(需记录缺口)。
## Complexity Tracking
无。