pushpayment.success, pushpayment.failed and pushpayment.reversed.
Important: Do not trust any webhook notifications received, your system is required to verify prior to processing to avoid unauthorised notifications being processed.
1. Successful Push Payment (pushpayment.success)
The pushpayment.success event is dispatched immediately after the customer authorizes the payment — via PIN on their Mobile Money handset or via 3DS/OTP on their card — and the funds are successfully collected. This event confirms that the payment has settled, allowing your application to safely fulfil the order or grant the service the customer paid for.
HTTP Event Headers
Webhook JSON Payload
2. Push Payment Failure (pushpayment.failed)
The pushpayment.failed event is emitted when the push payment cannot be completed, for example when the customer cancels the prompt, enters an incorrect PIN, lets the prompt time out, or has insufficient funds. Receiving this event indicates that no funds were collected, so the transaction must be treated as unsuccessful and the customer must not be considered to have completed the payment. The failure reason is reported in the errorMessages array of the payload.
HTTP Event Headers
Webhook JSON Payload
3. Push Payment Reversal (pushpayment.reversed)
The pushpayment.reversed event is emitted if a previously settled push payment transaction must be rolled back, for example due to duplicate debit reconciliation by the Mobile Money operator. Receiving this event indicates that the corresponding funds have been debited from your OneKhusa merchant account balance, requiring your backend system to adjust the account/ledger accordingly.
HTTP Event Headers
Webhook JSON Payload
For detailed field descriptions, refer to the Field Descriptions section in the Collection Webhooks Overview.