1. Merchant
Virtual Account Services
  • Introduction
  • Terminologies
  • Webhooks
  • Authentication
  • Account
    • Create Account
      POST
    • Balance Inquiry
      GET
    • Rename Account
      POST
    • Create Bulk Accounts
      POST
    • List Accounts
      GET
  • Transaction
    • Credit Account
      POST
    • Debit Account
      POST
    • Credit Account [Agency Banking]
      POST
    • Debit Account [Agency Banking]
      POST
    • Transaction Query
      GET
    • Transaction Details
      GET
    • Transaction History
      GET
  • Transfer
    • Interbank Transfer
    • Transfer Enquiry
    • Get Institutions
    • Virtual Account Intrabank Transfer
    • Intrabank Transfer Query
    • Collection Accounts Intrabank Transfer
    • Name Inquiry
    • Core Banking Intrabank Transfer
    • Transfer Query
    • Interbank Transfer [Sync]
  • Invoice
    • Create Invoice
    • Get Invoice Detail
    • Get Invoice Status
    • List Merchant Invoices
  • Refunds
    • Get Refunds
    • Initiate Refund
    • Get Refund Status
  • Notifications
    • Notification
    • Send Notification
  • Group Code
    • Create Group Code
  • Overdraft
    • Draw Overdraft
  • Merchant
    • Account
      • Get Account
      • Activate Sub Ledger For Merchant
      • Get SubLedger Callback Urls
      • Set SubLedger Callback Urls
      • Get Collection Accounts
    • Transfer
      • Get Transfer Details
      • Name Inquiry
      • Get Transfer History
      • Get Subledger transfers
    • Refund
      • Refund Details
    • Create Merchant Account
      POST
    • Activate Sub Ledger For Merchant
      POST
    • Get KYC Information
      POST
    • Get Group Code Collection Account
      GET
    • Get Collection Accounts
      GET
    • Set Collection Account
      POST
    • Get Transfer Details
      GET
    • Name Inquiry
      POST
  • Admin
    • Accounting
      • Get Classification Codes
      • Get GL Accounts
    • Dashboard
      • Dashboard Summary
      • Dashboard Transaction Details
      • Dashboard Transactions
    • Group Codes
      • Create Group Code
      • Set Collection Account
      • Get Group Codes
    • Reporting
      • Get Report Parameters
      • Get Reports
      • Create Report
      • Get Reports Details
      • Get Reports
    • Get Reports
    • Get Report Parameters
  • Schemas
    • VACreateGroupCodeRequest
    • SubLedgerGroup
    • InvalidParameterError
    • TransactionPointError
    • UnauthorizedError
    • SpringDefaultError
  1. Merchant

Create Merchant Account

POST
/merchant/account

Create Merchant Account#

Creates a merchant (client) record. No bank account is opened by this call.
POST /merchant/account

Request Body#

Field NameTypeRequiredDescription
officeIdLongFALSEDefaults to 1
legalFormIdLongFALSE1 for a person (default), 2 for an entity
firstnameStringTRUEUp to 50 characters
lastnameStringTRUEUp to 50 characters
emailAddressStringFALSEContact email
mobileNoStringFALSEUp to 50 characters, must be unique
externalIdStringFALSEBVN of the merchant. Up to 100 characters, must be unique
ninStringFALSENIN of the merchant. Must be unique
dateFormatStringFALSEFormat of the dates below. Defaults to dd MMMM yyyy
localeStringFALSEDefaults to en
activeBooleanFALSEDefaults to true. When true activationDate is required
submittedOnDateStringTRUESubmission date, in dateFormat
activationDateStringTRUE when activeActivation date, in dateFormat

Response#

Field NameTypeDescription
clientIdLongIdentifier of the new merchant
nubanStringEmpty, no account is opened by this call
subLedgerActivatedBooleanAlways false for a new merchant

Request

Authorization
OAuth 2.0
Client Credentials
Add the parameter
Authorization
to Headers
,whose value is to concatenate the Token after the Bearer.
Example:
Authorization: Bearer ********************
Token URL: {{tpGatewayHostUrl}}/security/authenticate
or
Body Params application/json

Example
{
  "officeId": 1,
  "legalFormId": 1,
  "firstname": "Ada",
  "lastname": "Example",
  "emailAddress": "ada.example@example.com",
  "mobileNo": "08000000000",
  "externalId": "22000000000",
  "nin": "12345678901",
  "dateFormat": "dd MMMM yyyy",
  "locale": "en",
  "active": true,
  "submittedOnDate": "05 January 2025",
  "activationDate": "05 January 2025"
}

Request Code Samples

Shell
JavaScript
Java
Swift
Go
PHP
Python
HTTP
C
C#
Objective-C
Ruby
OCaml
Dart
R
Request Request Example
Shell
JavaScript
Java
Swift
curl --location '/merchant/account' \
--header 'Content-Type: application/json' \
--data-raw '{
  "officeId": 1,
  "legalFormId": 1,
  "firstname": "Ada",
  "lastname": "Example",
  "emailAddress": "ada.example@example.com",
  "mobileNo": "08000000000",
  "externalId": "22000000000",
  "nin": "12345678901",
  "dateFormat": "dd MMMM yyyy",
  "locale": "en",
  "active": true,
  "submittedOnDate": "05 January 2025",
  "activationDate": "05 January 2025"
}'

Responses

🟢200Success
application/json
Success
Bodyapplication/json

Example
{
  "clientId": 18,
  "nuban": "",
  "subLedgerActivated": false
}
🟠400| Source | Error | When |
🟠401| Source | Error | When |
🟠403| Source | Error | When |
🟠404| Source | Error | When |
🔴500| Source | Error | When |
Modified at 2026-11-02 12:41:40
Previous
Refund Details
Next
Activate Sub Ledger For Merchant
Built with