Le verdict en trois phrases
Un webhook non idempotent est une bombe à retardement : il double des commandes quand l'opérateur renvoie l'événement, ou en perd quand votre serveur est momentanément indisponible. La fiabilité ne dépend pas de la chance mais de deux mécaniques : vérifier la signature de chaque event et traiter chaque référence une seule fois, avec une file d'attente qui retente 5 fois sur 24 h. À Lomé, ce sont ces détails invisibles qui séparent une boutique qui perd 1-3 % de commandes d'une boutique à 99,9 % de fiabilité.
Polling vs webhook signé : le vrai match
Beaucoup de boutiques interrogent l'API du provider en boucle ("polling") pour savoir si un paiement est passé. C'est simple mais lent et coûteux. Le webhook signé avec file d'attente est plus robuste. Voici la comparaison 2026.
| Critère | Polling API | Webhook signé + file |
|---|---|---|
| Délai de confirmation | 30 s - 5 min | 2-30 s |
| Charge serveur | Élevée (appels répétés) | Faible (event unique) |
| Risque de rate-limit | Fort | Nul |
| Perte de commande | 2-5 % | < 0,3 % |
| Double commande | Fréquent sans lock | Nul si idempotent |
| Coût infra / mois (est.) | 15 000-40 000 FCFA | 5 000-15 000 FCFA |
| SLA atteignable | ~99 % | 99,9 % |
Le webhook signé gagne sur presque tous les axes : plus rapide, moins cher, plus fiable. Le seul prérequis est de le construire correctement dès le départ.
Les règles d'un webhook qui ne perd rien
Un webhook fiable en 2026 respecte quelques règles non négociables. D'abord, il vérifie la signature HMAC de chaque requête : sans cela, n'importe qui peut simuler un "paiement confirmé". Ensuite, il stocke chaque référence de transaction et refuse de la traiter deux fois (idempotence). Il répond immédiatement 200 puis traite en asynchrone via une file d'attente, pour que l'opérateur ne considère jamais l'event comme échoué. Enfin, il tolère les retries : l'opérateur renvoie l'event plusieurs fois, votre code doit rester cohérent.
| Règle | Pourquoi | Impact si absente |
|---|---|---|
| Vérification signature HMAC | Sécurité | Faux paiements injectés |
| Idempotence par référence | Anti-doublon | Commandes dupliquées 1-3 % |
| Réponse 200 rapide (< 5 s) | Éviter retry inutile | Events rejoués en boucle |
| File d'attente asynchrone | Absorber les pics | Timeouts, events perdus |
| 5 retries sur 24 h | Rattraper les pannes | Commandes perdues au downtime |
| Journalisation complète | Audit / réconciliation | Litiges non traçables |
Mini cas pratique
Kofi, fondateur d'une épicerie en ligne à Lomé, traite 700 commandes/mois, panier moyen 25 000 FCFA, soit 17 500 000 FCFA de CA. Avec son ancien système de polling, il perdait 2,5 % des commandes (event manque pendant un redémarrage serveur) : 17-18 commandes/mois, soit environ 437 500 FCFA perdus. Pire, 1,5 % étaient dupliquées, générant des litiges clients et des remboursements. Après migration vers un webhook signé idempotent avec file et 5 retries, la perte tombe à 0,3 % (2 commandes, ~52 500 FCFA) et les doublons disparaissent. Gain net : environ 385 000 FCFA/mois plus la fin des litiges, pour une infra deux fois moins chère.
FAQ
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.
Qu'est-ce que l'idempotence, concrètement ?
C'est garantir qu'un même événement traité plusieurs fois produit le même résultat qu'une seule fois. En pratique : vous stockez la référence de transaction et, si elle revient, vous ignorez le doublon. Sans cela, 1 à 3 % des commandes se dupliquent.
Pourquoi vérifier la signature du webhook ?
Parce qu'un endpoint public non protégé peut recevoir de faux events "paiement confirmé" et déclencher des livraisons sans paiement réel. La vérification HMAC garantit que l'event vient bien de l'opérateur. C'est non négociable en 2026.
Combien de fois faut-il retenter un webhook échoue ?
La pratique recommandée est 5 tentatives réparties sur 24 h avec backoff exponentiel. Cela couvre les pannes courtes (redémarrage, déploiement) sans harceler un endpoint durablement mort. Au-delà, une alerte manuelle prend le relais.
Polling ou webhook si je débute ?
Commencez par le webhook signé : il est plus fiable et moins cher à l'usage. Gardez le polling comme filet de sécurité pour réconcilier les rares events perdus, pas comme mécanisme principal.
Combien coûte un downtime de webhook ?
Énorme : pendant une panne du traitement paiement, c'est 100 % de vos ventes qui ne se confirment pas. C'est précisément pourquoi la file d'attente avec retries est indispensable : elle rattrape les commandes dès que le service revient.
Discutons de votre projet. On audite votre webhook de paiement et on le rend idempotent, signé et résilient pour ne plus jamais 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.
