Callback Action: debit / credit
The debit and credit callbacks are used to update a player’s balance based on gameplay actions.
debit→ subtract theamountfrom the player balancecredit→ add theamountto the player balance
If the player does not have sufficient funds during a debit action, return the insufficient balance response (error: 1) with the current player's balance.
The call_id is a unique transaction identifier and should be treated as the reference ID for the callback.
⚠️ Important
- Your callback endpoint must always return HTTP status code
200 - Errors must be communicated only via the JSON response body
Key Behavior Rules
- Handle
debitandcreditactions independently - A
creditcallback may arrive without a priordebit(e.g. rollback or refund scenarios) - If you need to associate a
creditwith a previous round, link it to the most recent debit for the sameusername,game_id, andcurrency - Some providers may generate a new
round_idfor each action; this can also affectgameplay_final
Rollbacks
Rollback actions are marked with rb: 1.
- Rollbacks can be either
debitorcredit - The original
round_idis included - Process rollback callbacks the same way as regular debit/credit actions
Requests
All callbacks are sent as GET requests to your configured callback URL.
Spin Callback
{
"amount": 100,
"username": "yourPlayerId9959",
"currency": "USD",
"action": "debit",
"gameplay_final": 0,
"type": "spin",
"round_id": "312875958396",
"game_id": "onlyplay/LigaFortunaMegaways",
"call_id": "f51fce58-2e0e-461b-8a0c-87ecba0600c2",
"timestamp": "1696463565",
"rb": 0,
"key": "4e54de0b17adf322365c0540bd7db57a"
}Rollback Spin Callback
{
"amount": 100,
"username": "yourPlayerId9959",
"currency": "USD",
"action": "credit",
"gameplay_final": 0,
"type": "spin",
"round_id": "312875958396",
"game_id": "onlyplay/LigaFortunaMegaways",
"call_id": "87ecba0600c2-2e0e-461b-8a0c-8a0c2ds",
"timestamp": "1696463565",
"rb": 1,
"key": "ed3a34c119wec67fb8e37691b5885f0"
}Free Round Spin Callback
This callback is sent when a player is playing free spins awarded via
addFreeRounds.
Do not deduct the player’s balance on debit callbacks when type is bonus_fs.
{
"amount": 25,
"currency": "CAD",
"action": "debit",
"gameplay_final": 0,
"type": "bonus_fs",
"round_id": "1074911949",
"game_id": "platipus/luckycat",
"username": "wmlmhohuhfs",
"call_id": "6ce7154b-be61-4bab-b5a6-642488064c41",
"operator_id": 24,
"timestamp": "1696463565",
"rb": 0,
"key": "ed3a34c119wec67fb8e37691b5885f0",
"freespins": {
"id": 7,
"total": 20,
"performed": 3
}
}Responses
The balance must always be returned as an integer in cents.
Example:
$2.50→250
All responses must return HTTP status code 200.
Successful Response
{
"error": 0,
"balance": 250
}Insufficient Balance
{
"error": 1,
"balance": 250
}Processing Error
(e.g. player not found or invalid signature)
{
"error": 2,
"balance": 0
}