Authorization header:POST /api/v1/webhook/subscriptions{
"url": "[https://your-domain.com/webhook-endpoint](https://your-domain.com/webhook-endpoint)",
"eventTypes": ["FUNDING_NOTIFICATION", "TRANSFER_NOTIFICATION"],
"description": "Production webhook for payment notifications"
}| Parameter | Type | Required | Description |
|---|---|---|---|
url | string | Yes | The HTTPS URL where webhook events will be sent |
eventTypes | array | Yes | Array of event types to subscribe to |
description | string | No | Optional description for this webhook |
{
"id": "wh_123456789",
"url": "[https://your-domain.com/webhook-endpoint](https://your-domain.com/webhook-endpoint)",
"secret": "whsec_abcdefghijklmnopqrstuvwxyz123456789",
"isActive": true,
"description": "Production webhook for payment notifications",
"eventTypes": ["FUNDING_NOTIFICATION", "TRANSFER_NOTIFICATION"],
"createdAt": "2023-03-15T14:30:45Z",
"lastSuccessfulDelivery": null
}Important: Store the secretvalue securely. It will only be shown once and is required to verify webhook signatures.
GET /api/v1/webhook/subscriptions[
{
"id": "wh_123456789",
"url": "[https://your-domain.com/webhook-endpoint](https://your-domain.com/webhook-endpoint)",
"isActive": true,
"description": "Production webhook for payment notifications",
"eventTypes": ["FUNDING_NOTIFICATION", "TRANSFER_NOTIFICATION"],
"createdAt": "2023-03-15T14:30:45Z",
"lastSuccessfulDelivery": "2023-03-15T15:42:12Z"
}
]PUT /api/v1/webhook/subscriptions/{id}{
"url": "[https://your-domain.com/new-webhook-endpoint](https://your-domain.com/new-webhook-endpoint)",
"eventTypes": ["FUNDING_NOTIFICATION", "TRANSFER_NOTIFICATION"],
"description": "Updated webhook endpoint"
}DELETE /api/v1/webhook/subscriptions/{id}{
"success": true
}POST /api/v1/webhook/subscriptions/{id}/regenerate-secret| Event Type | Description |
|---|---|
FUNDING_NOTIFICATION | Triggered when your account is funded |
TRANSFER_NOTIFICATION | Triggered when a transfer is completed |
PAYOUT_NOTIFICATION | Triggered when a payout is completed |
Note: To subscribe to all event types, include "*"in youreventTypesarray.
{
"id": "evt_123456789",
"event": "PAYOUT_NOTIFICATION",
"created_at": "2023-03-15T15:42:12Z",
"data": {
"transaction_id": "txn_987654321",
"amount": 5000.00,
"currency": "NGN",
"status": "completed",
"customer_id": "cus_12345",
"description": "Payment for invoice #12345"
},
"signature": "V1tjDjfxTC2ZM+wnYGD1lGCHJGuK9bHxDXG/..."
}{
"Id": "9de79979-2777-4c6c-8139-f01de56668ed",
"Event": "TRANSFER_NOTIFICATION",
"CreatedAt": "2025-07-10T05:10:55.417772Z",
"Data": {
"TrxAmount": 1000.0,
"TrxFee": 40.00,
"SettledAmount": 1000.0,
"Merchant": "Smallville1 Limited",
"BusinessCode": "10984212",
"Reference": "T489820257477",
"SessionId": "000017241015102917082338359602",
"VendorReference": "BLSTRSFM2A8REZ2B9R1HXYAJH9",
"Type": "FundTransfer",
"Status": "Successful",
"Channel": "Web",
"PostingType": "Dr",
"Description": "test",
"Service": "FUNDTRANSFER",
"RequestState": "Completed",
"RequestStateDetails": "Completed",
"BeneficiaryName": "John Doe",
"BeneficiaryNumber": "3121894268",
"BeneficiaryBank": "FIRST BANK OF NIGERIA",
"DateCreated": "2025-07-10T05:10:54.313692",
"DateModified": "2025-07-10T05:10:55.4087666+00:00"
},
"Signature": "4IrGq6x8FoVFYDO267G08Zb0nDwDypiY41/..."
}| Field | Description |
|---|---|
id | Unique identifier for this webhook event |
event | The type of event that triggered this webhook |
created_at | ISO 8601 timestamp when the event occurred |
data | Event-specific payload data |
signature | Signature for verifying the webhook authenticity |
| Header | Description |
|---|---|
Content-Type | Always application/json |
X-Webhook-Signature | The signature used to verify the payload |
X-Webhook-Id | The unique ID of the webhook event |
X-Webhook-Event | The type of event |
X-Webhook-Signature header.