Paiements Mobile Money
Le mobile money est la méthode de paiement principale en Afrique de l’Ouest et centrale. Ikawaari prend en charge tous les principaux opérateurs.
Ce guide utilise la famille de routes payment_intents déjà implémentée pour les premiers flux de paiement.
Opérateurs pris en charge
| Opérateur | Pays | Devise | Code opérateur |
|---|---|---|---|
| Orange Money | Côte d'Ivoire, Sénégal, Mali, Burkina Faso, Guinée, Cameroun | XOF, XAF, GNF | orange_ci, orange_sn, orange_ml, orange_bf, orange_gn, orange_cm |
| MTN MoMo | Côte d'Ivoire, Cameroun, RDC | XOF, XAF, CDF | mtn_ci, mtn_cm, mtn_cd |
| Wave | Côte d'Ivoire, Sénégal | XOF | wave_ci, wave_sn |
| Moov Money | Côte d'Ivoire, Burkina Faso | XOF | moov_ci, moov_bf |
| Free Money | Sénégal | XOF | free_sn |
Comment cela fonctionne
- Vous créez un PaymentIntent avec
mobile_moneycomme type de méthode de paiement - Le client fournit son numéro de téléphone
- Ikawaari envoie une requête USSD sur le téléphone du client
- Le client saisit son PIN pour confirmer
- Vous recevez un webhook
payment_intent.succeeded
Créer un paiement mobile money
curl -X POST https://api.ikawaari.com/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
}'
Réponse
{
"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."
}
}
}
Format du numéro de téléphone
Utilisez toujours le format E.164 : +{country_code}{number}
| Pays | Format | Exemple |
|---|---|---|
| Côte d'Ivoire | +225XXXXXXXXXX | +2250700000000 |
| Sénégal | +221XXXXXXXXX | +221770000000 |
| Mali | +223XXXXXXXX | +22370000000 |
| Cameroun | +237XXXXXXXXX | +237670000000 |
Timeouts
Les paiements mobile money ont un délai de confirmation (généralement 2 à 5 minutes). Si le client ne confirme pas à temps, le statut du paiement passe à failed avec la raison payment_timeout.
astuce
Affichez toujours un message clair au client : "Veuillez vérifier votre téléphone et saisir votre PIN pour confirmer le paiement."
Tests
En mode sandbox, utilisez ces numéros de téléphone de test :
| Téléphone | Comportement |
|---|---|
+2250700000001 | Le paiement réussit immédiatement |
+2250700000002 | Le paiement échoue (fonds insuffisants) |
+2250700000003 | Le paiement expire |
Voir Tester le Mobile Money pour plus de détails.