Supported Payment Methods & Payload Requirements
Opay and PalmPay Collections:
Opay and PalmPay are not separate Niobi payment methods. Customers can fund the dynamic virtual account by transferring from their Opay or PalmPay wallet, or from any Nigerian banking app. The API call on your end is the same virtual account deposit request.
Opay and PalmPay are not separate Niobi payment methods. Customers can fund the dynamic virtual account by transferring from their Opay or PalmPay wallet, or from any Nigerian banking app. The API call on your end is the same virtual account deposit request.
Payment Flow: How It Works
Deposits (Collections via Dynamic Virtual Accounts)
- Initiation: Send a signed POST request to the Unified Collections endpoint with
payment_method_type: "virtual_account"along withfirst_name,last_name,account_name, andbank_code. - Virtual Account Generation: Niobi returns an initial response (
payment_step: 1) containing the generatedaccount_numberandbank_name. - Customer Transfer: Display the account details to the customer. The customer transfers the exact amount via their bank app, Opay, or PalmPay within 30 minutes.
- Callback Confirmation: Once the funds land, Niobi delivers an asynchronous webhook callback (
payment_step: 2,status: "success") to yourcallback_url.
Supported Virtual Account Issuing Banks (Collections)
Pass one of the following codes asbank_code in your collection request:
Exact Amount Required:
Ensure customers transfer the exact requested amount. Any overpayment is automatically reversed to the payer upon successful settlement.
Ensure customers transfer the exact requested amount. Any overpayment is automatically reversed to the payer upon successful settlement.
Payouts (Bank Transfers)
- Initiation: Send a signed POST request to the Unified Payments endpoint with
payment_method_type: "bank". - Bank Parameters: Include a
bankarray containing the recipient’sbank_name,bank_code,branch_name,account_name, andaccount_number. - Processing: Niobi returns an initial acknowledgement (
payment_step: 1). - Callback Delivery: Niobi delivers a terminal callback (
payment_step: 2) to yourclient_callback_urlonce the funds have cleared the recipient’s bank.
List of Supported Nigerian Banks for Payouts
Pass one of the following codes asbank_code in the bank array when initiating a payout:
Supported Nigerian Banks
Supported Nigerian Banks
Sample Requests & Responses
Deposit request
account_name is the name of the account holder for the bank selected via bank_code. bank_code determines which bank issues the virtual account. sub_merchant_id is optional and only needed if you’re onboarding multiple brands under one account; see Sub-Merchant Management.
Deposit response (successfully initiated)
payment_step: 1 means the request was accepted and a dynamic virtual account was generated; it does not mean the customer has paid yet. Await the terminal callback (payment_step: 2).
Payout request
bank_code here is First Bank of Nigeria, from the list above; swap in whichever bank the recipient account is held at.
Payout response (successfully initiated)
Payout response (failed to initiate)
Webhook/Callback Examples
Successful deposit
Failed deposit
payment_step: 2 is the terminal status on the transaction, sent for both success and failure. Ensure your callback listener acknowledges with HTTP 200 OK and reconciles your database.
Successful payout
Failed payout
Try it
Try it: POST /api/v4/niobi-unified-collections
Collections API reference for Nigeria deposits.
Try it: POST /api/v4/niobi-unified-payments
Payments API reference for Nigeria payouts.
Transaction Limits
For the full list of minimum and maximum transaction limits for Nigeria (NGN) collections and payouts, please see the Transaction Limits for Nigeria section on the Transaction Limits page.Deposit Settlement & Overpayment Protection:
For NGN virtual account deposits, customers must transfer the exact requested amount. If an overpayment occurs, the expected amount is processed and the excess is automatically reversed to the customer upon successful settlement.
For NGN virtual account deposits, customers must transfer the exact requested amount. If an overpayment occurs, the expected amount is processed and the excess is automatically reversed to the customer upon successful settlement.


