Reconciliation
Read Me First!
Upon receiving PlaceBet/PayOut request from Naga Games, Operators need to check the attached Bet ID. If the bet of a similar Bet ID has already been processed, simply return its result without executing these requests.
Describe Reconciliation Flow
1. Place Bet failed (Operator throw Error )
No payout request will be sent to Operator. The bet will be saved in our system with status PLACEBET_OPERATOR_ERROR
=> Player can continue spinning.
2. Invalid Placebet Response (Invalid Response or No-Response)
-> Save bet with status PLACEBET_CHECK_FAIL -> Lock current player
=> Player can't continue spinning
3. Place Bet timeout
Save Bet in our system with status PENDING_CANCELED -> Call API Cancel Bet
If the operator doesn't have cancelBetURL -> Log seamless reconciliation for retrying ( type CANCEL_BET ) -> Player can spin continue. Otherwise:
- If cancel bet successfully, the bet will be saved with status CANCELED
=> Player can continue spinning - If fail to cancel bet, log seamless reconciliation for retrying ( type CANCEL_BET ) -> Lock current player -=> Player can't continue spin until successfully retry CANCEL_BET( Seamless reconciliation)
4. Payout failed or timeout (Operator throw Error ):
The bet will be saved in our system with status PAYOUT_OPERATOR_ERROR ➝ Log seamless reconciliation for retrying ( type PAYOUT )
=> Player can continue spinning
5. Invalid Payout Response (Invalid Response or No-Response)
-> Save bet with status PAYOUT_CHECK_FAIL -> Log seamless reconciliation for retrying ( type PAYOUT )
=> Player can continue spin
6. Place Bet success + Payout success
Save Bet in our system with status RESOLVED
=> Player can continue spinning
Place Bet Status | Payout Status | Note |
---|---|---|
Fail | No Payout Request will be sent. | - Bet still saved in our system with status PLACEBET_OPERATOR_ERROR - Player can continue spinning |
Operator return invalid response data | No Payout Request will be sent. | - Save bet with status PLACEBET_CHECK_FAIL -> Lock current player -> Player can't continue spinning |
Timeout PLEASE CHECK THE TABLE BELOW | ||
Success | Fail/Timeout | - Bet still saved in our system with status PAYOUT_OPERATOR_ERROR. -> Log seamless reconciliation for retrying ( type PAYOUT ) -> Player can continue spinning |
Success | Operator return invalid response data | -> Save bet with status PAYOUT_CHECK_FAIL -> Log seamless reconciliation for retrying ( type PAYOUT ) -> Player can continue spinning |
Success | Success | - Bet status set to RESOLVED - Player can continue spinning |
API to GetBetStatus (optional)
Operators need to implement an API for Naga Games to get bet status. We will use this API to check the bet status before sending retry requests. This API is required!
https://docs.nagagames.com/reference/get-bet-status
API to CancelBet (required)
Operators need to implement an API for Naga Games to get cancel bet. We will use this API to cancel the bet after Placebet timeout. This API is required!
If the operator doesn't have cancelBetURL -> Log seamless reconciliation for retrying ( type CANCEL_BET ) -> Player can spin continue.
Placebet status | Cancel Bet status | Note |
---|---|---|
Place bet timeout -> Save bet with status PENDING_CANCELED | Success | Save bet with status CANCELED -> Player can continue spin (Unlock current user) |
Place bet timeout -> Save bet with status PENDING_CANCELED | Fail | Log seamless reconciliation for retrying ( type CANCEL_BET ) -> Lock current player -> Player can't continue spin until Retry CANCEL_BET success (Seamless reconciliation type CANCEL_BET) |
Updated almost 2 years ago