Virtual Account Creation
Summary
Create Virtual Accounts on demand, receive funds from customers via these accounts and get notification on its usage.
Dedicated Virtual Accounts (DVAs) is a service that lets you create nigerian virtual accounts for your customers. These accounts allow your customers to receive payment from their customers.
When you create a Dedicated Virtual Account (DVA) for a customer, all bank transfers to that account will automatically be recorded as transactions from that customer.
Coverage
Nigeria
NGN
Integration steps
You can generate a VA and start receiving money in 3 easy steps:
Prepare and encrypt the payload (fields include: first name, last name, currency and email)
Initiate VA creation
Get instant response
Create a virtual account
POST {{env_url}}/wallet/virtual/v3/business/create/account
Encrypt the plain request using the encryption algorithm specified here. Then send the encrypted data as the request body as shown below.
NB: You are required to set the x-auth-token and Authorization in the request headers.
Headers
x-auth-token*
Your merchant public key
Authorization*
Bearer <token> (generated here)
Request to be encrypted (plain)
firstName*
String
account first name
lastName*
String
account last name
currency*
String
Must be one of the supported currencies in the Coverage
email*
String
email to be linked to the VA
Final Request Body (encrypted)
NB: The encrypted payload must be used with the create virtual account endpoint as seen above.
Response
When you create a Virtual Account (VA), please allow a few seconds for processing. The accountName will be the first and last name for a personal account, or the business name for a corporate account. Below are some sample responses you can expect.
Requery VA
GET -
{{env_url}}/wallet/virtual/v2/account/{{email}}
In case of network downtime or failures during VA creation, the virtual account can be re-queried with the user’s email. This can be fetched using the email specified during the initial VA creation.
Headers
Authorization
Bearer <token>
VA Transactions notification
When payments are received from your users, we would send a webhook with the details of the transaction to your callback URL. (see webhook details here)
Polling transaction status
POST
{{env_url}}/nucleus/tnx/collection/status
To know the status of a transaction, you can fetch the transaction using the Transaction Status API on the Postman collection. Make use of the session id received from the bank. See an example below:
Request Body
gateRef*
String
session id received from the bank (e.g. 10043509483902847574822)
Last updated
