上线检查清单
-
operator-conformance对你的沙盒钱包运行结果为 0 失败(见沙盒自测)。 - 启动码一次性、5 分钟内过期;你的 App 从不把自己的访问令牌交给游戏。
- 签名校验使用原始请求体、常数时间比较和 300 秒时间窗,并支持多把密钥(轮换)。
- 按
transaction_id的幂等同样覆盖失败结果;能识别duplicate_mismatch。 - 冲正会记录墓碑;冲正之后才到达的扣款返回
rolled_back。 - 接受同一玩家同一局的多笔扣款;没有任何按局去重的逻辑。
- 加款和冲正从不校验会话、登出或封禁状态。
- 批量响应逐项、按顺序给出结果;只有每一项都有结果时才返回 HTTP 200。
- 429 / 503 响应带
Retry-After;声明的单批最大笔数和并发数与你的钱包高峰承载能力一致。 - 交易记录至少保留 180 天。
- 宿主桥在 8 秒内应答
getConfig,处理gameLoaded、gameRecharge、destroy,并在充值后调用window.walletUpdate()。 - 在沙盒中从 App 玩过的真实对局与你的流水一致。
在「商户控制台 → 概览」点击「申请开通生产环境」。在我们审核完你的接入、且你的商务条款(金币汇率和分成比例)设定之前,生产环境保持「审核中」。条款设定后显示在「商户控制台 → 概览」,你不能修改。
- 在「商户控制台 → 接入」的「生产」标签页配置:钱包 URL、币种、小数位、最大批量、最大并发请求,然后点击「生成密钥」。
- 生成一把单独的生产签名密钥并部署到你的钱包。
- 启用你要上线的游戏,并为生产环境设置目标利润率(1%–10%)。
- 为预付余额充值(「商户控制台 → 充值」);充值由人工确认。消耗、服务费和余额流水在「商户控制台 → 账单」查看。
- 把 App 的入口地址从
sandbox.sentosatower.com改为games.sentosatower.com(op的值不变)。 - 在生产环境把每款已启用的游戏各打开一次,检查你流水中的第一批交易。
- 为钱包接口配置监控:延迟、4xx/5xx 比例、
retry与insufficient_funds占比。
- 你以美元预付。玩家金币始终留在你自己的钱包里。
- 按新加坡自然日(Asia/Singapore,UTC+8)逐日计费,在新加坡时间午夜后不久出账。
- 某日的消耗金币 = 全部金币游戏的投注合计 − 派彩合计(棋盘游戏免费),可能为负数。
- 当日费用 = 消耗金币按你的金币汇率换算成美元,再乘以你的分成比例。费用为负时退回到你的余额。
- 沙盒从不计费。
- 余额降到 0 或以下时开始 3 天宽限期。宽限期结束仍未转正,生产环境会被暂停:拒绝新的游戏会话(
operator_suspended),进行中的对局照常结算。经确认的充值使余额转正后,生产环境自动恢复。余额低于约一周平均费用时,我们会发邮件提醒。