BETCORE Aggregator
Provider IntegrationCasino Integration
Provider IntegrationCasino Integration
Visit Betcore website
Follow Betcore on Instagram
Follow Betcore on LinkedIn
Follow Betcore on Youtube
  1. Bets
  • Getting Started
  • Integrate BETCORE Games (Casino)
    • Integrate BETCORE Gems (Casino)
    • WebFrame Connection
    • Aggregator API for Casino
      • Authentication
        • Verify
        • Jwks
        • Token
      • Payments
        • Accept
      • Cashback
        • Accept
    • Casino API for Aggregator
      • Users
        • Auth
        • Data
      • Payments
        • Info
        • Make
        • Make-list
        • Close
      • Cashback
        • Make
  • Integrate as Games Provider
    • Integrate as Games Provider
    • Provider API for Aggregator
      • Games
        • Games
        • Launch
    • Aggregator API for Provider
      • Get Balance
        • Balance
      • Bets
        • PayIn
          POST
        • PayOut
          POST
        • PayInOut
          POST
        • Refund
          POST
  • Feed
    • Feed Integration
    • REST API
      • Authorization
        • Token
      • Games
        • Info
        • Translations
      • Jackpot
        • Accumulated
    • Websocket
      • SubOnWholeGamesInfo
  • SubOnWholeGamesInfo
  1. Bets

PayOut

POST
/v1/sessions/{{sessionId}}/bets/pay-out

Overview#

The PayOut endpoint is used to process the payout transaction once the outcome of a bet is determined. This endpoint communicates the result of a game round by registering the winnings (or confirming a loss) for a placed bet. By doing so, it finalizes the bet lifecycle and updates the user’s balance accordingly.
The PayOut method allows to:
Process Bet Outcomes: Once the game round is completed, and the outcome (win/loss) is determined, this endpoint is used to process the payout.
Update User Balance: The response from the endpoint includes the updated account balance after the win is credited or a confirmed loss is acknowledged.
Link Transactions: The method uses a unique bet identifier (betId) that ties together the cash flow transactions (starting from bet placement via PayIn/PayInOut through to the eventual payout), ensuring traceability and consistency within one betting event.

Security and Authentication#

The PayOut endpoint, like other API requests within this integration, requires strict authentication to ensure that only authorized parties can interact with it. This is achieved through the use of mandatory HTTP headers. Please see the required headers below in the Header Params section.
📌
Signature of the request shall be calculated using HMAC-SHA256 algorithm and sent in "X-Sign" header of the request.
Please see How to calculate the X-Sign value.

Path Parameters#

ParameterTypeRequiredDescription
sessionIdstringYesGame Session id.

Request

Header Params
X-Counterparty-Id
string 
required
The public identifier of the subject provided during the onboarding process.
Example:
933a215f-a9e6-4f88-9d91-52a87cd50499
X-Timestamp
number 
required
13 digits Unix epoch timestamp. Request generation time. All requests longer than 30 seconds will be considered expired.
Example:
1719766120806
X-Request-Id
string 
required
A random sequence of 32 hexadecimal digits (Nonce) representing a unique request identifier.
Example:
5a0679b6e5fa48f6892c777b0fa92392
X-Sign
string 
required
HMAC.SHA256 message signature.
Example:
c4d62f77cdfaadb6690b3bcbe5a0ca9ef1e5bf41d746d361a1269558eeb7ccd1
Body Params application/json
betId
string 
required
Unique ID of the user's bet in the Game Provider's system.
This ID unites cash flow transactions and is an end-to-end identifier for them.
It is a unique key within one cash flow transaction.
winAmount
number 
required
The winning amount. If the amount is 0, then the bet is lost.
winOdd
number 
optional
Winning coefficient. For a losing bet it is 0.
Example
{
  "betId": "4178696881",
  "winAmount": 55.25,
  "winOdd": 11.05
}

Request samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location -g --request POST 'https://mock.apidog.com/m1/820627-0-default/v1/sessions/{{sessionId}}/bets/pay-out' \
--header 'X-Counterparty-Id: 933a215f-a9e6-4f88-9d91-52a87cd50499' \
--header 'X-Timestamp: 1719766120806' \
--header 'X-Request-Id: 5a0679b6e5fa48f6892c777b0fa92392' \
--header 'X-Sign: c4d62f77cdfaadb6690b3bcbe5a0ca9ef1e5bf41d746d361a1269558eeb7ccd1' \
--header 'Content-Type: application/json' \
--data-raw '{
  "betId": "4178696881",
  "winAmount": 55.25,
  "winOdd": 11.05
}'

Responses

🟢200Success
application/json
Body
transactionId
string 
optional
Aggregator winning transaction ID.
balance
number 
optional
User balance.
_responseCode
integer 
required
Response code.
Example
{
  "transactionId": "389",
  "balance": 1588.5,
  "_responseCode": 1,
}
🔴500Server Error
Previous
PayIn
Next
PayInOut
Built with