wechat-payment Specification
Purpose
定义 PRI-MP-PAY-001 微信支付基础、支付结果与异常查询的正式能力边界。该规格约束统一支付契约、支付确认、支付状态查询、交易详情/票据查询和异常撤销:真实下单、wx.requestPayment 和 130994 撤销按旧版链路开放,只能由用户在页面明确确认后执行,页面生命周期不得自动触发。
Requirements
Requirement: REQ-PAY-001-01 PAY-001 微信支付契约
系统 MUST 按 PRI-MP-PAY-001 上下文包、功能点专项矩阵和集成队列裁定口径实现本模块能力,并保留跨模块契约、真实接口边界和人工联调边界。
- MUST:从统一基线
develop@9a529fc 的模块分支 feature/PRI-MP-PAY-001-wechat-payment 开发。
- MUST:提供统一支付契约工具,承接订单、预交金、商品和咨询支付上下文,输出支付金额、交易号、业务类型、医院、就诊人和用户标识。
- MUST:注册支付确认、支付结果和支付异常查询页面,展示参数、状态和用户确认边界。
- MUST:支付结果页支持
130980/130993/01050004/131027 只读查询和 SUCCESS/NOTPAY/UN 等状态分支。
- MUST:异常查询页仅在服务端确认订单异常、且用户二次确认后,以旧版字段调用
130994 提交撤销并刷新状态。
- MUST:支付确认页仅在用户明确确认且契约字段完整时,按旧版顺序调用
01050002、wx.requestPayment 和服务端状态查询;普通页面加载不得主动调用。
- MUST:覆盖当前模块功能点专项矩阵,并对每个功能点给出已实现、暂缓、划归其他模块、待确认或不属于本模块的结论。
- MUST:记录契约与依赖闭环,未完成依赖必须使用待开放、禁用态或安全兜底。
- MUST:自检报告包含新版设计基线、旧源码功能基线、视觉布局基线、真实接口与禁止模拟业务数据检查。
- MUST:提交待集成时列出共享文件清单、固定检查结果和人工联调项。
- MUST NOT:子 Agent 自行合并或推送
develop。
- MUST NOT:使用 mock、本地假接口、硬编码业务返回或静态业务数据替代真实接口。
- MUST NOT:在页面加载、显示、回跳或刷新时自动触发真实支付、医保、退款、订单创建、预约提交、实名/OCR/人脸、IM/TRTC 等写操作;所有真实写操作均须保留用户明确确认和必要业务字段校验。
Scenario: 模块提交待集成
- Given PRI-MP-PAY-001 模块开发完成
- When 子 Agent 提交待集成材料
- Then OpenSpec strict、功能点矩阵闭环、契约与依赖闭环、共享文件清单、禁止 mock/硬编码扫描、人工联调项和固定检查结果 MUST 齐全。
Scenario: 支付确认由用户确认后扣款
- Given 用户从账单、订单详情、账户缴费或商品订单进入支付确认页
- When 用户确认金额和就诊服务并点击“确认支付”
- Then 系统 MUST 在字段完整时按旧版顺序调用
01050002、wx.requestPayment 与服务端状态查询;页面展示时 MUST NOT 自动调用这些写操作。
Scenario: 支付状态查询
- Given 支付上下文包含交易号和医院/就诊人参数
- When 用户刷新支付结果
- Then 系统 SHOULD 查询
130980/130993/01050004/131027,并展示成功、未支付、异常或待确认状态。
Scenario: 异常撤销受控
- Given 支付状态为异常或待确认
- When 用户二次确认撤销
- Then 系统 MUST 使用旧版
130994 请求字段提交撤销并刷新服务端状态;未确认或非异常订单 MUST NOT 提交撤销请求。