Skip to main content

Configuring a Callback URL

You can configure a callback URL by including your specified URL as a parameter in the API request body. This setup allows you to receive real-time notifications for both payouts and pay-ins, ensuring seamless integration with your system.

Callback for Payins

Through USSD Push

For collections using USSD push, you can configure your callback url as specified below.
1
Pass in the url you’d like to receive the callback response on under the params object as “callback_url”.
2
Generate a signature for the specified parameters using the generate signature endpoint
3
Make the API request using the payload generated.
4
Once the transaction is processed you will receive a callback response as shown below.
For payins collected via payment links, you can configure your callback url as part of the params field while creating a payment link. Once a payment is made to your account using the payment link, you will receive a response on the callback.

Callback for Payouts

For disbursements, you can configure your callback url as specified below.
1
Pass in the url you’d like to receive the callback response on under the params object as “callback_url”.
2
Generate a signature for the specified parameters using the generate signature endpoint
3
Make the API request using the payload generated.
4
Once the transaction is processed you will receive a callback response as shown below.

Response Structure

Below is a summary of the response structure of the callback responses expected.

Payins

Please note that the “depositId” field represents the transaction id of the deposit.
When "payment_step": 2 is present in the params of the callback body, it means this callback is final for the transaction: act on it. It’s sent for both a successful ("status_code": "000000") and a failed ("status_code": "000005") transaction status, not the request’s own success. Mark the transaction with whatever status and statusCode is in the params object: that’s the final outcome.

Payouts

Please note that the “depositId” field represents the transaction id of the deposit.
When "payment_step": 2 is present in the params of the callback body, it means this callback is final for the transaction: act on it. It’s sent for both a successful ("status_code": "000000") and a failed ("status_code": "000005") transaction status, not the request’s own success. Mark the transaction with whatever status and statusCode is in the params object: that’s the final outcome.

Timeout Callbacks

For deposit transactions, a callback response is typically sent if a 2-minute timeout occurs on our end. Once the transaction is successful, a successful callback will be sent, and the transaction status will be updated accordingly.

Resending Callbacks

You can resend callbacks in case of a delivery failure through the payment portal. To do this, access the specific transaction and click on “Resend Callback.” resend-callback
To learn more about transaction status codes, refer to the Status Codes section