跳到主要内容

BetNSettle - 下注并结算

执行下注和结算操作,这是游戏的核心 API。

请求参数

解密前 Request

{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
信息

加密说明请参考 营运商 API 实作说明

解密后 Request

{
action: 'betNSettle',
uid: 'VPSysDevTest001',
roundId: '7634846433511800000',
transferId: '7634846433511800000',
brand: 'VP',
currency: 'THB',
gameCode: 'VP_230001_1',
betTime: '2025-11-18T16:50:43.881Z',
txTime: '2025-11-18T16:50:43.881Z',
gameInfo: '{"featureBuy":0,"spinID":"[\\"7634846433511800000\\"]","cardType":0,"isFeatureGame":"","deviceType":0}',
actualBetAmt: 0.5,
validBetAmt: 0.5,
winAmt: 0,
jackpotWin: 0,
jackpotContribute: 0,
betType: 0,
betSourceId: 1
}
参数类型必填说明
actionstring固定为 "betNSettle"
uidstring会员账号
roundIdstring游戏局号
transferIdstring交易唯一識别码
brandstring品牌代码
currencystring币别代码
gameCodestring游戏代码,由游戏商提供
betTimestring下注时间
txTimestring交易时间
gameInfostring游戏相关资讯的 JSON 字串
actualBetAmtnumber实际下注金额
validBetAmtnumber有效投注金额
winAmtnumber贏得金额,可为 0 或正数
jackpotWinnumber彩池贏得金额
jackpotContributenumber彩池貢獻金额
betTypenumber投注类型代码
betSourceIdnumber交易来源代码

回应格式

信息

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

成功回应

{
status: '0000',
errText: '',
balance: 1016.00,
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 階段