Skip to main content

Senegal

Supported payment methods and integration details for Senegal

Senegal flag

Country Details

Country ID: 9  •   Country Code: 221  •   Currency: XOF (West African CFA Franc)

Supported Payment Methods & Payload Requirements


Payment Flow: How It Works

Deposits (Collections)

1. Orange Money & Free Money (USSD/STK Push)

  1. Initiation: Submit a signed POST request to the Unified Collections endpoint with country_id: 9, currency: "XOF", amount, payment_method_type ("orange" or "free"), and the customer’s phone number in mobile (format: 221XXXXXXXXX).
  2. Handset Authorization: The customer receives a prompt on their handset to enter their PIN and authorize the debit.
  3. Initial Response: Niobi returns an acknowledgement (payment_step: 1) containing the assigned depositId.
  4. Callback Confirmation: Once authorized by the customer, Niobi delivers an asynchronous webhook callback (payment_step: 2, status: "success") to your callback_url.

2. Wave (Redirect Flow, payment_method_type: "wave")

Wave does not use a USSD push, it’s a redirect-based authorization flow:
  1. Initiation: Submit the request with country_id: 9, currency: "XOF", amount, payment_method_type: "wave", successful_url, and failure_url.
  2. Customer Redirection: Niobi returns an authorization_url (payment_step: 1). Redirect the customer to this URL. On mobile, it opens directly in the Wave app; on desktop, the page shows a QR code the customer can scan with the Wave app on their phone to authorize instead.
  3. Completion & Callback: 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.

Payouts (Disbursements)

When initiating a payout to Senegal via the Unified Payments endpoint, pass the appropriate payment_method_type and its corresponding parameters:
  • Orange Money: Pass payment_method_type: "Orange" with an Orange array containing phone_number.
  • Free Money: Pass payment_method_type: "Free" with a Free array containing phone_number.
  • Wave: Pass payment_method_type: "wave" with the recipient’s phone number in mobile.

Sample Requests & Responses

Orange Money Deposit Request

Deposit Response (Initiation)


Payout Request (Orange Money)

Payout Response (Initiation)


Webhook/Callback Examples

Successful Deposit Callback

Successful Payout Callback


Try it

Try it: POST /api/v4/niobi-unified-collections

Collections API reference for Senegal deposits.

Try it: POST /api/v4/niobi-unified-payments

Payments API reference for Senegal payouts.

Transaction Limits

For the full list of minimum and maximum transaction limits for Senegal (XOF) collections and payouts, please see the Transaction Limits for Senegal section on the Transaction Limits page.