Skip to main content

Money withdrawal request

A request to withdraw money from the user is executed when the player:

  • takes a seat at a table
  • pays for tournament participation
  • pays additional tournament fees (re-buy, add-on)

NOTE: Please use this tool to check your integration implementation for seamless wallet operations: https://tests.evenbetgaming.com/seamless/

Request header (HTTP Header)

Parameter NameDescriptionOptional / MandatoryData type
signRequest signatureMandatorystring

Request parameters

Parameter NameDescriptionOptional / MandatoryData type
methodGetCashMandatorystring
userIdUser identifierMandatorystring
amountAmount to withdraw/deposit in Cents Mandatoryinteger
currencyISO currency codeMandatorystring
transactionIdTransaction IDMandatorystring

Optional parameters

Parameter NameDescriptionData type
sessionIdSession external identifier or unique token of sessionstring
tableIdTable identifierstring
tournamentIdTournament identifierstring
transactionTypeServer transaction typestring
transactionSubTypeSub types for transactionstring
tableSessionIdTable session identifierstring
tournamentBuyInTournament Buy-In partinteger
tournamentEntryFeeTournament Entry Fee partinteger
tournamentBountyKnockoutTournament Bounty partinteger
tournamentSessionIdTournament Session ID. All requests, related to a tournament, contain this parameterstring
tableNameTable namestring
tournamentNameTournament namestring

Request validation

Upon receipt it is required to validate the request according to the following rules:

  • request parameters, marked as Mandatory, must be passed in the request. If the parameters are not passed, then the error “Invalid request params” is returned.
  • sign. Request signature should correspond to the parameters passed. If not, then the error “Invalid signature” must be returned.
  • userId must exist. If a player does not exist, then the error “Player not found” must be returned.
  • currency should have a valid ISO-code used in your system. If not, then the error “Invalid request params” must be returned.
  • amount must always be a positive integer or zero. If not, then the error “Invalid request params” must be returned.
  • if a transaction with passed transactionId has already been handled on your side, then it is required to return errorCode = 0 with the comment “Transaction already processed”. You should not process the transaction for the second time.
  • if a Player does not have enough funds for withdrawal, the error “Insufficient funds” must be returned.

If the error “Insufficient funds” or “Transaction already processed” occurs, it is required to return all parameters. If other errors occur, you should only return the parameters errorCode and errorDescription.

Response parameters

A response to request is expected to be made in JSON format. Response Parameters:

Parameter NameDescriptionOptional / MandatoryData type
balanceCurrent player’s balance in Cents (after the changes, if deposit/withdrawal is successfully completed) Mandatoryinteger
errorCodeError code if the request does not come through successfully, and 0 in any other case. Mandatoryinteger
errorDescriptionError description in case the request has not been successfully processed.Optionalstring

Resending the request

If a correct message with an error (errorCode) is received, the request is not going to be resent.

If one of the following events happens:

  • Timeout occurs when attempting to make a request
  • Server side error (4xx, 5xx)
  • Received response cannot be interpreted (a text message is received instead of JSON, no errorCode sent)

Then the request is going to be resent through a certain interval. The number of repetitions and intervals' length can be specified. By default, the request will be resent 1 time again 1 second after the error message is received.

Request example

{
"method": "GetCash",
"userId": 123456,
"amount": 15000,
"currency":"USD",
"transactionId":"123456788",
}

Response example

{
"balance": 12300,
"errorCode": 0,
"errorDescription":"",
}