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.

Payment Collection Flow

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.

Using the API

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 :

  1. Amount - the amount to be deposited to your account
  2. Mobile - the phone number that will be making the payment
  3. Country id - the id of the country the deposit will be made from. The full list can be found here
  4. Currency - the currency
  5. Payment method type - the payment channel that will be used for the deposit
  6. Callback URL (Optional) - the url you’d like to receive the callback reponse on
  7. Third party reference (Optional) - information you’d like to use to refer to the deposit later.

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.

Front End Integration

This section provides a high-level overview of how to integrate your front-end with the Collections API.

1

Initiating the unified collections API Request

To begin, integrate the unified Collections API endpoint and initiate a deposit transaction by making an API request.

2

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.

3

Handling Transaction Status

Once the transaction request has been processed, you have two options for managing the transaction status:

  1. 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.

  2. 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.