E-commerce11 min de lecture

Réconcilier vos webhooks MTN MoMo à Douala : éviter les paiements fantômes en 2026

Mohamed Bah·Fondateur, Kolonell
24 août 2026
Partager :
Réconcilier vos webhooks MTN MoMo à Douala : éviter les paiements fantômes en 2026

Réconcilier vos webhooks MTN MoMo à Douala : éviter les paiements fantômes en 2026

E-commerce

Le verdict en trois phrases

À Douala, un webhook MTN MoMo non idempotent est la première cause de commandes fantômes : MTN rejoue le callback jusqu'à 3 fois et un réseau instable double-crédite environ 1,2 % des commandes. La latence médiane du callback est de 8 secondes, mais elle grimpe à 90 secondes en heure de pointe, donc le webhook seul n'est jamais fiable. La bonne architecture : file d'attente + statut PENDING/CONFIRMED + réconciliation nocturne par requête de statut, jamais une dépendance au seul callback.

Pourquoi le webhook seul échoue à Douala

Le callback MTN MoMo est un signal utile, pas une vérité absolue. Il peut arriver en double, en retard, ou pas du tout si votre serveur est momentanément injoignable. Chaque comportement crée une classe de bug distincte.

Comportement webhookFréquence (ordre de grandeur)Bug si non géré
Callback rejoué 2-3 fois~15 % des transactionsDouble-crédit commande
Latence > 30 secondes~9 % en heure de pointeClient relance / repaie
Callback jamais reçu~2 %Commande payée mais bloquée
Ordre inversé (échec puis succès)~1 %Statut final erroné
Signature manquante/invaliderareFaux paiement accepté

La parade tient en un mot : idempotence. Chaque callback est traité une seule fois, indexé sur le transactionId MTN. Un second callback identique est reconnu et ignoré.

L'architecture anti-fantôme en 2026

On ne fait jamais confiance à un seul signal. On combine trois couches : réception rapide, traitement asynchrone, et vérification proactive du statut auprès de MTN.

CoucheRôleRègle clé
Réception webhookAccuse réception en < 200 msRenvoyer 200 puis traiter à part
File d'attenteDécouple réception et logiqueRetry avec backoff exponentiel
Table transactionsSource de véritéClé unique sur transactionId
Requête de statut (pull)Vérifie l'état réelAprès 2 min, puis réconciliation nocturne
Réconciliation nocturneRattrape les callbacks perdusCompare PENDING vs statut MTN

Le statut passe de PENDING à CONFIRMED uniquement quand MTN confirme, que ce soit par webhook ou par requête de statut. Les 2 % de callbacks jamais reçus sont rattrapés à la réconciliation nocturne.

Mini cas pratique

Ibrahim gère une épicerie en ligne à Douala, 900 commandes/mois, panier moyen 12 000 FCFA. Sans idempotence, 1,2 % des commandes sont double-créditées : environ 11 commandes/mois, soit 132 000 FCFA crédités à tort qu'il doit rembourser ou perdre en stock. Il ajoute une clé unique sur transactionId et une réconciliation nocturne : les double-crédits tombent à zéro, et les 2 % de commandes payées mais bloquées (environ 18/mois, 216 000 FCFA) sont enfin débloquées automatiquement. Coût de la correction : 2 jours de dev.

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 MTN MoMo renvoie-t-il plusieurs fois le même callback ?

MTN considère un callback comme non livré tant qu'il n'a pas reçu un 200 rapide de votre serveur. Sur réseau instable à Douala, il rejoue jusqu'à 3 fois, d'où le besoin d'un traitement idempotent indexé sur le transactionId.

Comment garantir l'idempotence en pratique ?

Créez une contrainte unique sur le transactionId dans votre table de transactions. Un second callback identique déclenche une violation de contrainte que vous interceptez pour ignorer proprement le doublon.

Faut-il vraiment une réconciliation nocturne si les webhooks marchent ?

Oui. Environ 2 % des callbacks n'arrivent jamais en heure de pointe. La réconciliation nocturne compare vos commandes PENDING au statut réel MTN et débloque celles qui étaient en fait payées.

Quelle latence anticiper sur le callback MTN MoMo ?

Médiane autour de 8 secondes, mais des pics à 90 secondes aux heures chargées. N'affichez jamais un échec au client avant d'avoir interrogé le statut, sinon il repaiera.

Comment éviter qu'un client repaie une commande déjà réglée ?

Affichez un statut PENDING clair avec polling, et bloquez le bouton payer tant que le statut n'est pas résolu. Vérifiez le statut MTN avant toute relance de paiement.

Discutons de votre projet. Nous auditons et réparons votre intégration MTN MoMo pour éliminer les paiements fantômes à Douala. WhatsApp +221 77 596 93 33.

Tags :#webhook MTN MoMo#reconciliation paiement#idempotence Douala#callback mobile money#paiement fantome#e-commerce Cameroun 2026#integration API
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.