Skip to content

Void Settle POST

Instead of cancel, sometimes provider use VOID as a cancel. This mean the round will be completely canceled, usually not revoke the round again. For this request, you have to increase player's balance with betAmount - payoutAmount.
For example:
If player's initial balance is 1000.00

  1. Player bet 100.00 into the game. So, balance equal 900.00
  2. Player win 500.00 into the game. So, balance equal 1400.00
  3. Game provider need to void the above round, our system will send betAmount: 100.00 and payoutAmount: 500.00
  4. Your system have to update balance 1400.00 + (100.00 - 500.00) (Player balance + (betAmount - payoutAmount)), So final balance must equal 1000.00
    In the end of the /voidSettled, player's balance must equal 1000.00 like the initial balance.

HTTP Request

POST {{ YOUR_API_URL }}/voidSettled

Content Type

Type: application/json

Parameter Description

PropertyTypeRequiredDescription
idstringRequiredRequest id
timestampMillisnumberRequiredRequesting time
productIdstringRequiredProduct id associated with the request Product
currencystringRequiredPlayer's currency code in ISO 4217 (Example: "THB")
usernamestringRequiredUser id on agent system
txnsTxn[]RequiredTransaction Id on agent system

Void settle transaction parameters (txns)

PropertyTypeRequiredDescription
idstringRequiredBet ID
statusstringRequiredBet status (always VOID)
roundIdstringRequiredRound ID
betAmountnumberRequiredStake amount (Use this value to increase player's balance)
payoutAmountnumberRequiredPayout amount (Use this value to decrease player's balance)
gameCodestringRequiredGame code
playInfostringRequiredInformation regarding the player was chosen. If Live-casino game this should be the position that player wager on that round if system can identified the position (e.g. player, banker). Other games, the value should be the game name, if we can't identified game name or game code, we will send 'UNKNOWN' into this value.
transactionTypestringRequiredThe value that indicate transaction action, have 2 values:
1. BY_TRANSACTION: This type, you have to consider the action is a transaction-level.
Find the transaction inside your data storage using id and action only found transaction.
2. BY_ROUND: This type, you have to consider the action is a round-level.
Find entire transactions that belongs to roundId and actions all transactions at once.

Response Description

PropertyTypeRequiredDescription
idstringRequiredRequest id
statusCodenumberRequiredStatus from StatusCode
timestampMillisnumberRequiredResponding time
productIdstringRequiredProduct id associated with the request Product
currencystringRequiredPlayer's currency codein ISO 4217 (Example: "THB")
balanceBeforenumberRequiredPlayer's balance before unsettle
balanceAfternumberRequiredPlayer's balance after unsettle (deduct from payoutAmount - betAmount of previous settle request)
usernamestringRequiredUser id on agent system

Request Example

Request Body

json
{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "productId": "{{ Product ID }}",
  "username": "foobar",
  "currency": "THB",
  "timestampMillis": 1631599542778,
  "txns": [
    {
      "id": "VB-T-001",
      "status": "VOID",
      "roundId": "R-001",
      "betAmount": 100,
      "payoutAmount": 1000,
      "gameCode": "108",
      "playInfo": "Magic Lamp",
      "transactionType": "BY_ROUND"
    }
  ]
}

JSON response example:

json
{
  "id": "c7197ce4-5a50-4397-a903-d78b135ade4c",
  "statusCode": 0,
  "timestampMillis": 1631599542821,
  "productId": "{{ Product ID }}",
  "currency": "THB",
  "balanceBefore": 10000,
  "balanceAfter": 9100,
  "username": "foobar"
}