Webhook

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

HeaderDescription
Content-Typeapplication/json
X-SignatureBase64 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
  }
}