- payment domain: payments/memberships/attempts/receipts/refunds/commands/events, legacy-demo provenance (0024), checkout header-hash idempotency (0025) - wallet collection all-or-none across shop orders; group-wide cancellation; checkout cutover, status-only payOrder removed - Stripe crypto-only Checkout adapter, raw-body HMAC webhooks, durable command worker with leases - original-method refunds with receipt/allocation budgets; refund_pending/refund_failed aftersale states - admin channel CRUD/revisions/audit/verify + operations list/detail/reconcile; secret-ref allowlist (VMALL_PAYMENT_*), env-fixed demo/sandbox/live - mall/mobile checkout pay surfaces, admin console pages; shared contract updated - pre-launch leftovers recorded in docs/TBD-payments.md cargo test -p vmall-api green twice; four frontend builds green; browser smoke: mall wallet checkout paid, admin channels/operations verified
2.2 KiB
2.2 KiB
TBD — 支付上线前事项(add-configurable-payments 归档遗留)
归档时间:2026-10-15。以下条目是 add-configurable-payments 中依赖外部资源或
额外覆盖、在归档时如实保留未完成的事项。任何 sandbox/live 部署前必须全部关闭。
外部前置(阻塞 sandbox/live 激活)
- Stripe 账户尽调(原 task 1.1):复核 Stripe 官方文档,记录 pinned API 版本、crypto-only Checkout 参数、paid/refund 事件、交易限额与商户资格;确认 hosted crypto 权限与 sandbox/testnet 钱包可用性(有效 API key 不等于已获批)。
- 真实 sandbox 全链路(原 task 10.2):用合格 Stripe sandbox 账户 + testnet 资金完成 hosted crypto 支付,验证签名回调入账 USD receipt/application, 并执行一次部分 original-wallet 退款,留存外部证据。
- Worker 重启恢复 + 渠道轮换演练(原 task 10.3):实际重启 worker 并 在有未完成操作时禁用渠道/轮换密钥,确认回调与 original-method 退款继续、 unknown 状态不会重复收款、补偿只恢复未支付资源一次。
- mobile 端浏览器走查(原 task 10.4 残余):mobile checkout/return reload、pending/failure/refund UX;伪造成功参数、过期方法、不安全取消均不能 伪造完成态。
覆盖缺口(不阻塞归档,建议补齐)
- Stripe 协议行为用例(原 task 5.6):未支付完成会话、延迟结算、
团购席位丢失、多笔真实收据、补偿成功重放、金额/币种不匹配隔离、
crypto 精度无损的集成测试。现有覆盖:伪造签名拒绝
(
forged_stripe_webhook_is_rejected_without_payment_effects)。
已验证基线(归档时证据)
cargo test -p vmall-api两轮全绿(payments 11/11、wallet 7/7、aftersales 10/10 等)。- 四端构建全绿:@vmall/mall、@vmall/mobile、@vmall/admin、@vmall/shop-admin。
- demo 环境浏览器走查:mall 加购→结算→钱包支付成功(VM260928000005,$315.96)、
余额不足 400、demo 充值、订单 Paid、
order_paid消息;admin 渠道与操作列表/ 详情渲染正确。