Skip to content

BUS-11 二维码商户支付

BUS-11.1 目标与 DTS 依据

验证付款人扫描商户二维码后向合格商户付款的 P2B 旅程:二维码作为指令与路由载体被校验解析,付款人确认后以商户上下文执行标准准备—签名—提交契约,商户与付款人取得同一交易 ID 和最终结果;静态与动态二维码、篡改/过期/重复扫码路径全覆盖。

追溯项依据
DTS 功能场景§14.3 场景 7「P2B 二维码支付」(A 类核心平台场景)
DTS 章节§14.3-A 场景 7 卡片、§14.6 转账契约(复用)、§15.3 外部系统适配(IPS/QR)
DTS 测试目录TC-P2B-001006
需求依据《技术描述》附录 1 §§4.3.2、6.1.4;附录 2 §1.2.4(国家标准静态/动态 QR)
追溯登记附录 A

BUS-11.2 参与角色

角色职责
商户 M1/收单侧(银行 B)生成静态/动态二维码载荷
付款人 P1 及银行 A 渠道扫码、校验展示内容、确认支付
银行 A(付款人资产持有银行)受保护 Idemix Holder 对 prepared request 签名;平台调用方
QR/IPS 适配层(原型实现)解析二维码、路由至商户钱包
平台/账本以商户上下文执行转账契约并赋予最终性

BUS-11.3 前置条件

  • BUS-07 已通过:商户钱包 M1 ACTIVE 且商户角色已注册、路由可解析;
  • BUS-09/BUS-10 已通过:P1 钱包持有充足余额;
  • 二维码载荷格式(静态/动态字段、有效期、完整性保护方式)已按测试口径记录。

BUS-11.4 测试数据

数据项要求记录值
静态二维码含商户标识,不定金额待执行时填写
动态二维码含商户标识、金额与有效期待执行时填写
支付金额小于 P1 可用余额待执行时填写
篡改二维码样本修改收款方/金额字段后的载荷待执行时填写
过期二维码样本有效期已过的动态码待执行时填写

BUS-11.5 执行步骤

步骤执行方操作预期结果实际结果证据编号状态
1商户 M1生成动态二维码(金额、有效期)二维码载荷符合约定格式并记录待执行待填写待执行
2P1/银行 A 渠道扫码,渠道校验并解析商户展示已核验支付数据(商户名称、金额);路由解析至 M1 钱包待执行待填写待执行
3P1确认支付以商户上下文进入标准转账契约:Prepare 返回 tx_id 与待签请求待执行待填写待执行
4银行 A Holder对准确 prepared request 签名;银行 A Submit账本提交记账;状态 FINAL待执行待填写待执行
5商户侧(银行 B)查询收款结果商户与付款人取得同一交易 ID 与同一最终结果;二维码/收单方引用保留在交易记录待执行待填写待执行
6验收方余额核对P1 减少额 = M1 增加额 = 支付金额待执行待填写待执行
7P1以静态二维码重复步骤 2–6(付款人输入金额)同标准通过;静态/动态两路径均留证待执行待填写待执行

BUS-11.6 预期核对点

  • 二维码定位:二维码是指令与路由载体,不替代账本;余额变化仅发生在账本提交记账时(§14.3-A 场景 7);
  • 展示核验:付款人确认的是渠道已核验的商户与金额;动态金额变化需重新确认;
  • 一致视图:商户与付款人对同一 tx_id 看到相同终态;
  • 对账:交易记录保留二维码及收单方引用,可与商户侧记录对账;
  • 契约继承:防重复、最终性、审计控制全部继承 §14.6。

BUS-11.7 负向与异常用例

用例操作预期结果实际结果证据编号状态
TC-P2B-002使用过期动态二维码支付拒绝;无 Prepare 或 Prepare 被拒待执行待填写待执行
TC-P2B-003使用篡改二维码(收款方/金额被改)校验失败拒绝,或展示数据与载荷不符被阻断;留安全证据待执行待填写待执行
TC-P2B-004超额支付REJECTED;不花费 UTXO待执行待填写待执行
TC-P2B-005同一二维码/同一确认重复提交(重复扫码)防重复:不重复扣款;重复请求返回既有结果待执行待填写待执行
受限商户将 M1 置 SUSPENDED 后支付,验后恢复受治理拒绝;恢复后可支付待执行待填写待执行
TC-P2B-006支付后模拟商户侧同步响应丢失商户经权威状态查询恢复结果;交易保持 FINAL待执行待填写待执行

BUS-11.8 执行信息、结果与签署

项目记录
原型版本与镜像摘要待执行时填写
测试环境待执行时填写
执行日期与参与人员待执行时填写
动态/静态支付 tx_id待执行后填写
二维码载荷样本证据编号待执行后填写
执行结果待执行
问题/偏差(附录 F 编号)待填写
复测结论待填写
甲方业务代表签署待填写
服务商执行代表签署待填写