Webhooks allow your system to receive real-time updates whenever a payment or payout changes status. Once an event occurs in our system, we immediately send an HTTPS POST request to the webhook URL you provided during transaction initiation or the one you set on your dashboard.
Use webhooks to automatically update payment statuses, notify customers, or trigger internal business logic — without polling the API.
Webhook Security (Signature Verification)
To ensure the webhook truly comes from our system, every webhook request contains an HMAC-SHA256 signature in the header:
Read more about our signature rule here
Webhook Headers
| Header | Description |
|---|---|
Content-Type | application/json |
X-Signature | Base64 HMAC-SHA256 signature of the raw request body |
Webhook Payload Format
Below is the standard payload sent for all payment and payout status changes:
{
"id": 1,
"ulid": "1234567890",
"type": "Payment",
"reference": "123456DDEDDX27890XXXXXXX",
"description": "Payment for order 123",
"amount": 100,
"initial_amount": 100,
"currency": "USD",
"country": "US",
"status": "pending",
"merchant_reference": null,
"metadata": {
"order_id": 123,
"user_id": 123
}
}
