Webhook Event:virtualaccount.completed
Sent when a virtual account has been successfully credited.
{
"event": "virtualaccount.completed",
"data": {
"id": "866be9f6-1e3c-4083-87a5-xxxxxxxxxxxxx",
"referenceNumber": "V6FUNZNGIV8BY",
"amount": 200,
"fee": { //sent only for instant settlement
"vat": 2,
"stampDuty": 2,
"base": 2
},
"settlementAmount": 94.00, //sent only for instant settlement
"type": "FUNDING",
"state": "COMPLETED",
"customer": {
"email": "arnaldo.trent@example.com",
"reference": "00002601019915929890797xxxxxxx",
"account": {
"name": "",
"bankName": "Virtual Mock Bank",
"sortCode": null,
"number": "0067100155"
}
},
"currency": "NGN",
"country": "NG",
"source": {
"bankName": "Mock Bank",
"accountName": "Jane Doe",
"accountNumber": "250784292986"
},
"created": "2023-08-16T23:12:28.256678",
"processed": "2023-08-16T23:12:28.256678"
}
}
βΉοΈ
NOTE: For virtualaccount.failed
, the state
will be "FAILED".
Response Breakdown
Field | Type | Description |
---|---|---|
event | string | The name of the event that occurred (e.g., "virtualaccount.completed"). |
data.id | string | Unique identifier for the transaction. |
data.referenceNumber | string | Unique reference number assigned to the transaction. |
data.amount | number | The total gross amount of the transaction. |
data.fee.vat | number | The Value Added Tax portion of the fee (sent for instant settlement). |
data.fee.stampDuty | number | The stamp duty portion of the fee (sent for instant settlement). |
data.fee.base | number | The base fee for the transaction (sent for instant settlement). |
data.settlementAmount | number | The final amount settled after fees (sent for instant settlement). |
data.type | string | The type of transaction (e.g., "FUNDING"). |
data.state | string | The final state of the transaction (e.g., "COMPLETED"). |
data.customer.email | string | The customer's email address. |
data.customer.reference | string | The unique reference for the customer. |
data.customer.account.name | string | The name on the customer's bank account. |
data.customer.account.bankName | string | The name of the customer's bank. |
data.customer.account.sortCode | null | The sort code of the customer's bank. |
data.customer.account.number | string | The customer's virtual account number that was funded. |
data.currency | string | The currency of the transaction (e.g., "NGN"). |
data.country | string | The country where the transaction occurred (e.g., "NG"). |
data.source.bankName | string | The name of the source institution that sent the funds. |
data.source.accountName | string | The name on the source account. |
data.source.accountNumber | string | The account number or identifier of the source. |
data.created | string | ISO 8601 timestamp of when the transaction was created. |
data.processed | string | ISO 8601 timestamp of when the transaction was processed. |