✨Create Virtual Account

Partners Bank Code.

Bank Code
Bank Name

20867

Palmpay

29007

Safehaven (Dynamic)

πŸ” Request Headers

{
  "Authorization": "Bearer YOUR_API_SECRET",
  "Content-Type": "application/json",
  "api-key": "YOUR_API_KEY"
}

πŸ“¦ Request Body

You can provide customer details in two ways, depending on whether you already have a customer_id (an existing KYC-verified customer):

βœ… Option 1: Using customer_id (for existing KYCed customers)

Field
Type
Required
Description

customer_id

string

βœ…

The unique customer identifier

bankCode

array

βœ…

List of partner bank codes

businessId

string

βœ…

Your registered business ID

accountType

string

βœ…

static or dynamic

amount

number

βœ… if dynamic

Amount to be paid (for dynamic only)

externalReference

string

No

externalReference For dynamic account (Not required)

callbackUrl

string|url

No

callbackUrl for dynamic account (Not required)

➑️ Notes:

πŸ”Έ If accountType is dynamic, amount is required. πŸ”Έ Do not include name, email, phoneNumber, id_type, or id_number.

Example:

{
  "customer_id": "cus_8ed239dks2s7",
  "bankCode": ["20867"],
  "businessId": "xixapay-business-id-123",
  "accountType": "dynamic",
  "amount": 1500
}

βœ… Option 2: Using Raw Customer Data (for new or unverified customers)

Field
Type
Required
Description

email

string

βœ…

Customer email address

name

string

βœ…

Customer full name

phoneNumber

string

βœ…

Customer phone number

bankCode

array

βœ…

List of partner bank codes

businessId

string

βœ…

Your registered business ID

accountType

string

βœ…

static or dynamic

amount

number

βœ… if dynamic

Amount to be paid (for dynamic only)

id_type

string

πŸ”

e.g., nin, bvn – required if static

id_number

string

πŸ”

The actual ID number – required if static

➑️ Notes:

  • id_type and id_number are only required if accountType is set to static.

  • For dynamic accounts, they are optional.

Example (Static Account):

{
  "email": "[email protected]",
  "name": "John Doe",
  "phoneNumber": "08123456789",
  "bankCode": ["20867"],
  "businessId": "xixapay-business-id-123",
  "accountType": "static",
  "id_type": "nin",
  "id_number": "12345678901"
}

Example (Dynamic Account without ID):

{
  "email": "[email protected]",
  "name": "Jane Doe",
  "phoneNumber": "08012345678",
  "bankCode": ["20867"],
  "businessId": "xixapay-business-id-123",
  "accountType": "dynamic",
  "amount": 5000
}
// response sample
{
    "status": "success",
    "message": "Customer account created successfully. Bank account(s) processed and ready for use.",
    "customer": {
        "customer_id": "fa6aa77cbc60ee04c67f5b7d56394733ed67b924",
        "customer_name": "a",
        "customer_email": "ad.com",
        "customer_phone_number": "07"
    },
    "business": {
        "business_name": "Av",
        "business_email": "a",
        "business_phone_number": "07018",
        "business_Id": null
    },
    "bankAccounts": [
        {
            "bankCode": "20867",
            "accountNumber": "6698059290",
            "accountName": "A(xixapay)",
            "bankName": "Palmpay",
            "accountTye": "static"
            "Reserved_Account_Id": "3a28cfe332ccf8596bd454584"
        },
    ],
}

Last updated