Le verdict en trois phrases
Un timeout n'est pas un échec : au Mali en 2026, 6 % des paiements Orange Money se confirment *après* que la connexion HTTP a expiré. Si vous annulez la commande au timeout, vous détruisez jusqu'à 5,4 % de votre CA en commandes pourtant payées. La bonne réponse : un délai de grâce de 30 min pendant lequel vous interrogez le statut réel avant toute annulation.
Timeout vs échec : la distinction qui sauve le CA
Quand vous initiez un paiement, le client saisit son code PIN sur son téléphone. Ce geste humain peut prendre plus longtemps que votre timeout HTTP. La connexion tombe, mais la transaction, elle, aboutit côté opérateur quelques secondes plus tard.
| État perçu | Réalité possible | Bonne action |
|---|---|---|
| Timeout HTTP | Paiement en cours (PIN) | Attendre + interroger statut |
| Timeout HTTP | Paiement réussi tardif | Confirmer la commande |
| Timeout HTTP | Vrai échec | Annuler après délai de grâce |
| Callback reçu | Paiement confirmé | Traiter (idempotent) |
| Aucune nouvelle 30 min | Abandon client | Annuler proprement |
Annuler sur le seul timeout, c'est traiter les 3 premières lignes comme la ligne 3. Résultat : 6 % de faux négatifs, dont 5,4 % correspondent à des paiements réellement encaissés — de l'argent reçu sur commande annulée, cauchemar de réconciliation.
Polling actif : respecter la limite de débit
La parade est d'interroger l'endpoint « status query » d'Orange Money. Mais il est limité à 1 requête toutes les 5 s : un polling agressif se fait bloquer. Il faut un backoff.
| Tentative | Délai après timeout | Cumul écoulé |
|---|---|---|
| 1 | +10 s | 10 s |
| 2 | +20 s | 30 s |
| 3 | +60 s | 1 min 30 |
| 4 | +5 min | 6 min 30 |
| 5 | +10 min | 16 min 30 |
| 6 | +13 min | 30 min |
À chaque tentative, si le statut est SUCCESS on confirme (traitement idempotent) ; si FAILED on annule ; si PENDING on continue. Passé la fenêtre de réconciliation de 30 min sans confirmation, on annule proprement et on notifie le client. Ce schéma respecte la limite 1 req/5 s tout en récupérant l'essentiel des 6 % de confirmations tardives.
Besoin d'un site web professionnel ?
Kolonell crée des sites web qui attirent des clients, optimisés pour le marché sénégalais. Devis gratuit en 2 minutes.
Mini cas pratique
Fatoumata gère la boutique en ligne d'une coopérative à Bamako, ~200 paiements Orange Money/jour. Son ancien système annulait au timeout HTTP (8 s). Elle perdait 6 % des paiements en faux négatifs, soit 12 commandes/jour, dont ~10,8 étaient réellement payées (5,4 %). Chaque commande fantôme (payée mais annulée) déclenchait un ticket SAV à 12 000 FCFA de coût de traitement : ~10,8 × 12 000 = 129 600 FCFA/jour de friction, sans compter le CA perdu sur les clients qui ne revenaient pas.
Après mise en place du polling avec backoff et délai de grâce 30 min, 95 % de ces confirmations tardives sont récupérées automatiquement. Les commandes fantômes tombent de 10,8 à ~0,5/jour : économie de friction ~123 600 FCFA/jour et un CA sécurisé.
FAQ
Pourquoi ne pas juste allonger le timeout HTTP à 60 s ? Parce que vous bloqueriez un thread/serveur pendant 60 s par paiement, saturant vos ressources aux heures de pointe. Mieux vaut timeouter vite (8-10 s) et basculer sur un polling asynchrone qui n'immobilise rien.
Le client doit-il attendre devant l'écran pendant le polling ? Non. Affichez « paiement en cours de vérification » et confirmez par notification/e-mail dès que le statut bascule. Le polling tourne côté serveur, indépendamment de la session du client.
Que faire si le statut reste PENDING après 30 min ? Annulez proprement la commande et notifiez le client qu'il peut réessayer. En parallèle, gardez la transaction dans votre file de réconciliation quotidienne : si Orange Money la confirme plus tard, vous détecterez l'encaissement orphelin.
La limite 1 req/5 s s'applique-t-elle par transaction ou globalement ? En général par compte marchand. Avec 200 paiements simultanés potentiels, mettez une file avec un débit contrôlé côté worker pour ne pas dépasser le quota global et éviter le throttling.
Comment devenir apporteur d'affaires Kolonell ? Présentez-nous un marchand qui perd des commandes sur ses timeouts : à la signature, vous touchez 12 % en e-commerce, 10 % en marketplace, 8 % en institutionnel et 15 % + 5 % récurrent sur une vitrine. Un projet à 3 000 000 FCFA vous rapporte 360 000 FCFA.
Discutons de votre projet. On sécurise vos callbacks Orange Money et on récupère vos commandes fantômes. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionné par le digital et l'entrepreneuriat en Afrique, Mohamed accompagne les entreprises sénégalaises dans leur transformation digitale depuis 2020. Fondateur de Kolonell, il croit que chaque PME mérite une présence en ligne professionnelle et accessible.
