Skip to main content

RetryBet - Bet Retry

When Items and Operator Cards Bet operations time out or fail due to network issues or system anomalies, VP will call this API to retry the Bet, ensuring transaction consistency.

Request Parameters

Request Before Decryption

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

For Encryption Description, please refer to [Operator API Implementation Description](./overview.md#1-Security Requirements)

Request Before Decryption

{
"action": "retryBet",
"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
}
ParameterTypeRequiredDescription
actionstringYesFixed as "retryBet"
uidstringYesPlayer Account
roundIdstringYesGame round number, used to identify a specific game round
transferIdstringYesTransaction Unique Identifier (planned for removal)
betIdstringYesBet ID, unique to VP
brandstringYesBrand code, fixed as VP
currencystringYesCurrency code
gameCodestringYesGame Code
betTimestringYesBet time
txTimestringYesSettlement time
gameInfostringYesJSON string of game-related information
actualBetAmtnumberYesActual Bet Amount
validBetAmtnumberYesValid Bet Amount (for turnover calculation)
winAmtnumberYesWin Amount, can be 0 or positive
jackpotWinnumberYesJackpot Win Amount, default is 0
jackpotContributenumberYesJackpot Contribution Amount, default is 0
betSourceIdnumberYesTransaction source code

Response Format

Success Response

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

Response Status and Transaction Result

CodeDeterminationTrigger Retry?Bet Status
0000SuccessNoEstablished
2001SuccessNoEstablished
9999FailedYesPending Retry
TimeoutFailedYesPending Retry

Important Notes

  1. Trigger Timing: When item and Operator Card transaction responses timeout or error, this API will be called to retry
  2. Transaction Source: For transaction source codes, refer to the Appendix
  3. Retry Policy: If Success is not received, retries will continue
    • Retry Frequency: Retries once every half hour, 5 retries each time, with an an exponential backoff policy between each retry (1s, 3s, 5s, 7s, 9s)
    • Retry Duration: Maximum 7 days, if no Success response is received within 7 days, retries will stop
  4. Idempotency: Must ensure that the same roundId + transferId combination processes the transaction only once
  5. Balance Consistency: Ensure that retries do not lead to duplicate deductions or additions
  6. Parameter Adjustment: transferId will be removed and replaced by betId
  7. Jackpot Parameters: Currently, there is no jackpot functionality, all related parameters are Reserved Fields, currently defaulting to 0