如今几乎每一家娱乐场游戏聚合商都通过单一钱包与运营商对接。这个模式说起来简单,做起来却很容易在细节上出错。本指南拆解一局游戏中到底发生了什么,以及真金白银流动之前该测哪些场景。
基本原理
账本归运营商所有。玩家余额从不转移到聚合商或游戏工作室那里。聚合商要做的,是向运营商的钱包询问余额、通知它扣除投注、通知它派发奖金。运营商对每次调用要么返回新余额,要么返回错误。
一局游戏,逐步拆解
- 启动。 运营商为某位玩家、某个币种和某款游戏向聚合商请求游戏链接,聚合商返回链接,运营商为玩家加载。
- 查余额。 游戏请求余额,聚合商调用运营商的余额接口。
- 扣款。 玩家转动转轴。聚合商带着交易 ID、局 ID 和金额调用运营商的扣款接口。运营商检查资金、记账,并返回新余额。
- 派彩。 这一局结算完毕。聚合商带着同一个局 ID 调用派彩接口,金额可能为零。
- 必要时回滚。 如果扣款已记账但游戏局失败,聚合商会针对原交易发送回滚。
避免余额纠纷的五条规则
- 每次调用都要幂等。 重复的交易 ID 必须返回原先的结果,绝不能二次记账。
- 只回滚存在的交易。 对未知交易的回滚请求,应确认收到但不动资金。
- 回滚之后的派彩。 一局已经回滚,又收到派彩,该怎么处理,要事先定好并写进文档。
- 超时。 约定聚合商等待多久、重试几次。钱包响应慢,就会引来重复调用。
- 币种精度。 约定金额以整单位还是最小单位传输,小数位多的加密货币尤其要说清楚。
上线前的测试
在沙盒里把每个场景都跑一遍:余额不足、重复扣款、重复派彩、扣款后回滚、回滚未知交易、回滚后派彩,以及钱包超时。每个请求和响应都连同交易 ID 记入日志,这样客服几分钟内就能追溯一局有争议的游戏。
单一钱包还是转账钱包?
转账钱包把资金转入会话再转回来。它能简化部分供应商的对接,却让余额分散在多个系统里。单一钱包只保留一个真实来源,这也是大多数运营商偏爱它的原因。Hub88 是少数同时提供两种模式文档的聚合商之一。
常见问题
什么是单一钱包?
一种对接模式:玩家的资金始终留在运营商的系统里。每一次查余额、下注和派彩,都由聚合商或游戏服务器回调运营商完成。
单一钱包和转账钱包有什么区别?
转账钱包会把资金转入游戏供应商的会话,结束时再转出。单一钱包模式下,资金从不离开运营商的账本。
钱包API中的幂等性是什么意思?
即同一个请求处理两次,效果与处理一次完全相同。每笔扣款和派彩都带唯一的交易 ID,这样重试的调用就不会被记两次账。
如果扣款成功了,游戏局却失败了,会怎样?
聚合商会针对原交易发送一条回滚请求(有时叫 refund 或 cancel),运营商把投注额退还给玩家。
哪些游戏聚合商使用单一钱包?
大多数都用。SoftAggregator、SoftGamings 和 Hub88 公开说明了这一点;Hub88 还提供 TransferWallet 转账钱包选项。