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/static-accounts \
  --header 'Authorization: <SECRET_KEY>' \
  --header 'Content-Type: application/json' \
  --data '
    {
        "firstName": "Coke",
        "lastName": "Smith",
        "phoneNumber": "08090485843",
        "email": "[email protected]",
        "bvn": ""
    }
  '
order
object
required

Account reference

amount
number
required

The payment amount to be paid by customer (must be greater than 0)

currency
string
required

The currency code (e.g., “USD”, “NGN”)

description
string
required

Description of the transaction

pageName
string
required

Name of the payment page

transactionReference
string
required

Unique identifier for the transaction

customerEmail
string
required

The customer email address.

customUrl
string

URL to redirect after payment

expiryDate
string (ISO 8601)
required

Expiry date for the payment link.

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)