πŸ“£ New Region Unlocked: You can now send payouts directly to Malawi! πŸ‡²πŸ‡Ό
πŸ”— Webhooks
πŸ’³ Virtual Account Webhook

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

FieldTypeDescription
eventstringThe name of the event that occurred (e.g., "virtualaccount.completed").
data.idstringUnique identifier for the transaction.
data.referenceNumberstringUnique reference number assigned to the transaction.
data.amountnumberThe total gross amount of the transaction.
data.fee.vatnumberThe Value Added Tax portion of the fee (sent for instant settlement).
data.fee.stampDutynumberThe stamp duty portion of the fee (sent for instant settlement).
data.fee.basenumberThe base fee for the transaction (sent for instant settlement).
data.settlementAmountnumberThe final amount settled after fees (sent for instant settlement).
data.typestringThe type of transaction (e.g., "FUNDING").
data.statestringThe final state of the transaction (e.g., "COMPLETED").
data.customer.emailstringThe customer's email address.
data.customer.referencestringThe unique reference for the customer.
data.customer.account.namestringThe name on the customer's bank account.
data.customer.account.bankNamestringThe name of the customer's bank.
data.customer.account.sortCodenullThe sort code of the customer's bank.
data.customer.account.numberstringThe customer's virtual account number that was funded.
data.currencystringThe currency of the transaction (e.g., "NGN").
data.countrystringThe country where the transaction occurred (e.g., "NG").
data.source.bankNamestringThe name of the source institution that sent the funds.
data.source.accountNamestringThe name on the source account.
data.source.accountNumberstringThe account number or identifier of the source.
data.createdstringISO 8601 timestamp of when the transaction was created.
data.processedstringISO 8601 timestamp of when the transaction was processed.