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 :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). |
name
and account_name
fields are only applicable for Nigerian bank deposits.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.
Sample 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:
- 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.
Bank Collections
We supported collections through bank transfers on our unified collections API.The Bank Transfer service is currently available only for Nigerian Naira (NGN) transactions.
How It Works
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:
- Wema Bank
- Sterling Bank
- Providus Bank
Sample API Request
Sample API response
Wave Senegal Collection Flow
This section provides a high-level overview of the collections flow for Wave payment method in Senegal.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 with 2 additional fields
successful_url
and failure_url
.Sample API Request
2
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.
3
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.
OTP Verification (Ivory Coast Orange Payins)
For Orange payins in Côte d’Ivoire, OTP verification is required. This ensures secure authorization of deposits initiated via our Collections API.How It Works
Step 1: Initiate a Deposit Request- Make a request to initiate a deposit using our collections api.
- Include the otp field in the request payload.
An OTP will be sent to the customer’s mobile number.