๐ŸฆCreate Virtual Account

This functionality enables you to create a virtual account on behalf of your customers. The assigned account number is unique to each customer.

These accounts are very useful for merchants whose;

Customers can only pay for a single service: This is common for electricity companies, internet service providers, etc. The account reserved for the customer in this scenario allows them to pay for a service by doing a simple transfer to their reserved account and the payment is confirmed. Businesses that involve the use of a wallet: Here, an account number is reserved for each customer's wallet to enable them to top up by simply transferring to that account. Examples of this are Super Agents, Investment Applications, Logistics Applications, etc.

How does Customer Reserved Account work?

  • Create a reserved account for customers through a POST request to the Reserve an Account API.

  • Allow customers to make payments to the reserved account whenever needed once the account is established.

  • When a customer initiates a transfer, notifications are sent to the partner bank, payvessel, and the merchant regarding the transaction on the account.

  • Provide the merchant with transaction specifics and the account reference for each transaction for their records.

Partners Bank Code

9Payment Service Bank 120001

PalmPay 999991

Request Headers

headers = {
  'api-key': 'PVKEY-FNLYA8DW2LGZE6KFI0K4AA7N5JP',
  'api-secret': 'Bearer PVSECRET-5LZNFFNT8N9NF6SXUZPWEYQ0Q2Y',
  'Content-Type': 'application/json'
}

Request Body

  • What is a Static Account (STATIC)?

    The static account is a permanent account, for automated bank funding. Static Account required BVN or NIN , it can be stored in your database and your customers can save it as beneficiary in their bank app

  • What is a Dynamic Account (DYNAMIC)?

    The dynamic account is a TEMPORARY bank account for automated bank funding, that can only be used ONCE/ONE TIME and it becomes INVALID IMMEDIATELY after you use it, Don't store a dynamic account in your database, call create a dynamic account when you need it.

  • What happens if I send money to DYNAMIC ACCOUNT that has expired?

    You will receive a refund.

account_type can be STATIC or DYNAMIC
{
    "email":"johndoe@gmail.com",
    "name":"JOHN DOE",
    "phoneNumber":"090xxxxxxx2",
    "bankcode":["999991","120001"],
    "account_type": "STATIC",
    "businessid":"XXXXXXXXXXXXXXXXXXX",
    "bvn":"xxxxxxxxxxx",
    "nin":"xxxxxxxxx",

}

Create Virtual Bank Account

POST https://api.payvessel.com/pms/api/external/request/customerReservedAccount/

Partners Bank Code

PalmPay 999991

9Payment Service Bank 120001

Request Body

Name
Type
Description

email*

String

Customer email address

name*

String

customer first name and last name (i.e john doe)

phoneNumber*

String

Customer phone number

bankcode*

Array/List

Our Parner Bank Code

businessid*

String

merchant business Id

bvn*

number

customer bvn

nin*

number

customer nin

Response Body

{
    "status": true,
    "service": "CREATE_VIRTUAL_ACCOUNT",
    "business": "061C074E2F91F944B93993B4",
    "banks": [
        {
            "bankName": "9Payment Service Bank",
            "accountNumber": "5030200545",
            "accountName": "Payvessel-Merchant",
             "account_type": "STATIC",
            "expire_date": "2024-01-04T11:29:32.6522498+01:00",
            "trackingReference": "40HTTGT96CDF360C3DRVGV3J"
        },
        {
            "bankName": "PalmPay",
            "accountNumber": "6030200545",
            "accountName": "Payvessel-Merchant",
             "account_type": "STATIC",
            "expire_date": "2024-01-04T11:29:32.6522498+01:00",
            "trackingReference": "50HTTGT96CDF360C3DRVGV3J"
        },
       
    ]
}

Last updated