To start collecting payments using these methods, ensure that your Niobi account is set up and verified. Refer to the ‘Setting up a Niobi Account’ section in the Getting Started section for detailed steps on account creation and setup.
Please refer to the flow chart below to understand the payment collection flow. The “Merchant Client” refers to our API Clients who are collecting payments from their customers.
For Senegal Orange deposits, the end user receives an SMS with a shortcode after the deposit is initiated. They dial the shortcode, triggering a USSD prompt where they input their PIN to approve the transaction.
The unified-collections api endpoint is used for collecting payments across the supported countries. Please find the full API reference here.
You will be required to pass in the following parameters :
Parameter | Type | Required | Description |
---|---|---|---|
Amount | Number | Yes | The amount to be deposited to your account. |
Mobile | String | Yes | The phone number that will be making the payment. |
Country ID | String | Yes | The ID of the country the deposit will be made from. The full list can be found here. |
Currency | String | Yes | The currency in which the deposit will be made. |
Payment Method Type | String | Yes | The payment channel that will be used for the deposit. |
Callback URL | String | No | The URL to receive the callback response on. |
Third Party Reference | String | No | Information you’d like to use to refer to the deposit later. |
Name | String | Only for NGN | Customer’s name (Only for Nigerian deposits). |
Account Name | String | Only for NGN | Customer’s account name that would appear when funds are reconciled in their account (Only for Nigerian deposits). |
You will then generate a signature using the parameters above and proceed to make an API request using the payload. On successful deposit, you will receive a callback response with the deposit details. Please find a detailed description of the callback response under Callback URL Section.
name
and account_name
fields are only applicable for Nigerian bank deposits.
This section provides a high-level overview of how to integrate your front-end with the Collections API.
Initiating the unified collections API Request
To begin, integrate the unified Collections API endpoint and initiate a deposit transaction by making an API request.
Transaction Verification
After the initial request is completed, the user will be prompted to input an authentication token on their phone to verify the transaction.
Handling Transaction Status
Once the transaction request has been processed, you have two options for managing the transaction status:
Receiving a Callback. A callback response containing the transaction details will be sent to your configured URL. You can set up an endpoint on your front end to handle this callback and update the user interface accordingly, such as displaying success or failure messages based on the transaction outcome.
Constantly Querying Transaction Status. Alternatively, you can query the transaction status endpoint periodically (recommended for 2 minutes) to check for updates on the transaction status.
By following this flow, you can seamlessly integrate your front end with the API, ensuring secure and responsive transaction processing for your users.
We supported collections through bank transfers on our unified collections API.
The Bank Transfer service is currently available only for Nigerian Naira (NGN) transactions.
To collect payments through bank transfer payments, make an API call to our unified collections API with the required payment details (name
and account_name
). A dynamic virtual bank account will be generated for the transaction, which your customer can use to make the payment. Once the paymet is made, a callback notification will be sent to confirm the transaction details.
A dynamic virtual bank account is a temporary, single-use bank account that expires after a single transaction.
Currently supported banks for dynamic virtual accounts:
Additional bank options will be made available over time.
The name and account name fields are required for Nigerian deposits and refer to the customer’s name and their bank account name when the amount is resolved in their account.
Once a payment is completed, we send a webhook notification to your provided URL. You can use the reference from the payload to retrieve payment details using our transaction status API.
This section provides a high-level overview of the collections flow for Wave payment method in Senegal.
Initiating the unified collections API Request
To begin, integrate the unified Collections API endpoint and initiate a deposit transaction by making an API request with 2 additional fields successful_url
and failure_url
.
Transaction Verification
A callback response containing an authoriztion url will be sent to your configured URL. Open this authorization url in your browser of choice to proceed with the payment.
Handling Transaction Status
Once the transaction request has been processed, you will receive a callback with the transaction details. Alternatively, you can query the transaction status endpoint periodically (recommended for 2 minutes) to check for updates on the transaction status.
For Orange payins in Côte d’Ivoire, OTP verification is required. This ensures secure authorization of deposits initiated via our Collections API.
Step 1: Initiate a Deposit Request
A sample response to the deposit initiation:
Step 2: Verify the Transaction
To complete the payin, verify the transaction using the OTP and the payment_token. Endpoint: /v4/niobi-unified-process-transaction
A successful verification will confirm that the transaction has been authorized and is being processed accordingly.