Le verdict en trois phrases
Un webhook manque ou en double, c'est soit une commande payee jamais expediee, soit un client livre deux fois — et sur MTN MoMo et Moov au Benin, 2 a 5 % des notifications posent probleme. 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 implemente, ce trio ramene la perte de commandes sous 0,1 %.
Les problemes de webhooks et leur frequence
Avant de corriger, il faut mesurer. Voici les incidents typiques de webhooks mobile money au Benin, ordres de grandeur 2026.
| Probleme | Frequence brute | Consequence | 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 % | Operateur re-emet | Reponse 200 rapide |
Strategie de retry et delais cibles
Un bon retry ne martele pas le serveur : il espace les tentatives. Voici une strategie de reference et les delais a viser.
| Parametre | Cible | Note |
|---|---|---|
| Tentatives | 5 sur 24 h | Backoff exponentiel |
| Intervalles | 1 min, 5, 30, 2 h, 12 h | Progressif |
| Delai P95 traitement | < 5 s | Exigence M-Pesa Daraja |
| Reponse ACK operateur | < 2 s | Sinon re-emission |
| Taux de perte cible | < 0,1 % | Apres idempotence + retry |
| Retention des events | 30 jours | Pour rejouer si besoin |
Mini cas pratique
Sena, gerante d'une epicerie en ligne a Cotonou, encaissait via MTN MoMo et Moov. Sans file idempotente, environ 4 % de ses 900 commandes/mois (36 commandes) etaient soit doublees, soit bloquees en attente — un cout estime de ~540 000 FCFA/mois entre litiges, remboursements et livraisons manquees (panier moyen 15 000 FCFA). Apres mise en place d'une file idempotente + retry exponentiel + signature HMAC, le taux d'incident est tombe a 0,1 % (moins d'une commande/mois). Perte quasi eliminee, 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 meme ID de transaction n'est traite qu'une seule fois, meme si l'operateur envoie la notification deux ou trois fois. On stocke l'ID, et toute repetition est ignoree — fini les doubles expeditions.
Pourquoi un retry exponentiel plutot que fixe ?
Parce qu'un incident est souvent passager (serveur momentanement indisponible). Espacer les tentatives (1 min, 5, 30, 2 h, 12 h) laisse le temps au systeme de se retablir sans le surcharger.
A quoi sert la signature HMAC ?
Elle prouve que le webhook vient bien de l'operateur et n'a pas ete falsifie. Sans elle, un fraudeur pourrait simuler un paiement et declencher une expedition non payee.
Que dit M-Pesa Daraja sur les delais ?
Daraja impose de valider la notification en moins de 5 secondes, sinon la requete part en timeout et est re-emise. D'ou l'importance d'une reponse 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.

