customer.transfer.failed
Sent to your webhook URL when a bank transfer is rejected. The wallet is automatically refunded before this event fires. Check the reason field for the cause.
The customer's wallet balance has already been restored by the time this event arrives — no manual refund action is required.
Payload
{
"event": "customer.transfer.failed",
"data": {
"customerId": "cus_ada",
"reference": "ctfr_1721375800000_abc123",
"amount": 200,
"currency": "NGN",
"channel": "WALLET",
"provider": "Paystack",
"accountNumber": "0123456789",
"bankCode": "058",
"accountName": "John Doe",
"reason": "Account not found"
},
"timestamp": "2026-08-25T09:06:00.000Z"
}