> ## Documentation Index
> Fetch the complete documentation index at: https://developer.me-cash.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Webhook Event - virtualaccount.completed

> Reference for the `virtualaccount.completed` webhook event, triggered when a virtual account is successfully credited.

# Webhook Event:`virtualaccount.completed`

Sent when a virtual account has been successfully credited.

```json theme={null}
  {
    "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"
    }
}
```

<Callout type="info" emoji="ℹ️">
  **NOTE:** For `virtualaccount.failed`, the `state` will be "FAILED".
</Callout>

### 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.               |
