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 statusPENDING_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)

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

SPIN FLOW DIAGRAM