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 StatusPayout StatusNote
FailNo Payout Request will be sent.- Bet still saved in our system with status PLACEBET_OPERATOR_ERROR
- Player can continue spinning
Operator return invalid response dataNo 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
SuccessFail/Timeout- Bet still saved in our system with status PAYOUT_OPERATOR_ERROR.
-> Log seamless reconciliation for retrying ( type PAYOUT )
-> Player can continue spinning
SuccessOperator return invalid response data-> Save bet with status PAYOUT_CHECK_FAIL
-> Log seamless reconciliation for retrying ( type PAYOUT )
-> Player can continue spinning
SuccessSuccess- 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 statusCancel Bet statusNote
Place bet timeout -> Save bet with status PENDING_CANCELED SuccessSave bet with status CANCELED
-> Player can continue spin (Unlock current user)
Place bet timeout -> Save bet with status PENDING_CANCELED FailLog 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)

https://docs.nagagames.com/reference/cancel-bet

SPIN FLOW DIAGRAM