Webhook
Webhooks
Overview
Webhooks allow your system to receive real-time updates from our platform. Instead of constantly checking (polling) for updates, we notify your system as soon as something happens — like a payment being made or a user completing a form.
It’s like getting a text message when a delivery arrives, instead of refreshing the tracking page every 5 minutes!
How It Works
- You give us a webhook URL (an API endpoint on your server).
- We send a
POST
request to that URL when a payment is made. - You process the transaction data on your end — e.g., mark an order as paid.
Here is simple example of a webhook URL
Sample Notification Payload
Whenever a wallet account receives a credit, your webhook endpoint will receive a JSON payload as seen below;
The notification would also include a signature header to verify the authenticity of the request. This is important for security, ensuring that the data comes from us and hasn’t been tampered with.
X-Auth-Signature : sha256(secret)
Field Name | Description |
---|---|
AccountNumber | The wallet account that received the payment. This belongs to your customer or business. |
transactionReference | A unique ID for the transaction. Use this to avoid duplicate processing. |
TransactionAmount | The amount paid (in NGN). |
Fee | Transaction fee (if any). In most cases this may be 0. |
SenderName | The name of the person who sent the money. |
SenderBank | The sender’s bank name. |
DateOfTransaction | The timestamp of the transaction (in ISO format). |
Source | The payment channel used (e.g., NIP for real-time transfers). |
Description | The transfer message or narration, if any. |
DC | ”C” for credit (money in), “D” for debit (money out). In this context, it will usually be “C”. |