Debit
/debit
The Debit API enables the HPGames platform to withdraw money from the player’s wallet through the merchant’s site. This financial transaction will be done when bet is placed. The following sequence diagram describes the communication that takes place between HPGames and the merchant for any standard debit or credit call.
Each transaction endpoint (debit, credit, bulkCredit, cancelDebit,
bulkCancelDebit) should have idempotency check and return success response if
transaction is already performed with information about transaction.

Debit Request
| Parameter Name | Data Type | Description | Required/Optional |
|---|---|---|---|
| merchantId | String | Merchant ID | Required |
| timestamp | long | Time representation in UNIX milliseconds format. | Required |
| betId | UUID | Unique HPGames bet id | Required |
| transactionId | UUID | Unique HPGames transaction Id | Required |
| amount | decimal | Amount to withdraw from user wallet | Required |
| currency | String | The currency of bet amount, Currency code (ISO 4217) | Required |
| created | DateTime | Bet creation datetime (ISO format in UTC timezone with 6 digits of precision) | Required |
| gameId | int | Unique HPGames game id | Required |
| type | Enum | Request type [REGULAR, REWARD, JACKPOT] | Required |
| authToken | String | Game session id | Required |
| hash | String | String to Encode: merchantId + betId + amount + transactionId + timestamp HMAC SHA256 Code Snippet | Required |
| rewardId | UUID | Reward Id assigned to player | Optional |
| rewardType | String | Reward type. Values : [FREE_BET] | Optional |
| playerId | String | Merchant’s unique identification for each player | Required |
Request example:
{
"merchantId": "21385394-6dda-4171-a003-02fa4a975643",
"timestamp": 1643727556,
"betId": "2185a9a1-1497-41bd-937d-cbce3fae8961",
"transactionId": "1185a9a1-1497-41bd-937d-cbce3fae8961",
"amount": 10,
"currency": "EUR",
"created": "2022-08-30T21:00:00.000000000Z",
"gameId": 200100,
"authToken": "b5e10b6b-4d88-475c-9496-a461052a8448",
"hash": "a5e5f7ba47e4cf7f140e75b548e15d81",
"rewardId": "b5e10b6b-4d88-475c-9496-a461052a8448",
"type": "REWARD",
"rewardType": "FREE_BET",
"playerId": "d02b5979-6d2a-4830-80e2-bf3fa608a2f2"
}
Debit Response
| Parameter Name | Data Type | Description | Required/Optional |
|---|---|---|---|
| errorCode | int | Error code, default 0 | Optional |
| errorText | String | Error message | Optional |
| balance | decimal | Player’s wallet balance | Required |
| currency | String | The currency of player’s balance, Currency code (ISO 4217) | Required |
| accountTransactionId | String | Merchant’s transaction id | Required |
| transactionId | UUID | Unique HPGames transaction Id | Required. Should be returned in both success and error cases. |
Response example:
{
"errorCode": 0,
"errorText": "",
"balance": 990.5,
"currency": "EUR",
"accountTransactionId": "0bd7bb93-68f2-4fb0-864d-7156a768922d",
"transactionId": "1185a9a1-1497-41bd-937d-cbce3fae8961"
}