RetryBet - RetryBet
When item or Operator Card betting operations fail or time out due to network issues or system exceptions, the VP platform will invoke this API to retry the bet, ensuring transaction consistency.
Request Parameters
Request Body Before Decryption
{
"cipherText": "G0ZMDELeJwx+7JcIfIFOLJjkSzANPu6krGM2uw==..."
}
info
For the decryption algorithm, please refer to the Operator API Implementation Description
Request Body Before Decryption
{
"action": "retryBet",
"uid": "testaccount01",
"roundId": "testroundId001",
"transferId": "testroundId001",
"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,
"betType": 2,
"betSourceId": 1
}
| 參數 | Type | Required | Description |
|---|---|---|---|
| action | string | Yes | Fixed to"retryBet" |
| uid | string | Yes | Player Account |
| roundId | string | Yes | Game round id |
| transferId | string | Yes | Unique Transaction Identifier |
| brand | string | Yes | Game Brand |
| currency | string | Yes | Currency |
| gameCode | string | Yes | Game Code |
| betTime | string | Yes | Bet Time |
| txTime | string | Yes | Settle Time |
| gameInfo | string | Yes | Additional information |
| actualBetAmt | number | Yes | Actual bet amount |
| validBetAmt | number | Yes | Valid bet amount |
| winAmt | number | Yes | Return amount |
| jackpotWin | number | Yes | Jackpot amount |
| jackpotContribute | number | Yes | Jackpot contribution value |
| betSourceId | number | Yes | Source of the transaction |
Response Format
info
The response is returned as plaintext JSON and does not require encryption.
Success response
{
"status": "0000",
"errText": "",
"balance": 16.00,
"responseTime": "2025-11-11T01:23:38.271Z"
}
| Field | Type | Description |
|---|---|---|
| status | string | Transaction status |
| errText | string | Error message; empty string on success |
| balance | number | Current available balance |
| responseTime | string | Response time |
Transaction status and Transaction Results
| Status | Determine Transaction Status | Trigger Retry | Transaction Valid |
|---|---|---|---|
| 0000 | Success | No | Yes |
| 2001 | Success | No | Yes |
| 9999 | Failed | Yes | No |
| Time Out | Failed | Yes | No |
Important Notes
- Trigger Condition: When the transaction response between in-game items and the platform wallet times out or encounters an error, this API will be called to retry the transaction.
- Transaction Source: Transaction source codes can be referenced in the appendix.
- Retry Strategy: If a successful response is not received, retries will continue.
- Retry Frequency: Retries occur every 30 minutes. Each retry consists of 5 attempts, using an exponential backoff policy between attempts (1s, 3s, 5s, 7s, 9s).
- Retry Duration: Retries will continue for up to 7 days. If no successful response is received within 7 days, retries will stop.
- Idempotency: Ensure that the same combination of
roundId + transferIdis processed only once. - Balance Consistency: Ensure that retries do not result in duplicate debits or credits.