Credit and Debit
Reference guide and implementation details for credit and debit.
Updates the wallet during play. debit subtracts; credit adds.
| Item | Details |
|---|---|
| When | During a round |
| debit | Subtract amount. If they cannot cover it → error: 1 + current balance |
| credit | Add amount. May arrive without a prior debit |
| HTTP | Always 200. Errors only in JSON |
| Balance | Integer cents ($2.50 → 250) |
| Free spins | type: bonus_fs — do not deduct cash |
| Rollback | rb: 1 — process like a normal debit/credit |
call_id is the unique transaction id. Keep it as your reference.
Important Always HTTP 200. Communicate success and failure only in the JSON body.
Behaviour
- Handle debit and credit independently
- Link a credit to the most recent debit for the same
username,game_id, andcurrencyif you need to pair them - Some providers mint a new
round_idper action; that can also changegameplay_final - Rollbacks include the original
round_idand can be debit or credit
Requests
All callbacks are GET to your configured callback URL.
Spin
{
"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
{
"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
Sent while playing spins from addFreeRounds. Do not deduct cash on debit 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
}
}
Try this in Callback Lab as bonus free spin.
Responses
Successful
Debit taken or credit applied. Return the new wallet.
{
"error": 0,
"balance": 250
}
On bonus_fs debit: do not deduct cash; still return the current cash balance with error: 0.
Insufficient balance
Player cannot cover a debit. Do not change the wallet.
{
"error": 1,
"balance": 250
}
Do not use error: 1 on credit.
Processing error
Unknown player, stale timestamp, or bad key.
{
"error": 2,
"balance": 0
}