LedgerEntry of type topup.
Webhook endpoint
Expected event type
Axis processes events whereevent === "charge.success". Any other event type is acknowledged but ignored.
Payload shape
How Axis resolves the destination wallet
The key field isdata.virtual_bank_account.account_reference. This value is the walletId that Axis stored when the virtual account was provisioned. When a charge.success event arrives, Axis:
- Reads
data.virtual_bank_account.account_referenceto find the target wallet. - Converts
data.amount(in NGN float) to kobo and credits the wallet’s balance. - Creates a
LedgerEntryof typetopuplinked to that wallet. - Returns
200 OKto acknowledge the event.
account_reference does not match any wallet, the event is logged and a 400 is returned to the provider so it can alert you.
POST /api/webhooks is called by the payment provider, not by your frontend. You do not need to call this endpoint directly or include it in your client-side code.