Webhooks
Bank Collection Status Update
Fired when money lands in a customer's virtual account (NGN or FX).
Use this webhook to
- Get real-time notice of every inflow into a customer's account
- Credit your own internal ledger without polling Get Collections
- Reconcile a customer-reported payment as soon as it lands
Event
| Event | Fired when |
|---|---|
virtual_account.credit |
A collection lands in a customer's virtual account |
Payload
{
"event": "virtual_account.credit",
"data": {
"customer_uuid": "…",
"tracking_id": "EXTACCT…",
"account_number": "…",
"provider": "providername",
"currency": "USD",
"amount": 500.00,
"fee": 0,
"amount_credited": 500.00,
"reference": "<provider transaction id>",
"sender_name": "ACME LTD",
"sender_bank": "…",
"paid_at": "2026-07-10T10:15:00.000Z"
}
}Payload fields
| Field | Type | Description |
|---|---|---|
customer_uuid |
string | Customer this collection belongs to |
tracking_id |
string | Account this collection landed in |
account_number |
string | Receiving account number |
provider |
string | safehaven, dotbank, 9psb |
currency |
string | Collection currency |
amount |
number | Gross amount received |
fee |
number | Fee deducted |
amount_credited |
number | Net amount credited to your wallet (amount − fee) |
reference |
string | Provider transaction id — idempotent, safe to process more than once |
sender_name / sender_bank |
string | Payer details, when available |
paid_at |
string | ISO 8601 timestamp |
Questions? Email [email protected]. Also on GitBook.