This endpoint is used to create a static virtual account, you will get a generated account when you make a request to this endpoint. This account will be attached a business or individual solely for transaction purposes.

To request for an account, make a POST request to the endpoint /v1/static-accounts. you will be required to pass the request parameters listed below.
firstName, lastName, phoneNumber,email and bvn.

create virtual account request

Request
curl --request POST \
  --url https://adapter.cepta.co/api/v1/pay/static-accounts \
  --header 'X-Access-Ts: <EPOCH Timestamp(seconds)>' \
  --header 'X-Access-Key: <PUBLIC_KEY>' \
  --header 'X-Access-Signature: <HMAC SHA256 signature>' \
  --header 'Content-Type: application/json' \
  --data '
    {
        "firstName": "Coke",
        "lastName": "Smith",
        "phoneNumber": "08090485843",
        "email": "[email protected]",
        "bvn": ""
    }
  '
data
object
required

Create Virtual Account

firstName
string
required

Account holder first name.

lastName
string
required

Account holder last name.

phoneNumber
string
required

Account holder phone number.

email
string
required

Account holder email.

bvn
string
required

Account holder bvn.

Create virtual account response

An example response body of an account that is created successfully.

Success response
{
    "status": true,
    "message": "Successfully created virtual account",
    "data": {
        "firstName": "Coke",
        "lastName": "Smith",
        "phoneNumber": "08090485843",
        "email": "[email protected]",
        "accountNumber": "4051460587",
        "bankName": "Premium Trust Bank",
        "isActive": true,
        "createdAt": "2025-01-31T19:08:05.1263716Z"
    }
}

When you successfully created a virtual account, the response returned will include a data object that contains the generated accountNumber and bankName. The isActive property indicates if the account is active or expired.

Handling Create virtual account response

status
boolean

Indicates if the request was successful.

message
string

Descriptive message about the request result.

data
object
firstName
string

Account holder first name.

lastName
string

Account holder last name.

phoneNumber
string

Account holder phone number.

email
string

Account holder email address.

accountNumber
string

Account holder generated account number.

bankName
string

The generated bank name.

isActive
boolean

Shows account is active or expired

createdAt
string (ISO 8601)