Le verdict en trois phrases
Un webhook manqué ou en double, c'est soit une commande payée jamais expédiée, soit un client livré deux fois — et sur MTN MoMo et Moov au Bénin, 2 à 5 % des notifications posent problème. La parade tient en trois piliers : idempotence (traiter chaque ID une seule fois), retry exponentiel (5 tentatives sur 24 h) et signature HMAC (rejeter les faux). Bien implémenté, ce trio ramène la perte de commandes sous 0,1 %.
Les problèmes de webhooks et leur fréquence
Avant de corriger, il faut mesurer. Voici les incidents typiques de webhooks mobile money au Bénin, ordres de grandeur 2026.
| Problème | Fréquence brute | Conséquence | Parade |
|---|---|---|---|
| Notification en double | 2 - 4 % | Double traitement | Idempotence (ID unique) |
| Retard > 30 s | 3 - 5 % | Commande en attente | File asynchrone |
| Notification perdue | 1 - 2 % | Paiement non vu | Retry + polling |
| Faux webhook | Rare | Fraude possible | Signature HMAC |
| Timeout serveur | 2 - 3 % | Opérateur re-émet | Réponse 200 rapide |
Stratégie de retry et délais cibles
Un bon retry ne martele pas le serveur : il espace les tentatives. Voici une stratégie de référence et les délais à viser.
| Paramètre | Cible | Note |
|---|---|---|
| Tentatives | 5 sur 24 h | Backoff exponentiel |
| Intervalles | 1 min, 5, 30, 2 h, 12 h | Progressif |
| Délai P95 traitement | < 5 s | Exigence M-Pesa Daraja |
| Réponse ACK opérateur | < 2 s | Sinon re-émission |
| Taux de perte cible | < 0,1 % | Après idempotence + retry |
| Rétention des events | 30 jours | Pour rejouer si besoin |
Mini cas pratique
Séna, gérante d'une épicerie en ligne à Cotonou, encaissait via MTN MoMo et Moov. Sans file idempotente, environ 4 % de ses 900 commandes/mois (36 commandes) étaient soit doublées, soit bloquées en attente — un coût estimé de ~540 000 FCFA/mois entre litiges, remboursements et livraisons manquées (panier moyen 15 000 FCFA). Après mise en place d'une file idempotente + retry exponentiel + signature HMAC, le taux d'incident est tombé à 0,1 % (moins d'une commande/mois). Perte quasi éliminée, service client soulage.
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
Qu'est-ce que l'idempotence pour un webhook ?
C'est garantir qu'un même ID de transaction n'est traité qu'une seule fois, même si l'opérateur envoie la notification deux ou trois fois. On stocke l'ID, et toute répétition est ignorée — fini les doubles expéditions.
Pourquoi un retry exponentiel plutôt que fixe ?
Parce qu'un incident est souvent passager (serveur momentanément indisponible). Espacer les tentatives (1 min, 5, 30, 2 h, 12 h) laisse le temps au système de se rétablir sans le surcharger.
À quoi sert la signature HMAC ?
Elle prouve que le webhook vient bien de l'opérateur et n'a pas été falsifié. Sans elle, un fraudeur pourrait simuler un paiement et déclencher une expédition non payée.
Que dit M-Pesa Daraja sur les délais ?
Daraja impose de valider la notification en moins de 5 secondes, sinon la requête part en timeout et est re-émise. D'où l'importance d'une réponse ACK rapide et d'un traitement asynchrone en file.
Discutons de votre projet. On fiabilise vos webhooks MTN, Moov et M-Pesa avec idempotence et retry pour ne plus perdre une commande. 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.

