Aller au contenu principal

Mobile Money Payments

Mobile money is the primary payment method in West and Central Africa. Ikawaari supports all major operators.

Supported Operators

OperatorCountriesCurrencyOperator Code
Orange MoneyCôte d'Ivoire, Sénégal, Mali, Burkina Faso, Guinée, CamerounXOF, XAF, GNForange_ci, orange_sn, orange_ml, orange_bf, orange_gn, orange_cm
MTN MoMoCôte d'Ivoire, Cameroun, RDCXOF, XAF, CDFmtn_ci, mtn_cm, mtn_cd
WaveCôte d'Ivoire, SénégalXOFwave_ci, wave_sn
Moov MoneyCôte d'Ivoire, Burkina FasoXOFmoov_ci, moov_bf
Free MoneySénégalXOFfree_sn

How it works

  1. You create a PaymentIntent with mobile_money as the payment method type
  2. The customer provides their phone number
  3. Ikawaari sends a USSD push to the customer's phone
  4. The customer enters their PIN to confirm
  5. You receive a payment_intent.succeeded webhook

Create a mobile money payment

curl -X POST https://api.ikawaari.com/v1/payment-intents \
-H "Authorization: Bearer ik_test_your_key" \
-H "Content-Type: application/json" \
-d '{
"amount": 5000,
"currency": "XOF",
"payment_method_types": ["mobile_money"],
"payment_method_data": {
"type": "mobile_money",
"mobile_money": {
"phone": "+2250700000000",
"operator": "orange_ci"
}
},
"confirm": true
}'

Response

{
"id": "pi_abc123",
"status": "processing",
"next_action": {
"type": "mobile_money_ussd",
"mobile_money_ussd": {
"message": "A USSD prompt has been sent to +225 07 00 00 00 00. Please ask the customer to confirm."
}
}
}

Phone number format

Always use E.164 format: +{country_code}{number}

CountryFormatExample
Côte d'Ivoire+225XXXXXXXXXX+2250700000000
Sénégal+221XXXXXXXXX+221770000000
Mali+223XXXXXXXX+22370000000
Cameroun+237XXXXXXXXX+237670000000

Timeouts

Mobile money payments have a confirmation timeout (typically 2–5 minutes). If the customer doesn't confirm in time, the payment status changes to failed with reason payment_timeout.

astuce

Always display a clear message to the customer: "Please check your phone and enter your PIN to confirm the payment."

Testing

In sandbox mode, use these test phone numbers:

PhoneBehavior
+2250700000001Payment succeeds immediately
+2250700000002Payment fails (insufficient funds)
+2250700000003Payment times out

See Test Mobile Money for more details.