MatchMaster/docs/CoinMadness支付联调当前约定.md

13 lines
1.6 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.

# CoinMadness 支付联调当前约定
2026-09-22,依据用户在本次联调中明确确认的规则更新客户端。以下条款覆盖旧 V1.3 文档中对应的下单和取消重试说明,不修改后端原始文档。
- 下单商品取最新 `info.productId`,价格取最新 `info.priceFen`(分);显式传 `itemCount: 1`、`itemPrice: info.priceFen`,不写死商品或金额。
- 首次下单生成并保存 `createRequestId`,保存后台返回的 `outTradeNo` 后调用微信支付。
- 按用户最新要求,每次有效点击购买都创建新的下单请求编号、重新下单,并使用返回的订单及签名拉起支付。购买入口不先查询旧订单,不受旧订单取消、失败、待确认状态影响,不要求返回旧订单号。保留活动资格检查及界面防连点。
- 本期本地订单记录更新为本次尝试;支付后查询本次订单。自动刷新仍可查询当前保存的未完成且非取消订单,但不负责恢复被后续购买替换的历史订单。
- 已观测到的 `code: 0, data.pay_state: 1, msg: 充值未成功` 且没有 `errorCode` 的查单响应,按支付待确认处理;显式错误码优先,不自动变成支付成功。
- 微信成功回调只触发查询;活动支付确认仍要求 `pay_state: 2`、`rewardDelivery: goldMiner.claim` 和 `goldMiner` 元数据。尚未取得实际成功查单响应,不猜测其他格式,也不将普通礼包付款直接当作活动解锁。
验证:`check-payment-retry.cjs`、`check-api.cjs`、`check-api-v15.cjs`、`check-test-tools.cjs` 均为本地模拟检查。真实微信弹窗、付款及活动权益确认仍需真机联调。