Webhooks
Last updated
Last updated
Webhooks are similar to periodic reminders/prompts from our server that respond to key events, actions and updates by notifying your server through the endpoint you provided in your API and Webhook URL page within your dashboard - A virtual mail man that delivers every single notifiable update(JSON-formatted data) to your server.
Yeah, something like that, just that your house address (webhook url/endpoint) is all he needs to deliver the package while you (as expected) need to have the right pair of keys to decrypt the payload after identifying the signatures that verifies that it is from us.
A webhook endpoint is a post endpoint on your server that accepts a HTTP post
request from our server, Parses a JSON data and returns a 200 OK
response.
If we do not receive a 200 OK
from your webhook, we will resend the data every 5 minutes for the first 3 attempts and in 20 minutes for the next 2 attempts.
Kindly ensure that you apply standard coding practices while retrieving your payload data from us to avoid duplication of data or inconsistent registration of data within your server. Our server might send a successful data payload twice; ensure that you have a logic that processes the required webhook payload first on every request, and, as well, a logic that tracks against double referencing within your codebase.
Finally, test your webhook responses to confirm that you are receiving JSON data correctly from us before going live.
Here are the key events that we currently send to your webhook endpoint.
Event Name | Description |
---|---|
transaction.success
A transaction has been successfully completed and you can deliver value
transaction.failed
The transaction has failed
transaction.pending
A transaction has been initiated.
paymenttoken.paid
A transaction code has been successfully redeemed.
paymenttoken.settled
We have automatically paid you for an unverified but expired token
paymenttoken.refunded
We just invalidated a transaction and the money has been logged for refund