阅读主题
订单与充值排查
v0.2.1 提供演示支付和平台内部钱包闭环,不连接真实支付商户。客户端支付提示、演示订单成功和本地钻石变化均不代表真实供应商付款或外部游戏已发货。
付款返回超时或状态不确定
- 保留原订单号与该次操作的
requestId。 - 查询原订单最新状态,不另建订单重新付一次。
fulfilled表示当前实现已完成演示发放;pending表示尚未确认付款,可由玩家确认继续支付。closed或refunded不再支付。paid表示已确认付款、需要检查履约结果,不自行再次扣款。- 查询也失败时展示“状态待确认”,保留可重试入口,不把网络失败写成确定的支付失败或成功。
SDK 只负责平台接口。外部游戏需要自己的订单查询和可信发货确认,不能由客户端收到 200 就直接增加正式资产。
H5 的 createOrder 支持显式传入 requestId;当前 payOrder、refundOrder 方法每次调用自动生成新标识。因此付款超时尤其要先查询同一个订单,再按订单状态重试,不能假设反复调用 SDK 会自动复用上一笔支付请求标识。
常见拒绝
| 错误 | 含义与处理 |
|---|---|
IDEMPOTENCY_CONFLICT | 同一请求标识对应了不同内容。核对是否改了商品、角色或订单;新意图使用新标识 |
INSUFFICIENT_BALANCE | 钱包余额不足,或退款所需回收余额已被消耗。先查询余额和关联订单 |
ROLE_FORBIDDEN | 角色不属于当前玩家/游戏;外部角色尚需可信绑定,不能直接替换 ID |
COUPON_UNAVAILABLE | 券未领取、已锁定或已使用。查当前订单,不重复领取或重复下单 |
COUPON_EXPIRED | 优惠券已过期;退款后释放状态不会延长有效期 |
ORDER_NOT_PAYABLE | 订单已关闭或退款,不能继续付款 |
ORDER_NOT_CLOSABLE | 仅未支付订单可关闭,已付款订单走受约束的退款流程 |
ASSET_CONSUMED | 对应道具不足,不能自动回收并退款 |
BENEFIT_CONSUMED | 月卡权益已经领取,当前实现不自动退款 |
MEMBERSHIP_CHANGED | 月卡存在后续续费,先处理最新订单 |
钱包金额看起来不对
现金字段以整数分计;钱包 100 最小单位为 1 平台币。paid: 3000 表示 30 付费币,不是 3,000 币。付费与赠送两部分分开显示。
消费优先扣赠送额度,退款按当时实际扣款来源退回。因此不能只比较付费余额判断是否扣款。平台币充值不允许钱包支付,也不允许用优惠券,避免循环购买增加资金。
钱包目前为同一运营主体共享权益,不是各接入厂商独立结算余额。开发者订单响应不包含玩家平台钱包。
优惠券一直锁定
下单会锁券而不扣款。未付订单可主动关闭并释放券;超时订单在玩家读取中心、订单或发起相关交易时处理关闭,不承诺到时自动推送。当前订单有效期为 30 分钟。
支付与关闭并发时,以最终服务端状态为准;不能把“点击了取消”视为保证未扣款。
控制台查不到订单或导出数量不同
开发者只能查询所属游戏。检查游戏筛选、状态、关键词和上海时间的创建日期;筛选作用于全部所属数据,再分页。total 是全部匹配数量,不只是当前页数量。
导出单次最多 10,000 笔,读取过程中订单数量变化、分页重复或不完整会停止导出。缩小日期范围并重新查询。CSV 是业务查询资料,不是供应商账单或商户结算凭证。