Skip to main content

Overview

Niobi supports diverse payment collection channels across Africa. Depending on the destination country, your application can collect funds via Mobile Money, Dynamic Virtual Accounts, Bank Transfers, or Browser Redirects.

Master Country Collection Matrix

Upcoming Collection Corridors


1. Mobile Money (USSD STK Push)

USSD Push (STK Push) is the standard mobile money collection flow across East and West Africa.

How It Works:

  1. Your backend dispatches POST /api/v4/niobi-unified-collections with the corridor-specific payment_method_type for that mobile money network.
  2. The telco switch sends an instant SIM toolkit prompt to the customer’s mobile phone.
  3. The customer enters their PIN to authorize the payment.
  4. Niobi dispatches a terminal callback (payment_step: 2) to the callback_url passed under params.callback_url in your request.
payment_method_type Matches the Channel and Country:
The value passed in payment_method_type is specific to the local payment provider and country:
  • Kenya (Country ID: 1): payment_method_type = "send money" (M-Pesa STK Push) or "airtel" (Airtel Money)
  • Ghana (Country ID: 16): payment_method_type = "mtn", "At", or "vodafone"
  • Côte d’Ivoire (Country ID: 3): payment_method_type = "Orange", "mtn", "moov", or "Wave"
  • Senegal (Country ID: 9): payment_method_type = "Orange", "free", or "Wave"
  • Nigeria (Country ID: 17): payment_method_type = "virtual_account" (Dynamic Virtual Account)
  • South Africa (Country ID: 15): payment_method_type = "bank_eft" (Bank EFT) or "capitec" (Capitec Pay)
Always check the individual Country Guides for the exact method strings accepted in each market.

Sample Request: Kenya M-Pesa STK Push (Country ID: 1)


2. Dynamic Virtual Accounts (Nigeria - NGN)

For Nigerian collections, Niobi provides dynamic virtual bank accounts that expire within 30 minutes.
Send Exact Amounts:
For NGN virtual account deposits, the expected amount is processed and any overpayment is automatically reversed to the customer upon successful deposit. Always instruct customers to transfer the exact amount.

Required Parameters for Nigerian Virtual Accounts:

  • payment_method_type: "virtual_account" or "bank"
  • first_name: Customer’s first name
  • last_name: Customer’s last name
  • account_name: Customer’s full bank account name
  • bank_code: Code of the issuing bank:
    • 17001: 78 Finance Company Limited
    • 17002: Fidelity Bank Limited
    • 17003: Globus Bank

Sample Request:

Initial API Response (Returns Virtual Account Details):

Display the returned account_number and bank_name to your customer to complete their transfer. See the Nigeria Country Guide for full details.

3. South Africa Bank Transfers & Capitec (ZAR)

South African collections support both generic bank transfers (EFT) and direct Capitec authorization. There is no "eft" value, EFT collections use payment_method_type: "bank_eft", shown below.
payment_method_type: "bank_eft"
Returns an authorization_url where the customer approves the payment directly with their bank (ABSA, FNB, Standard Bank, Nedbank, Investec, Bidvest, TymeBank).
Initial Response: Returns "authorization_url": "https://..." and "payment_step": 1. Redirect the customer to this URL.

4. Wave Collections (Senegal & Côte d’Ivoire)

Wave uses a redirect-based authorization flow, not a USSD push:
1

1. Initiate the collection

Submit the request with successful_url and failure_url included in the parameters.
2

2. Redirect the customer to authorize

Niobi returns an authorization_url (payment_step: 1). Redirect the customer to this URL. If they open it on their phone, it launches the Wave app directly to approve payment; if they open it on a desktop browser, the page displays a QR code they can scan with the Wave app on their phone to authorize instead.
Wave hosted checkout page with QR code

Opening the authorization_url in a desktop browser: the customer scans the QR code with the Wave app to pay.

Wave app payment confirmation screen

Opening the authorization_url on a phone: the Wave app opens directly to confirm the payment.

3

3. Redirect on completion

