Skip to content

扣款

描述

  • 当玩家下注时请求此接口。
  • 确认玩家的余额是否足够,扣除金额,并返回玩家的剩余余额。
  • 如果由于网络或其他因素未收到运营商的响应,则取消玩家的下注。
  • 请确保扣款接口实现事务性,以保证账户扣款操作的原子性,避免出现部分成功的情况。
  • 必须实现接口的幂等性,使用 biz_id 作为幂等键,对于重复的请求需返回之前的处理结果。

请求方式

ItemNameSample
PathPath<MerchantHost>/debit
Like: http://www.game.com/debit
Request MethodPost

请求参数

NameTypeRequiredDescription
Sign ParamsYApi 接入规范
biz_idstringY订单流水号,全局唯一,用于保证接口幂等性。
round_idstringY游戏当局 Id
game_idintN游戏 Id
game_codestringY游戏索引 用于获取游戏数据
user_idstringY用户唯一标识
currencystringY币种
amountstringY金额
reasonstringY扣款描述
game_namestringY游戏名称

返回参数

NameTypeRequiredDescription
codeintY
msgstringY对应 code 的错误描述
dataobjectYBody
data.balanceobjectY余额对象
balance.user_idstringY用户唯一标识
balance.currencystringY币种
balance.amountstringY金额

请求示例

Http Request
    Post Method
    URL : <MerchantHost>/debit?mid=1697028447&sign=7e0c05f463f4a4111202b948f20a10d77263d5bb347ff2f339e77ef32062556e&ts=1713768205
    {"biz_id":"1782299428894699520","round_id":"1782299428861145088","game_code":"gp_classic_4","user_id":"jUhNj+meQ16inuksiKj0zR88","currency":"PHP","amount":"12.52","reason":"","game_name":"scratch_match"}

Http Response(success)
    {
        "code": 0,
        "msg": "",
        "data": {
            "balance": {
                "amount": "23.12",
                "currency": "PHP",
                "user_id": "jUhNj+meQ16inuksiKj0zR88"
            }
        }
    }