Create Virtual Account

To Create a Virtual account, you'll need to pass information such as first name, last name, email, amount customer and currency required.

Request Details

FieldData typeRequiredDescription
customer.firstNamestringYesThe customer's first name . This is required to create all account type
customer.lastNamestringYesThe customer's last name . This is required to create all account type
customer.phoneNumberstringYesThe customer's phone number
customer.emailstringYesThe customer's email.
currencystringYesSee Supported Currencies only NGN available for now
amountnumberNoThe amount that can be funded. If passed the created virtual account can only be funded with an amount equal or greater than what was specified during its creation. otherwise the created virtual account can be funded with any amount.
accountTypeenumNoThe virtual account type. This can be INDIVIDUAL or COOPERATE only INDIVIDUAL available for now
accountCategoryenumNoThe virtual category this can be a DEDICATED_VIRTUAL_ACCOUNT or VIRTUAL_ACCOUNT only VIRTUAL_ACCOUNT available for now
bankenumNoThe value should be VFD for VFD bank accounts .
expiresAtstringNoValidity time for account expiration in minutes, the default value is 4320 minutes. Maximum value that can be passed is 4320. This is required when creating a VIRTUAL_ACCOUNT

After collecting the necessary details. Make a POST request to our wallets endpoint.

Note : Before making a post request, the secret key should be specified in the header.

-H "x-api-key: your_secret_key".
{{host}}/v1/wallets

If the API call is successful, Kyshi returns the following response:

{
    "customer": {
        "firstName": "Raphael",
        "lastName": "Ajilore",
        "phoneNumber": "08062265208",
        "email": "[email protected]"
    },
    "currency": "NGN",
    "accountType": "INDIVIDUAL",
    "accountCategory": "VIRTUAL_ACCOUNT",
    "bank": "VFD",
    "expiresAt": "30",
    "amount": 1000
}
{
    "status": true,
    "code": 201,
    "message": "Success",
    "data": {
          "bankCode": "999999",
          "accountNumber": "4700040150",
          "accountName": "Raphael Ajilore",
          "bankName": "VFD Microfinance Bank",
          "reference": "Raphael Ajilore-cF0ln70YSj",
          "expiresAt": "30",
          "currency": "NGN",
          "accountType": "INDIVIDUAL",
          "accountCategory": "VIRTUAL_ACCOUNT",
          "bank": "VFD",
          "amount": 1000,
          "isPermanent": false,
          "id": "d4cfbb74-7664-4a72-b62b-60c9a0ea90d0",
          "provider": "VFD",
          "createdAt": "2024-07-09T09:21:21.878Z",
          "updatedAt": "2024-07-09T09:21:21.878Z",
          "version": 1
      }
}