E-commerce11 min de lecture

Transactions en attente et timeouts : réconcilier avec polling et webhooks (2026)

Mohamed Bah·Fondateur, Kolonell
11 août 2026
Partager :
Transactions en attente et timeouts : réconcilier avec polling et webhooks (2026)

Transactions en attente et timeouts : réconcilier avec polling et webhooks (2026)

E-commerce

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écanismeRôleFiabilité seuleLatence
WebhookNotification pousséeMoyenne (peut se perdre)Quasi temps réel
Polling de statutInterrogation activeÉlevée15-30 s
Réconciliation nocturneFilet de sécuritéTrès élevéeJ+1
IdempotenceÉviter les doublonsTransversaleN/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.

StatutAction recommandéeDélai
InitiéDémarrer le pollingImmédiat
En attentePolling toutes les 15-30 sJusqu'à 3 min
Confirmé (webhook OU polling)Marquer payé, livrerImmédiat
Toujours en attente après 3 minPasser en « à réconcilier »3 min
Aucune confirmationAnnulation auto (TTL)15 min
Réconciliation J+1Rejouer statut réel côté PSPNuit

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.

Tags :#transaction en attente#timeout paiement#réconciliation#polling statut#webhook#idempotence#USSD#commande ambiguë
Partager :

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.