Once the customer approves or cancels the payment in Wave, they’re redirected to your successful_url or failure_url accordingly, and Niobi delivers the terminal webhook callback (payment_step: 2) to your callback_url.

Sample Request (Senegal - XOF):


5. OTP-Verified Payins (Côte d’Ivoire Orange)

For Orange payins in Côte d’Ivoire, payment authorization requires a two-step OTP process:

Step 1: Initiate Deposit

Submit the collection request to POST /api/v4/niobi-unified-collections. The customer receives an SMS OTP, and the response returns a payment_token:

Step 2: Verify the Transaction with OTP

Collect the OTP from the customer and send a signed request to POST /api/v4/niobi-unified-process-transaction:
  • OTP Validity: In production, the authorization OTP is valid for 2 minutes.
  • Sandbox Testing: Use OTP 000000 to simulate successful verification when testing in the sandbox environment.

Hosted Checkout & Payment Links

If you want to accept payments without building and maintaining a custom front-end payment interface, Niobi provides Payment Links (Hosted Checkout). This is the fastest and easiest way to start collecting payments across Africa with zero UI code required on your part. For full architectural walkthroughs, dashboard setup, and API parameters, see the Payment Links Guide. Niobi Hosted Checkout Interface

Why Use Hosted Checkout?

  • Zero Front-End Engineering: You do not need to build complex payment forms, input masks, or error-handling UI. Niobi hosts the entire checkout experience for you.
  • Multi-Currency & Country Support: Payer details, country selection, and currency conversions are handled automatically on the page.
  • Flexible Distribution: Share links over WhatsApp, SMS, invoices, emails, or redirect customers directly from your website or mobile app checkout button.
  • Instant Reconciliation: When a payment is completed on the hosted checkout page, Niobi dispatches an asynchronous webhook callback to your server and credits your merchant wallet in real time.

How Hosted Checkout Works:

1

1. Create via Dashboard (No-Code) or API

  • Dashboard (No-Code): Log into your Niobi Dashboard, navigate to Payments -> Payment Links, click Create Payment Link, enter your item name, currency, and amount (fixed or customer-entered), and copy your generated checkout URL immediately.
  • API (Programmatic): Dynamically generate payment links on demand from your backend server using the Create Payment Link API (POST /api/v3/payment-link-api/create). You can retrieve, search, and manage active links via the Payment Link List API (GET /api/payment-link-api/list). Pass first_name, last_name, email, and phone in the request to pre-fill the payer’s details on the checkout page, see Create Payment Link for details.
2

2. Share the Link or Redirect the Payer

Provide the generated checkout URL to your customer. When clicked, the customer is presented with the clean, branded Niobi checkout interface shown above.
3

3. Customer Completes Payment

The customer confirms their name, email, country, and currency (pre-filled automatically if you supplied them at creation), then chooses their preferred local payment channel (Mobile Money, Bank Transfer, or Card) to complete authorization.
4

4. Real-Time Webhook Notification

Once the transaction settles, Niobi sends a terminal callback (payment_step: 2) to your configured webhook URL and automatically updates your transaction records.

Next Steps

Follow these guides in order to complete your collection integration:
Step 2

Collection Callbacks

Handle terminal payment_step: 2 callbacks, verify signatures, and reconcile outcomes.

Step 3

Collection Best Practices

Implement double-verification reconciliation, status polling limits, and error handling.


Country-Specific Guides

For deep dives into local provider configurations, test phone numbers, and country limits, explore our country guides:
nigeria-flag

Nigeria Guide

Virtual accounts (78 Finance, Fidelity, Globus), NGN limits, and sample callbacks.
south-africa-flag

South Africa Guide

Bank EFT, Capitec Pay, ZAR settlement, and redirect handling.
kenya-flag

Kenya Guide

M-Pesa STK Push, Airtel Money, KES channels, and callbacks.
senegal-flag

Senegal Guide

Wave browser redirect and Orange SMS shortcode authorization.
cote-d-ivoire-flag

Côte d'Ivoire Guide

Wave redirect and Orange two-step OTP authorization.

All 29 Countries

Complete coverage matrix across all 29 supported African markets.