Release Date: May 2026Documentation Index
Fetch the complete documentation index at: https://docs.niobi.co/llms.txt
Use this file to discover all available pages before exploring further.
TL;DR
- Sub-merchant routing — attach transactions to individually managed sub-merchants
- Sandbox base URL changed from
dev.users.niobi.cotosandbox.users.niobi.co - Cameroon XAF payouts now require sender name and phone number
- South Africa collections require
successful_urlandfailure_url - New Transaction Status v3 endpoint for unified payin and payout status checks
- Payment Link v3 supports optional
currency_country_id - UGX and RWF transaction limits have been updated
Breaking Changes
The changes below require immediate integration updates.1. Sub-merchant Management
This feature is for marketplaces, payment service providers, and enterprises that manage multiple merchants under a single Niobi account. It lets you onboard each sub-merchant in the portal, review them through a compliance workflow, and then attach each transaction to a specificsub_merchant_id.
How it works
- Create a sub-merchant in the Niobi portal.
- The sub-merchant enters review and moves through these statuses: Pending, Approved, or Suspended.
- Only Approved sub-merchants can process live transactions.
- Include
sub_merchant_idin the transaction payload to route payments to the selected sub-merchant.
Who it is for
- Marketplaces settling funds to individual vendors.
- PSPs integrating multiple merchants.
- Businesses that need separate merchant attribution for compliance, reporting, or risk controls.
API usage
Includesub_merchant_id inside params for eligible transactions:
Status details
- Pending: Submitted and awaiting review by the compliance team. Do not send live transactions yet.
- Approved: The sub-merchant has passed review and is cleared for live processing.
- Suspended: The sub-merchant is blocked due to compliance or risk issues. Contact support to resolve.
Steps
- Confirm whether your integration uses sub-merchant routing.
- Add
sub_merchant_idto all relevant transaction requests. - Check the sub-merchant status in the portal before sending live traffic.
- Review the guide for onboarding, approval, and status definitions.
2. Sandbox Base URL Change
All sandbox API calls and sandbox webhook endpoints must be updated to use the new sandbox URL. Previous sandbox base URL:Steps
- Search your sandbox integration for
dev.users.niobi.co. - Replace it with
sandbox.users.niobi.coin all API client code and webhook URLs. - Restart your sandbox environment and rerun tests.
- Confirm sandbox webhook delivery to the updated callback endpoint.
Remaining traffic to dev.users.niobi.co will fail after deprecation.
3. XAF Cameroon Payouts Now Require Sender Details
XAF payouts to Cameroon now require the sender’s first name, last name, and phone number in the payout request to comply with local regulatory requirements. Required fields:sender_firstnamesender_lastnamesender_phone_number
- Add
sender_firstname,sender_lastname, andsender_phone_numberto all XAF/Cameroon payout requests. - Format
sender_phone_numberas237XXXXXXXXX— country code 237 followed by the local number, no+prefix. - Ensure your request builder includes these fields for all
country_id: 4/currency: XAFpayouts, and update any payload validation logic accordingly.
Requests without these fields will be rejected.
4. South Africa (ZAR) Collections Now Require Redirect URLs
South Africa EFT collections now require bothsuccessful_url and failure_url in the request payload. After the customer completes or cancels the bank transfer, they are redirected to the appropriate URL.
Example request snippet:
- Create a success page and a failure page in your application.
- Populate
successful_urlandfailure_urlin the request payload. - After the customer is redirected back to your site, query the Transaction Status API to confirm the final transaction outcome before displaying a result to the customer.
New Features
These features are available and can be integrated now.1. Transaction Status v3
New endpoint:POST /api/v3/get-unified-transaction-status
This endpoint replaces the v2 status endpoint and returns a richer, unified response for both payins and payouts in a single call. Previously, payin and payout status responses had different structures; v3 normalises them.
Purpose:
- Returns unified metadata for both payins and payouts.
- Simplifies transaction reconciliation across all payment channels.
- Send
params.idwith the transaction reference you want to look up. - Set
params.typetopayinfor collections orpayoutfor disbursements.
2. Conditional SMS for KES Payouts
SMS notifications to beneficiaries can now be enabled for KES payouts. When active, the recipient receives an SMS confirming the payment after a successful disbursement. This is an account-level configuration — it does not require any changes to your API requests. Steps:- Contact support at support@niobi.co or via your Slack/WhatsApp support channel to request the feature be enabled for your account.
- Once enabled, run a test KES payout and confirm the beneficiary receives the SMS notification.
3. Portal IP Whitelisting Management
You can now manage IP whitelist entries directly in the dashboard without contacting support. Steps:- Go to Workspace > IP Whitelisting in the portal.
- Add new IP addresses using the Add New button.
- Update an existing entry any time your server’s IP changes to avoid losing API access.
Updates
These improvements are available now and may require optional integration updates.1. Payment Link v3 — Optional currency_country_id
The Payment Link v3 payload now supports an optional currency_country_id field. Use it when the payer’s physical location differs from the country implied by the country_id in the request — for example, when a Kenyan customer is paying via a Uganda-issued currency account.
Example:
currency_country_idis optional. When provided, it explicitly identifies the payer’s country.- If omitted, the system infers the payer country from
currencyandcountry_id.
2. Ivory Coast Orange Sandbox Flow
The Ivory Coast Orange (telecom operator) OTP payment flow is now supported in the sandbox environment, allowing you to simulate the full production flow before going live. Steps:- Set your sandbox base URL to
https://sandbox.users.niobi.co. - Implement the OTP redirect flow as documented in the Ivory Coast Orange guide.
- Use the sandbox test phone numbers from the Testing Guide to trigger the OTP flow.
- Complete the full OTP verification cycle and confirm expected callbacks before going live.
3. Updated UGX and RWF Transaction Limits
Transaction limits for UGX (Ugandan Shilling) and RWF (Rwandan Franc) payouts have been updated and are now in effect. Steps:- Review the new limits in the transaction limits reference and compare against any hardcoded min/max values in your integration.
- Update your payload validation logic to reflect the new limits for UGX and RWF transactions.
- Run test payouts at the boundary values to confirm your integration handles them correctly.
Sources
- March Release original: 2026-03 Changes
- Sub-merchant guide: Sub-merchant Management
- Transaction Status v3 API page: Get Transaction Status (v3)
- Portal IP Whitelisting: Portal IP Whitelisting

