NGN (Nigerian Naira) Account

This section describes the requirements for creating a virtual account in Naira(NGN). In this section, the payloads have been separated into the requirements for individual and corporate accounts. Please take time to go through each request properly.

You can use the Virtual account API to create permanent and temporary NGN Virtual Accounts. No prefixes or suffixes are added to the accounts generated, thereby ensuring that the accounts are fully personalized. Fincra merchants can add a prefix or suffix when requesting a Virtual Account.

📘

Hey 👋 , we recommend reading the sections below because they are critical to understanding each virtual account request.

Multiple Bank Options

You can request Virtual Accounts from any of our supported banks with the Virtual Account API. Please see the API Documentation for the parameters needed to create virtual accounts in NGN. Listed below are the banks that are supported in the creation of NGN virtual accounts.

Here is a list of banks that we support for the creation of NGN Virtual Accounts.

S/NBankValue
1VFD Microfinance Bankvfd
2Wema Bankwema
3Providus Bankprovidus
4Globus Bankglobus

Endpoint Parameters

These parameters can be tested on an API explorer by calling the various endpoints supported for creating virtual accounts :

{{host}}/profile/virtual-accounts/requests
{{host}}/profile/virtual-accounts/business/{businessId}/sub-accounts/{subAccountId}/requests

Note

  • After a virtual account creation request is made, a response with a data object containing a unique identifier _id of the virtual account will be returned, which will also be included in the webhook sent as id if the virtual account is declined or approved.
  • bvn is required when creating permanent virtual accounts
  • Funds transfers made to NGN accounts are instant
  • The name on the BVN must correspond with both the KYCInfomation.firstName, KYCInfomation.lastName or KYCInfomation.bvnName sent in the payload, otherwise, the following error will be received: BVN doesn't match the provided name
  • The order of arrangement of the bvnName matters when verifying against the name on the BVN. Kindly pass the exact value as it is on the BVN e.g Fincra developers == Fincra developers

Individual Request

These are the fields required to process an individual virtual account request in NGN

FieldMandatorytypeDescription
currencyyesstringThe virtual account currency.e.g NGN
accountTypeyesstringThe virtual account type . Please see the API documentation for more details
channelNostringThe value should be wema for wema bank accounts and vfd for VFD bank accounts. wema is the default channel
dateOfBirthNostringThe date of birth of the customer. required only when creating VFD virtual accounts in NGN. Format (mm/dd/yyyy )
KYCInformation.firstNameNostringThe customer's first name . This is required to create an individual account
KYCInformation.lastNameNostringThe customer's last name . This is required to create an individual account
KYCInformation.emailNostringThe customer's email.
KYCInformation.bvnYesstringBank verification number.

The payload should look like this :

{
    "dateOfBirth": "10-12-1993",
    "accountType": "individual",
    "currency": "NGN",
    "KYCInformation": {"firstName": "rita", "lastName": "general", "bvn": "090909909"}
}

Corporate Request

These are the fields required to process an individual Virtual Account request in NGN

FieldMandatorytypeDescription
currencyyesstringThe virtual account currency.e.g NGN
accountTypeyesstringThe virtual account type . Please see the API documentation for more details
channelNostringThe value should be wema for wema bank accounts and vfd for VFD bank accounts. wema is the default channel
dateOfBirthNostringThe date of birth of the customer. required only when creating VFD virtual accounts in NGN. Format (mm/dd/yyyy )
bvnNostringBank verification number. compulsory for vfd bank accounts . This must be the date of birth on thee customer's BVN
KYCInformation.emailNostringThe customer's email.
KYCInformation.businessNameNostringThe customer's business name .
KYCInformation.bvnYesstringBank verification number.
KYCInformation.bvnNameNostringThe name you want to be on the account. This must be the same name on the customer'sBVN

The payload should look like this :

{
    "dateOfBirth": "10-12-1993",
    "accountType": "corporate",
    "currency": "NGN",
    "KYCInformation": {"bvn": "90909090909", "bvnName": "jane foster", businessName": "jane"},
    "channel": "wema"
}

Please Note that BVN must match the details of any of the Directors on the CAC record for the corporate entity