Le verdict en trois phrases
En mobile money, 8 à 14 % des tentatives de paiement finissent dans un statut ambigu (« en attente ») à cause de timeouts USSD ou de webhooks perdus, et 2 à 4 % des transactions marquées « échec » ont en fait été payées. Un webhook seul ne suffit donc jamais : il faut le compléter par un polling de statut actif puis une réconciliation nocturne. Sans ce triptyque, vous livrez des commandes non payées ou vous perdez des ventes réellement encaissées.
Pourquoi le webhook seul échoue
Le webhook est une notification que l'agrégateur pousse vers votre serveur. Il peut se perdre (réseau, timeout de votre endpoint, redéploiement, pic de charge). Si vous fondez toute la logique dessus, une commande payée reste « en attente » indéfiniment. La bonne architecture combine trois mécanismes complémentaires.
| Mécanisme | Rôle | Fiabilité seule | Latence |
|---|---|---|---|
| Webhook | Notification poussée | Moyenne (peut se perdre) | Quasi temps réel |
| Polling de statut | Interrogation active | Élevée | 15-30 s |
| Réconciliation nocturne | Filet de sécurité | Très élevée | J+1 |
| Idempotence | Éviter les doublons | Transversale | N/A |
Les fenêtres de temps à connaître en 2026
Les ordres de grandeur observés en 2026 en Afrique de l'Ouest guident les réglages. La fenêtre de confirmation Orange Money peut aller jusqu'à 5 minutes (le client valide sur son téléphone). D'où un polling patient avant de conclure à un échec.
| Statut | Action recommandée | Délai |
|---|---|---|
| Initié | Démarrer le polling | Immédiat |
| En attente | Polling toutes les 15-30 s | Jusqu'à 3 min |
| Confirmé (webhook OU polling) | Marquer payé, livrer | Immédiat |
| Toujours en attente après 3 min | Passer en « à réconcilier » | 3 min |
| Aucune confirmation | Annulation auto (TTL) | 15 min |
| Réconciliation J+1 | Rejouer statut réel côté PSP | Nuit |
Règle : ne jamais annuler définitivement une commande avant d'avoir croisé le statut réel côté agrégateur, sinon vous risquez d'annuler un paiement encaissé.
L'idempotence, colonne vertébrale
Comme webhook et polling peuvent confirmer la même transaction, chaque événement doit être idempotent : une commande passe à « payée » une seule fois, quelle que soit la source ou le nombre de notifications reçues. On utilise une clé unique (référence de transaction) et un verrou pour éviter la double livraison ou la double comptabilisation.
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
Fatou tient une épicerie en ligne à Thiès : 2 000 tentatives de paiement/mois, panier moyen 9 000 FCFA. Avant, elle se fiait au webhook seul. Résultat : environ 11 % de commandes coincées « en attente » (220/mois) et 3 % de « faux échecs » réellement payés (60/mois) qu'elle ne livrait pas.
En ajoutant polling + réconciliation nocturne, elle récupère ces 60 commandes payées non livrées : 60 × 9 000 = 540 000 FCFA/mois de ventes sauvées, soit 6,48 M FCFA/an. Et les 220 commandes ambiguës se résolvent automatiquement (payées ou annulées proprement) sans intervention manuelle, économisant plusieurs heures de support par semaine.
FAQ
Une commande « en attente » est-elle payée ? Pas forcément : c'est justement l'ambiguïté. En 2026, 8 à 14 % des tentatives restent en attente à cause de timeouts ou webhooks perdus. Il faut interroger le statut réel côté agrégateur avant de conclure.
Quel intervalle de polling utiliser ? Un ordre de grandeur sûr : toutes les 15 à 30 secondes pendant 3 minutes, car la confirmation Orange Money peut prendre jusqu'à 5 minutes. Au-delà, basculez en « à réconcilier » plutôt qu'en échec définitif.
Combien de « faux échecs » sont réellement payés ? Environ 2 à 4 % des transactions marquées échec. Sans réconciliation nocturne, ce sont des ventes encaissées mais non livrées — de l'argent laissé sur la table.
Au bout de combien de temps annuler une commande ? Un TTL de 15 minutes est un repère raisonnable, mais uniquement après avoir vérifié le statut réel côté PSP. N'annulez jamais à l'aveugle : vous pourriez annuler un paiement encaissé.
À quoi sert l'idempotence ici ? Webhook et polling peuvent confirmer la même transaction : l'idempotence garantit qu'une commande passe à « payée » une seule fois, sans double livraison ni double comptabilisation.
Discutons de votre projet. On met en place webhook + polling + réconciliation nocturne pour zéro commande ambiguë. 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.

