转账钱包

转账钱包模式概述与接口一览

转账钱包 ​

在转账钱包(TRANSFER)模式下,玩家在游戏中使用的余额记在平台账本里。商户先把资金转入平台,玩家才能下注;玩家离开游戏后,商户再把余额转出。平台不会回调商户的钱包来扣款或加款。

接口一览 ​

方向接口说明
商户 → 平台POST /v1/players创建或取得玩家
商户 → 平台POST /v1/transfers转入或转出
商户 → 平台GET /v1/transactions查询交易状态(按 transaction_id 或 external_id)
商户 → 平台GET /v1/wallets查询玩家钱包余额
商户 → 平台POST /v1/launches请求进入游戏
平台 → 商户POST /v1/round-events对局结束通知(可选)

典型流程 ​

  1. 调用 GET /v1/capabilities,确认 wallet_mode=TRANSFER,并记下各币种的 decimal_scale。
  2. 创建或取得玩家,保存返回的 player_id。
  3. 用商户订单号作为 external_id,转入资金。
  4. 转入结果为 SUCCEEDED 后,请求进入游戏。
  5. 玩家离开后,查询钱包余额并转出。
  6. 需要对账时,读取注单记录和交易状态。

完整时序图见流程图。

商户须遵守 ​

结果不明时只能查单

转入或转出超时、连接断开、返回 5xx 或 status=UNKNOWN 时,资金可能已经变化。请用原 external_id 查单,或用同一个 external_id 原样重发。不要换新的 external_id 重做。

  • external_id 在商户下永久唯一,一个商户订单只对应一个 external_id。
  • 金额是十进制字符串,小数位数不能超过币种的 decimal_scale。平台不会自动舍入,超出时返回 422 VALIDATION_FAILED。
  • 不要用余额的前后差值判断某次转账是否成功,要以交易的 status 为准。

最后更新于 13小时前