跳至主要内容

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遊戲代碼,由VP提供
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 階段