BetNSettle - 下注并结算
执行下注和结算操作,这是游戏的核心 API。
请求参数
解密前 Request
{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
信息
加密说明请参考 平台端 API 实作说明
解密后 Request
{
"action": "betNSettle",
"uid": "testaccount01",
"roundId": "testroundId001",
"transferId": "testroundId001",
"betId": "7634846433511800000",
"brand": "VP",
"currency": "THB",
"gameCode": "VP_230001_1",
"betTime": "2025-11-17T16:01:13.155Z",
"txTime": "2025-11-17T16:01:13.155Z",
"gameInfo": "{\"featureBuy\":0,\"spinID\":[\"7634278403511200000\",\"7634278403512200000\",\"7634278403513700000\"],\"cardType\":1,\"isFeatureGame\":\"\",\"deviceType\":0}",
"actualBetAmt": 0,
"validBetAmt": 0,
"winAmt": 1.3,
"jackpotWin": 0,
"jackpotContribute": 0,
"betSourceId": 1
}
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| action | string | 是 | 固定为 "betNSettle" |
| uid | string | 是 | 玩家账号 |
| roundId | string | 是 | 游戏局号 |
| transferId | string | 是 | 交易唯一識别码(预计移除) |
| betId | string | 是 | 投注ID,为VP唯一值 |
| brand | string | 是 | 品牌代码,固定为VP |
| currency | string | 是 | 币别代码 |
| gameCode | string | 是 | 游戏代码 |
| betTime | string | 是 | 下注时间 |
| txTime | string | 是 | 结算时间 |
| gameInfo | string | 是 | 游戏相关资讯的 JSON 字串 |
| actualBetAmt | number | 是 | 实际下注金额 |
| validBetAmt | number | 是 | 有效投注金额 |
| winAmt | number | 是 | 贏得金额,可为 0 或正数 |
| jackpotWin | number | 是 | 彩池贏得金额,预设为 0 |
| jackpotContribute | number | 是 | 彩池貢獻金额,预设为 0 |
| betSourceId | number | 是 | 交易来源代码 |
回应格式
信息
回应为明文 JSON,不需加密。
成功回应
{
"status": "0000",
"errText": "",
"balance": 12345.67,
"responseTime": "2024-12-11T01:23:38.271Z"
}
| 欄位 | 类型 | 说明 |
|---|---|---|
| status | string | 状态码,見下方状态码说明 |
| errText | string | 错误讯息,成功时为空字串 |
| balance | number | 交易后的玩家余额 |
| responseTime | string | 回应时间 |
响应状态与交易结果
| 状态 | 判断下注状态 | 是否觸发重试 | 注单状态 |
|---|---|---|---|
| 0000 | 成功 | 不会 | 成立 |
| 9999 | 失敗 | 会 | 註销 |
| 1006 | 失敗 | 不会 | 註销 |
| 2001 | 成功 | 不会 | 成立 |
| 2002 | 失敗 | 不会 | 註销 |
| 超时 | 失敗 | 会 | 註销 |
注意事项
- 原子性操作: BetNSettle 是原子性操作,仅会 全部成功 或是 全部失敗
- 余额计算: afterBalance = beforeBalance - actualBetAmt + winAmt
- transferId 唯一性: 每局游戏的 transferId 为唯一
- 重试策略: 未收到成功则会持续重试
- 重试頻率: 重试 5 次,每次重试之间都会使用退比指数值政策重试,(1s, 3s, 5s, 7s, 9s)
- 若上述重试皆失敗且非道具交易,则进入 rollback 階段
- 参数调整:transferId 将移除并由 betId 取代
- Jackpot参数: 目前无 jackpot 功能,相关参数皆为保留欄位,当前预设皆为 0