跳到主要内容

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
}
参数类型必填说明
actionstring固定为 "betNSettle"
uidstring玩家账号
roundIdstring游戏局号
transferIdstring交易唯一識别码(预计移除)
betIdstring投注ID,为VP唯一值
brandstring品牌代码,固定为VP
currencystring币别代码
gameCodestring游戏代码
betTimestring下注时间
txTimestring结算时间
gameInfostring游戏相关资讯的 JSON 字串
actualBetAmtnumber实际下注金额
validBetAmtnumber有效投注金额
winAmtnumber贏得金额,可为 0 或正数
jackpotWinnumber彩池贏得金额,预设为 0
jackpotContributenumber彩池貢獻金额,预设为 0
betSourceIdnumber交易来源代码

回应格式

信息

回应为明文 JSON,不需加密。

成功回应

{
"status": "0000",
"errText": "",
"balance": 12345.67,
"responseTime": "2024-12-11T01:23:38.271Z"
}
欄位类型说明
statusstring状态码,見下方状态码说明
errTextstring错误讯息,成功时为空字串
balancenumber交易后的玩家余额
responseTimestring回应时间

响应状态与交易结果

状态判断下注状态是否觸发重试注单状态
0000成功不会成立
9999失敗註销
1006失敗不会註销
2001成功不会成立
2002失敗不会註销
超时失敗註销

注意事项

  1. 原子性操作: BetNSettle 是原子性操作,仅会 全部成功 或是 全部失敗
  2. 余额计算: afterBalance = beforeBalance - actualBetAmt + winAmt
  3. transferId 唯一性: 每局游戏的 transferId 为唯一
  4. 重试策略: 未收到成功则会持续重试
    • 重试頻率: 重试 5 次,每次重试之间都会使用退比指数值政策重试,(1s, 3s, 5s, 7s, 9s)
    • 若上述重试皆失敗且非道具交易,则进入 rollback 階段
  5. 参数调整:transferId 将移除并由 betId 取代
  6. Jackpot参数: 目前无 jackpot 功能,相关参数皆为保留欄位,当前预设皆为 0