Skip to main content

RetryBet - Bet Retry

When item and Operator Card bet operations timeout or fail due to network issues or system exceptions, VP will call this API until the operator responds with transaction success

Request Parameters

Request Before Decryption

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

For encryption details, refer to Operator API Implementation Guide

Request After 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 value "retryBet"
uidstringYesPlayer Account
roundIdstringYesGame round number, used to identify a specific game round
transferIdstringYesTransaction Unique Identifier (planned for removal)
betIdstringYesBet ID, a unique value assigned by VP
brandstringYesBrand code, fixed value VP
currencystringYesCurrency code
gameCodestringYesGame Code
betTimestringYesBet time
txTimestringYesSettlement time
gameInfostringYesJSON string containing game-related information
actualBetAmtnumberYesActual Bet Amount
validBetAmtnumberYesValid bet amount (used for turnover calculation)
winAmtnumberYesAmount won, can be 0 or a positive number
jackpotWinnumberYesJackpot amount won, 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 the status code description below
errTextstringError message, empty string when successful
balancenumberPlayer's Balance after the operation
responseTimestringResponse time

Response Status and Transaction Result

CodeResultWhether It Triggers a RetryBet Slip Status
0000SuccessNoValid
2001SuccessNoValid
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: Refer to the Appendix for transaction source codes
  3. Retry Strategy: Retries will continue until a success response is received
    • Retry Frequency: Retries once every half hour, 5 retries per attempt, using an exponential backoff policy between each retry (1s, 3s, 5s, 7s, 9s)
    • Retry Duration: Up to 7 days; if no success response is received within 7 days, retries will stop
  4. Idempotency: The same roundId + betId combination must be processed only once
  5. Balance Consistency: Ensure that retries do not result in duplicate deductions or credits
  6. Parameter Adjustment: transferId will be removed and replaced by betId
  7. Jackpot Parameters: There is currently no jackpot feature; the related parameters are reserved fields, currently all defaulting to 0