Collection Account

Collection Account (Static Virtual Account)

A Collection Account (also called a Static Virtual Account) is a persistent virtual account that can be assigned to a merchant/customer for recurring collections. Unlike Dynamic Virtual Accounts (generated per transaction), a Static Account remains the same and can be reused.

Create Collection Account (Static Virtual Account)

This API allows you to create a Static Virtual Account (Collection Account) for a merchant/customer. The account can be used to receive bank transfers repeatedly.

Request Endpoint

POST /api/v1/accounts/static


Headers

Header
Value

Authorization

Bearer {token}

Content-Type

application/json

accept

*/*

Ensure you pass the bearer token retrieved from the authentication login endpoint as the Authorization header.


Request Body

{
  "accountName": "Testing Account",
  "bvn": "22345678901",
  "email": "testing.account@gmail.com",
  "merchantId": "MRC_0000002451",
  "merchantCode": "Nai0000319",
  "notificationUrl": "https://api.yourcompany.com/webhooks/virtual-account/notification",
  "phoneNumber": "+2348031234567",
  "channel": "API"
}

Request Parameters

Field
Type
Required
Description

accountName

string

Yes

Name to be tied to the collection account.

bvn

string

Yes

BVN of the account owner/customer.

email

string

Yes

Email address linked to the account.

merchantId

string

Yes

Internal merchant identifier (e.g. MRC_...).

merchantCode

string

Yes

Merchant code/client code (e.g. Nai...).

notificationUrl

string

Yes

Webhook URL to receive account/transaction notifications.

phoneNumber

string

Yes

Phone number of the customer/merchant contact.

channel

string

Yes

Channel initiating the request (e.g. API).


cURL Example


Response Codes

Code
Meaning

200

Success

400

Bad Request


Response Body Example


Response Parameters

Field
Type
Description

isSuccessful

boolean

Indicates if the request was successful.

message

string

Human-readable response message.

data.id

number

Internal ID for the created collection account.

data.bankCode

string

Bank code assigned to the virtual account (e.g. 035).

data.accountNumber

string

The generated static virtual account number.

data.accountName

string

The account name tied to the static account.

data.bvn

string

BVN provided during creation.

data.email

string

Email provided during creation.

data.accountBalance

number

Current balance tracked for the account (if applicable).

data.merchantId

string

Merchant identifier tied to the account.

data.merchantCode

string

Merchant code tied to the account.

data.notificationUrl

string

Webhook URL tied to notifications.

data.isDefault

boolean

Indicates if this is the default collection account for the merchant.

data.isActive

boolean

Indicates if the account is active.

data.currencyCode

string

Currency for the account (e.g. NGN).

data.phoneNumber

string

Phone number provided during creation.

data.channel

string

Channel used to create the account (e.g. API).

data.createdAt

string

Timestamp when the account was created.

data.updatedAt

string

Timestamp when the account was last updated.


Notes / Usage

  • Use the returned accountNumber as the Collection Account for bank transfers.

  • notificationUrl should be an endpoint that can receive webhook events for updates/notifications related to the static account.

  • isDefault=false means this account is not the default for the merchant unless later set.

Get Collection Account by Account Number

This API allows you to retrieve a Collection Account (Static Virtual Account) using the account number.


Request Endpoint

GET /api/v1/accounts/static/{accountNumber}


Headers

Header
Value

Authorization

Bearer {token}

accept

*/*

Ensure you pass the bearer token retrieved from the authentication login endpoint as the Authorization header.


Path Parameter

Parameter
Type
Required
Description

accountNumber

string

Yes

The static virtual account number to retrieve (e.g. 9961043198).


cURL Example


Response Codes

Code
Meaning

200

Success

400

Bad Request


Response Body Example


Response Parameters

Field
Type
Description

isSuccessful

boolean

Indicates if the request was successful.

message

string

Human-readable response message.

data.id

number

Internal ID of the static account.

data.bankCode

string

Bank code assigned to the virtual account (e.g. 035).

data.accountNumber

string

The static virtual account number.

data.accountName

string

Name tied to the account.

data.bvn

string

BVN tied to the account.

data.email

string

Email tied to the account.

data.accountBalance

number

Current balance tracked for the account (if applicable).

data.merchantId

string

Merchant identifier tied to the account.

data.merchantCode

string

Merchant code/client code tied to the account.

data.notificationUrl

string

Webhook URL for notifications.

data.isDefault

boolean

Indicates if the account is set as default.

data.isActive

boolean

Indicates if the account is active.

data.currencyCode

string

Currency (e.g. NGN).

data.phoneNumber

string

Phone number tied to the account.

data.channel

string

Channel used to create the account (e.g. API).

data.createdAt

string

Timestamp when the account was created.

data.updatedAt

string

Timestamp when the account was last updated.

Last updated