Skip to main content

Webhook

Webhook

The webhook endpoint URL can be configured in two ways:

  1. Merchant Panel – Set up the URL directly through the settings in your merchant dashboard.
  2. API – Configure the URL programmatically using our API for greater flexibility.

Once configured, the webhook will send callbacks whenever a transaction’s status is updated. This ensures you receive real-time updates about the state of your transactions.

For details about all possible transaction statuses, refer to the Transaction Statuses section.

warning

If the webhook URL is not set, you will not receive any callbacks.

Example Webhook Payload

Below is the payload structure you might receive via the webhook.

note

The schema matches the structure used for creating a transaction.

info

Ensure, that you already implemented mechanism to verify x-signature header

POST /webhook
Host: yourdomain.com
x-signature: d3b07384d113edec49eaa6238ad5ff00
Content-Type: application/json
{
"id": "43ba8793-66ad-482f-9e74-54381d3aea25",
"fiatAmount": "6030.00",
"cryptoAmount": "60835352",
"merchantFee": "5171005",
"currencyRate": "99.12",
"type": "pay-in",
"status": "active",
"bank": "SBER",
"fiatCurrency": "EUR",
"cryptoCurrency": "usdt",
"cryptoNetwork": "trc20",
"payoutInvoicesUrl": [],
"disputeMerchantCheckUrl": null,
"disputeTraderCheckUrl": null,
"disputeMerchantFiatAmount": "0.00",
"disputeTraderFiatAmount": "0.00",
"requisite": {
"id": "13edb294-2f1e-4679-a62a-ea12fdab1c9c",
"bank": "SBER",
"ownerName": "123123123123",
"sbpNumber": null,
"requisites": "123123123123123",
"fiatCurrency": "EUR"
},
"extra": {
"payerInfo": {
"ip": "192.168.1.1",
"userId": "65535",
"userAgent": "Mozilla/5.0 (iPhone; CPU iPhone OS 16_6_1 like Mac OS X) AppleWebKit/655.1.15 (KHTML, like Gecko) Version/16.4 Mobile/148 Safari/04.1",
"fingerprint": "fbb77b9f4265b18538e66cac5a37c6410dc2cdd7f0cddfde6eda25aa10df669b",
"registeredAt": 1728388185326
},
"externalTransactionId": "txn_123456789"
},
"createdAt": "2024-11-08T17:00:16.583Z"
}

Key Fields in the Payload

  • id: Unique identifier for the transaction.
  • fiatAmount: Amount in fiat currency (e.g., EUR).
  • cryptoAmount: Equivalent amount in cryptocurrency.
  • merchantFee: Fee charged to the merchant for this transaction.
  • status: Current status of the transaction (e.g., active, completed, failed).
  • requisite: Payment details for processing the transaction, including bank and account information.

Important

  • Ensure your webhook URL is accessible and correctly configured to receive callbacks.
  • Always validate the authenticity of the webhook payload by verifying the request signature (details are provided in the Authentication section).