Virtual Account Services
  1. Invoice
Virtual Account Services
  • Introduction
  • Terminologies
  • Webhooks
  • Authentication
  • Account
    • Create Account
      POST
    • Rename Account
      POST
    • Balance Inquiry
      GET
    • 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
    • Get Institutions
      GET
    • Name Inquiry
      POST
    • Interbank Transfer
      POST
    • Interbank Transfer [Sync]
      POST
    • Transfer Query
      GET
    • Transfer Enquiry
      GET
    • Virtual Account Intrabank Transfer
      POST
    • Core Banking Intrabank Transfer
      POST
    • Collection Accounts Intrabank Transfer
      POST
  • Invoice
    • Create Invoice
      POST
    • Get Invoice Detail
      GET
    • List Merchant Invoices
      GET
  • Refunds
    • Initiate Refund
    • Get Refund Status
    • Get Refunds
  • Notifications
    • Notification
    • Send Notification
  • Merchant
    • Account
      • Get Account
      • Activate Sub Ledger For Merchant
      • Get SubLedger Callback Urls
      • Set SubLedger Callback Urls
      • Get Collection Accounts
    • Transfer
      • Get Transfer History
      • Get Subledger transfers
      • Get Transfer Details
      • Name Inquiry
    • Refund
      • Refund Details
  • Admin
    • Accounting
      • Get GL Accounts
      • Get Classification Codes
    • Dashboard
      • Dashboard Summary
      • Dashboard Transactions
      • Dashboard Transaction Details
    • Group Codes
      • Get Group Codes
      • Set Collection Account
      • Create Group Code
    • Reporting
      • Get Report Types
      • Get Report Parameters
      • Create Report
      • Get Reports
      • Get Reports Details
  1. Invoice

Create Invoice

POST
/invoice
Creates an Invoice Virtual Account with an expiry date and time. After the expiry or payment of the funds to the account, the NUBAN(Account number) is reallocated for reuse.

Request Body#

Field NameTypeRequiredDescription
subledgergroupcodestringTRUEThe unique code identifying the subledger group associated with the invoice.
invoiceReferencestringTRUEA unique reference for the invoice.
descriptionstringTRUEA brief description of the invoice.
customerEmailstringTRUEThe email address of the customer to be billed.
customerNamestringTRUEThe name of the customer.
expiryDatestringTRUEThe expiry date and time of the invoice (format: YYYY-MM-DD HH:mm:ss).
amountdecimalTRUEThe total amount to be invoiced.
callbackUrlstringTRUEThe URL to which callback notifications will be sent.
callbackPayloadobjectTRUEAn object containing additional callback data (e.g., account number, customer email, passcode, etc.).

Response Body#

Field NameTypeDescription
subLedgerIDstringThe unique identifier assigned to the invoice subledger entry.
descriptionstringThe invoice description.
customerEmailstringThe customer's email address.
customerNamestringThe customer's name.
invoiceReferencestringThe unique invoice reference.
amountdecimalThe invoice amount.
subledgergroupcodestringThe subledger group code associated with the invoice.
nubanstringThe account number linked to the subledger invoice.
expiryDatestringThe invoice expiry date and time.
callbackUrlstringThe callback URL provided in the request.
callbackPayloadobjectThe callback payload data as returned in the response.

Request

Body Params application/json

Example
{
    "subledgergroupcode":"8RFVJ70FK4",
    "invoiceReference":"000000111",
    "description":"Test Invoice 111",
    "customerEmail":"mohdolateju@gmail.com",
    "customerName":"Mohammed",
    "expiryDate": "2024-02-02 13:15:00",
    "amount" : 140,
    "callbackUrl":"https://webhook.site/7777c99c-cf66-48f1-8ddc-54e34feb4b4d",
    "callbackPayload":{
        "account_number":"Example Response",
        "customer_email":"mohdolateju@gmail.com",
        "passcode":"c37360ece4c3cd81b14ad5ef787b84f3470b7d1ceb7112b63917d68eb145739fa4ed01bc540bd88810411be7236c9453edb3f1e4b9b6727c45f86db4f987755b"
    }
}

Request 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 --request POST '/invoice' \
--header 'Content-Type: application/json' \
--data-raw '{
    "subledgergroupcode":"8RFVJ70FK4",
    "invoiceReference":"000000111",
    "description":"Test Invoice 111",
    "customerEmail":"mohdolateju@gmail.com",
    "customerName":"Mohammed",
    "expiryDate": "2024-02-02 13:15:00",
    "amount" : 140,
    "callbackUrl":"https://webhook.site/7777c99c-cf66-48f1-8ddc-54e34feb4b4d",
    "callbackPayload":{
        "account_number":"Example Response",
        "customer_email":"mohdolateju@gmail.com",
        "passcode":"c37360ece4c3cd81b14ad5ef787b84f3470b7d1ceb7112b63917d68eb145739fa4ed01bc540bd88810411be7236c9453edb3f1e4b9b6727c45f86db4f987755b"
    }
}'

Responses

🟢200Create Invoice
application/json
Body

Example
{
    "subLedgerID": "9900001458",
    "description": "Test Invoice 49",
    "customerEmail": "mohdolateju@gmail.com",
    "customerName": "Mohammed",
    "invoiceReference": "000000049",
    "amount": 120,
    "subledgergroupcode": "8RFVJ70FK4",
    "nuban": "9900001458",
    "expiryDate": "2023-12-11 12:15:00",
    "callbackUrl": "https://webhook.site/7777c99c-cf66-48f1-8ddc-54e34feb4b4d",
    "callbackPayload": {
        "customerEmail": "mohdolateju@gmail.com",
        "customerName": "Mohammed",
        "passcode": "29028309DIFJASJ9289J3281"
    }
}
Modified at 2025-03-17 22:03:04
Previous
Collection Accounts Intrabank Transfer
Next
Get Invoice Detail
Built with