Le verdict en trois phrases
Un timeout Orange Money n'est pas un échec définitif : c'est une réponse manquante, pas un refus. Sans logique de retry, vous perdez ces paiements ; avec un retry mal fait, vous double-débitez le client et cassez la confiance. La bonne architecture combine clé d'idempotence obligatoire, backoff exponentiel court et relance humaine WhatsApp en dernier recours.
Anatomie d'un timeout mobile money
Un paiement OM au Mali passe par plusieurs relais : votre serveur, l'API opérateur, le réseau USSD, le téléphone du client. Le timeout survient quand la confirmation n'arrive pas dans la fenêtre attendue, mais le débit a peut-être eu lieu.
| Cause du timeout | Fréquence estimée | Débit réel possible ? | Bonne réaction |
|---|---|---|---|
| Client n'a pas saisi son code à temps | ~40 % | Non | Retry / relance |
| Push STK/USSD non reçu (réseau) | ~25 % | Non | Retry immédiat |
| Confirmation perdue au retour | ~20 % | Oui (parfois) | Vérifier statut avant retry |
| Solde insuffisant | ~10 % | Non | Message clair, pas de retry aveugle |
| Bug/lenteur côté opérateur | ~5 % | Variable | Backoff + vérif statut |
L'erreur classique : relancer une transaction sans vérifier si le débit a déjà eu lieu. D'où la règle absolue : toute relance passe d'abord par un appel getStatus sur la transaction d'origine.
Trois stratégies de retry comparées
| Stratégie | Délais | Taux de récupération | Risque double-débit | Charge support |
|---|---|---|---|---|
| Retry immédiat unique | 0 s | ~8 % | Élevé si pas d'idempotence | Faible |
| Backoff exponentiel (3x) | 30 / 90 / 180 s | ~18 % | Faible avec idempotence | Faible |
| Backoff + relance WhatsApp | 30/90/180 s puis humain | ~26 % | Très faible | Moyenne |
| Relance manuelle seule | variable | ~12 % | Faible | Élevée |
Le combo gagnant à Bamako : 3 retries automatiques espaces de 30/90/180 s, chacun précédé d'une vérification de statut, puis une relance WhatsApp avec un nouveau lien de paiement si tout échoue. Chaque tentative réutilise la même clé d'idempotence pour que l'opérateur reconnaisse la transaction et ne débite jamais deux fois.
Mini cas pratique
Ibrahim vend des pièces détachées en ligne à Bamako. Il traite 900 tentatives de paiement OM/mois, dont 22 % en timeout soit ~198 tentatives à risque de perte. Panier moyen : 12 000 FCFA.
Sans retry structuré, il récupérait environ 12 % de ces timeouts (~24 paiements), laissant filer ~174 paiements, soit 2 088 000 FCFA/mois de volume perdu ou reporte.
Avec le combo backoff + WhatsApp (taux de récupération ~26 %), il récupère ~51 timeouts au lieu de 24, soit +27 paiements/mois = 324 000 FCFA/mois de volume additionnel récupère, 3 888 000 FCFA/an. Surtout, la clé d'idempotence ramène son taux de double-débit sous 0,05 % (moins d'un cas sur 2 000), ce qui élimine les remboursements manuels et les avis clients négatifs. Le +18 % d'aboutissement automatique se lit directement dans son taux de conversion checkout.
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.
FAQ
Pourquoi la clé d'idempotence est-elle obligatoire ?
Parce qu'elle permet à l'opérateur de reconnaître qu'une relance concerne la même transaction. Sans elle, chaque retry crée un nouveau débit potentiel. Avec elle, le taux de double-débit tombe sous 0,05 %.
Combien de retries automatiques faut-il ?
Trois suffisent dans 95 % des cas, espacés de 30, 90 et 180 secondes. Au-delà, le client a généralement abandonné l'onglet et une relance WhatsApp asynchrone convertit mieux qu'un 4e push.
La fenêtre M-Pesa de 60 s s'applique-t-elle à Orange Money ?
Chaque opérateur a sa propre fenêtre : le STK push M-Pesa expire vers 60 s, Orange Money tolère souvent un peu plus mais la confirmation USSD dépend de la saisie du client. Concevez pour la fenêtre la plus courte du mix.
Que faire si getStatus renvoie "en attente" ?
Ne pas relancer immédiatement : attendre le prochain palier de backoff et re-vérifier. Un statut "en attente" au-delà de 3 minutes bascule vers la relance WhatsApp plutôt qu'un nouveau push, pour éviter le double-débit.
Le retry améliore-t-il vraiment la conversion ?
Oui : sur ce cas, +18 % de paiements aboutis automatiquement et +26 % de timeouts récupérés avec la relance humaine. Sur 198 tentatives à risque/mois, cela représente des dizaines de commandes sauvées.
Discutons de votre projet. On peut implémenter un retry idempotent OM/M-Pesa avec vérification de statut et relance WhatsApp automatique. 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.

