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
}
| Parameter | Type | Required | Description |
|---|---|---|---|
| action | string | Yes | Fixed as "retryBet" |
| uid | string | Yes | Player Account |
| roundId | string | Yes | Game round number, used to identify a specific Game round |
| transferId | string | Yes | Unique Identifier for transaction (to be removed) |
| betId | string | Yes | Bet ID, unique for VP |
| brand | string | Yes | Brand code, fixed as VP |
| currency | string | Yes | Currency code |
| gameCode | string | Yes | Game Code |
| betTime | string | Yes | Bet time |
| txTime | string | Yes | Settlement time |
| gameInfo | string | Yes | JSON string of Game related information |
| actualBetAmt | number | Yes | Actual Bet Amount |
| validBetAmt | number | Yes | Valid Bet Amount (for turnover calculation) |
| winAmt | number | Yes | Win amount, can be 0 or positive |
| jackpotWin | number | Yes | Jackpot win amount |
| jackpotContribute | number | Yes | Jackpot contribution amount, default is 0 |
| betSourceId | number | Yes | Transaction source code |
| featureMode | number | Yes | Feature Mode |
Response Format
Success Response
{
"status": "0000",
"errText": "",
"balance": 16.00,
"responseTime": "2025-11-11T01:23:38.271Z"
}
| Field | Type | Description |
|---|---|---|
| status | string | Status Code, see Status Code Description below |
| errText | string | Error message, empty string on Success |
| balance | number | Player Balance after operation |
| responseTime | string | Response time |
Response Status and Transaction Results
| Code | Determination | Trigger Retry | Bet Status |
|---|---|---|---|
| 0000 | Success | No | Confirmed |
| 2001 | Success | No | Confirmed |
| 9999 | Failure | Yes | Pending retry |
| Timeout | Failure | Yes | Pending retry |
Important Notes
- Trigger Condition: When item and Operator Card transaction responses timeout or error, this API will be called to retry.
- Transaction Source: Transaction source codes can be found in the Appendix.
- Retry Strategy: If Success is not received, retries will continue.
- Retry Frequency: Retries once every half hour, 5 times per retry, with exponential backoff 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.
- Idempotency: Must ensure that the same roundId + betId combination only processes the transaction once.
- Balance Consistency: Ensure that retries do not lead to duplicate deductions or additions to Balance.
- Parameter Adjustment: transferId will be removed and replaced by betId.
- Jackpot Parameters: jackpotWin is currently only used by FISH Game VP_400001_1, not by SLOT Games, value is fixed at 0; jackpotContribute is a reserved Field, current default is 0.