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 Description, please 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,\"deviceType\":0}",
"actualBetAmt": 0,
"validBetAmt": 0,
"winAmt": 1.3,
"jackpotWin": 0,
"jackpotContribute": 0,
"betSourceId": 1,
"featureMode": 1
}
ParameterTypeRequiredDescription
actionstringYesFixed as "retryBet"
uidstringYesPlayer Account
roundIdstringYesGame round number, used to identify a specific Game round
transferIdstringYesTransaction Unique Identifier (scheduled 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 (used for turnover calculation)
winAmtnumberYesWin Amount, can be 0 or positive
jackpotWinnumberYesJackpot Win Amount
jackpotContributenumberYesJackpot Contribution Amount, default is 0
betSourceIdnumberYesTransaction source code
featureModenumberYesFeature Mode

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​

CodeJudgmentYesNo Trigger RetryBet Status
0000SuccessNoConfirmed
2001SuccessNoConfirmed
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: Transaction source code can be found in the Appendix
  3. Retry policy: If Success is not received, retries will continue
    • Retry frequency: Retries once every half an hour, with 5 retries each time, using an exponential backoff policy between retries (1s, 3s, 5s, 7s, 9s)
    • Retry duration: A maximum of 7 days; if no Success response is received within 7 days, retries will stop
  4. Idempotency: Must ensure that the same roundId + betId combination only processes one transaction
  5. Balance consistency: Ensure retries do not lead to duplicate deductions or additions
  6. Parameter adjustment: transferId will be removed and replaced by betId
  7. Jackpot parameters: jackpotWin is currently only used by FISH Games VP_400001_1; SLOT Games do not use it, and the value is fixed at 0; jackpotContribute is a reserved Field, currently defaulting to 0