{
"event": "payment.failed",
"data": {
"id": "6a51a0000000000000000101",
"reference": "my_custom_ref_123",
"code": "abc123def456",
"amount": 50000,
"amountPaid": 0,
"currency": "NGN",
"status": "failed",
"reason": "Checkout expired before payment",
"customer": {
"email": "customer@example.com",
"name": "John Doe"
},
"createdAt": "2026-07-10T12:00:00.000Z",
"updatedAt": "2026-07-10T13:00:00.000Z"
}
}Webhooks
Payment failed
Sent when a checkout fails or expires before full payment. Delivered as a POST to your webhook URL; return a 2xx to acknowledge.
WEBHOOK
payment.failed
{
"event": "payment.failed",
"data": {
"id": "6a51a0000000000000000101",
"reference": "my_custom_ref_123",
"code": "abc123def456",
"amount": 50000,
"amountPaid": 0,
"currency": "NGN",
"status": "failed",
"reason": "Checkout expired before payment",
"customer": {
"email": "customer@example.com",
"name": "John Doe"
},
"createdAt": "2026-07-10T12:00:00.000Z",
"updatedAt": "2026-07-10T13:00:00.000Z"
}
}Authorizations
Your Business API Key
Headers
Hex HMAC-SHA512 of the raw request body, keyed with your webhook secret. Verify it before trusting the payload.
Body
application/json
Response
200
Return any 2xx once the event is stored.
