扣款
描述
- 当玩家下注时请求此接口。
- 确认玩家的余额是否足够,扣除金额,并返回玩家的剩余余额。
- 如果由于网络或其他因素未收到运营商的响应,则取消玩家的下注。
- 请确保扣款接口实现事务性,以保证账户扣款操作的原子性,避免出现部分成功的情况。
- 必须实现接口的幂等性,使用 biz_id 作为幂等键,对于重复的请求需返回之前的处理结果。
请求方式
| Item | Name | Sample |
|---|---|---|
| Path | Path | <MerchantHost>/debit Like: http://www.game.com/debit |
| Request Method | Post |
请求参数
| Name | Type | Required | Description |
|---|---|---|---|
| Sign Params | Y | Api 接入规范 | |
| biz_id | string | Y | 订单流水号,全局唯一,用于保证接口幂等性。 |
| round_id | string | Y | 游戏当局 Id |
| game_id | int | N | 游戏 Id |
| game_code | string | Y | 游戏索引 用于获取游戏数据 |
| user_id | string | Y | 用户唯一标识 |
| currency | string | Y | 币种 |
| amount | string | Y | 金额 |
| reason | string | Y | 扣款描述 |
| game_name | string | Y | 游戏名称 |
返回参数
| Name | Type | Required | Description |
|---|---|---|---|
| code | int | Y | |
| msg | string | Y | 对应 code 的错误描述 |
| data | object | Y | Body |
| data.balance | object | Y | 余额对象 |
| balance.user_id | string | Y | 用户唯一标识 |
| balance.currency | string | Y | 币种 |
| balance.amount | string | Y | 金额 |
请求示例
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"
}
}
}