Skip to main content

BetNSettle - Bet and Settle

Execute bet and settlement operations, this is the core API of the game.

Request Parameters

Request Before Decryption

{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
info

For encryption Description, please refer to Operator API Implementation Guide

Request After Decryption

{
"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,\"deviceType\":0}",
"actualBetAmt": 0,
"validBetAmt": 0,
"winAmt": 1.3,
"jackpotWin": 0,
"jackpotContribute": 0,
"betSourceId": 1,
"featureMode": 1
}
ParameterTypeRequiredDescription
actionstringYesFixed as "betNSettle"
uidstringYesPlayer Account
roundIdstringYesGames round number
transferIdstringYesTransaction Unique Identifier (scheduled for removal)
betIdstringYesBet ID, unique for VP
brandstringYesBrand code, fixed as VP
currencystringYesCurrency code
gameCodestringYesGame Code
betTimestringYesBet time
txTimestringYesSettlement time
gameInfostringYesJSON string of Games related information
actualBetAmtnumberYesActual Bet Amount
validBetAmtnumberYesValid bet amount
winAmtnumberYesWin amount, can be 0 or positive
jackpotWinnumberYesJackpot win amount
jackpotContributenumberYesJackpot contribution amount, default is 0
betSourceIdnumberYesTransaction source code
featureModenumberYesFeature Mode

Response Format

info

The response is plaintext JSON, no encryption required.

Success Response

{
"status": "0000",
"errText": "",
"balance": 12345.67,
"responseTime": "2024-12-11T01:23:38.271Z"
}
FieldTypeDescription
statusstringStatus Code, see Status Code Description below
errTextstringError message, empty string on Success
balancenumberPlayer Balance after transaction
responseTimestringResponse time

Response Status and Transaction Result

StatusBet Status DeterminationTrigger RetryBet Status
0000SuccessNoEstablished
9999FailedYesCanceled
1006FailedNoCanceled
2001SuccessNoEstablished
2002FailedNoCanceled
TimeoutFailedYesCanceled

Important Notes

  1. Atomic operation: BetNSettle is an atomic operation, it will either be all Success or all failed
  2. Balance calculation: afterBalance = beforeBalance - actualBetAmt + winAmt
  3. betId uniqueness: The betId for each Games round is unique
  4. Retry strategy: If no Success is received, it will continuously retry
    • Retry frequency: Retries 5 times, each retry uses an exponential backoff policy (1s, 3s, 5s, 7s, 9s)
      • If all above retries fail, normal transactions enter the rollback phase
      • If all above retries fail, Item, Operator Card transactions enter the retryBet phase
  5. Parameter adjustment: transferId will be removed and replaced by betId
  6. Jackpot parameters: jackpotWin is a reserved Field, current value is fixed at 0; jackpotContribute is a reserved Field, current default is 0