# Virtual Account
A Virtual Account is a dedicated, system-generated account assigned to a customer for receiving payments. Each virtual account is uniquely mapped to a customer using their personal details such as first name, surname, account name, and phone number.
Funds paid into a virtual account are automatically tracked and credited to the associated merchant or customer wallet, making reconciliation fast, accurate, and seamless.
Note: Always ensure customer details are accurate, as the virtual account is uniquely generated based on the supplied information. Authentication headers are required for all requests.
Create a Virtual Account
To generate a virtual account for a customer, send a request with the required customer details. The system will create and return a unique virtual account tied to the provided information.
curl -X POST \
'{{base-url}}/virtual-account/create'
Request Body (JSON)
{
"firstname": "Taofeek",
"surname": "Iyanda",
"account_name": "Taofeek Iyanda",
"phone": "2349065241914"
}
| Field | Type | Description | |
|---|---|---|---|
| Firstname | String | Customer’s first name | Required |
| Surname | String | Customer’s last name | Required |
| Account Name | String | The display name for the virtual account | Required |
| Phone | String | Customer’s phone number in international format | Required |
Example :

How Virtual Accounts Work
Once a virtual account is created, customers can make transfers to the account using bank transfer. All payments received are automatically logged and reflected in the merchant’s wallet balance.
Virtual accounts are ideal for:
- Customer-specific payments
- Automated transaction tracking
- Eliminating manual payment confirmation
Tip: A single customer can have one or more virtual accounts depending on your business use case.