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

Refund

POST
/v1/sessions/{{sessionId}}/bets/refund

Overview#

The Refund endpoint allows the Game Provider to initiate a refund for a bet. This method is used when a bet needs to be reversed — whether due to an error in bet processing, game logic, or any other reason that requires returning the wagered amount back to the user. By calling this endpoint, the Aggregator updates the user's balance by re-crediting the refunded amount.
The main objectives of the Refund method are:
Reversal of a Bet Transaction: It is used to reverse the wagered amount when a bet cannot be completed as intended. This ensures that the funds, which have been previously deducted, are correctly returned to the user.
Error Handling and Transaction Correction: In scenarios where there is a processing error, or the game outcome fails to be determined correctly, a Refund call is made to correct the transaction, thus safeguarding the integrity of the user's account balance.
Maintaining Consistency: The use of a unique bet identifier (betId) ties the refund back to its corresponding bet, ensuring consistency and traceability across all cash flow transactions related to a specific bet.

Security and Authentication#

The Refund 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.
Example
{
  "betId": "4178696881"
}

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/refund' \
--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"
}'

Responses

🟢200Success
application/json
Body
balance
number 
optional
User balance.
_responseCode
integer 
required
Response code.
Example
{
    "balance": 1588.5,
    "_responseCode": 1
}
🔴500Server Error
Previous
PayInOut
Next
Feed Integration
Built with