Sites Web11 min de lecture

Securiser les webhooks de paiement Wave: verification de signature et idempotence (2026)

Mohamed Bah·Fondateur, Kolonell
25 août 2026
Partager :
Securiser les webhooks de paiement Wave: verification de signature et idempotence (2026)

Securiser les webhooks de paiement Wave: verification de signature et idempotence (2026)

Sites Web

Le verdict en trois phrases

Un webhook de paiement mal securise est la premiere cause technique de litige : environ 30 % des reclamations "j'ai paye mais la commande n'est pas validee" viennent de la. Quatre garde-fous suffisent : verification de signature HMAC, cle d'idempotence, retry exponentiel et journalisation. Sans idempotence, 1 paiement sur 200 est traite en double, et chaque correction manuelle coute environ 2 000 FCFA de main d'oeuvre.

Les quatre garde-fous techniques

Un webhook, c'est un appel entrant depuis le fournisseur de paiement vers votre serveur. Comme n'importe qui peut tenter d'appeler cette URL, elle doit etre blindee.

Garde-fouRoleReglage recommande
Signature HMACVerifie que l'appel vient bien du fournisseurRejeter si signature invalide
Cle d'idempotenceEmpeche de traiter deux fois le meme paiementCle = reference transaction
Fenetre de rejeuBloque les appels rejoues par un attaquant5 minutes max
Retry exponentielRattrape les webhooks non recus3 tentatives sur 24 h
TimeoutEvite de bloquer le fournisseur10 s de reponse max
JournalisationTrace pour litiges et auditConserver 90 jours

La signature HMAC est non negociable : sans elle, un tiers pourrait simuler un paiement reussi et declencher une expedition sans avoir paye.

Le cout reel d'un webhook non securise

Un webhook fragile ne coute pas qu'en bugs : il coute en temps, en confiance client et en argent perdu. Voici l'impact sur une boutique moyenne.

ProblemeFrequence sans garde-fouCout unitaireImpact mensuel (500 cmd)
Paiement double traite1 sur 2002 000 FCFA~5 000 FCFA
Commande payee non validee1 sur 100perte de vente~5 ventes perdues
Litige client a traiter30 % des litiges2 000 FCFAvariable
Expedition sans paiementrare mais gravevaleur produitrisque eleve
Reconciliation manuellequotidienne1 h/jour~30 h/mois

Le poste le plus lourd est souvent le temps de reconciliation manuelle : jusqu'a 30 heures par mois qu'un webhook fiable rend inutiles.

Idempotence: le detail qui evite les doublons

Quand un fournisseur ne recoit pas votre reponse a temps, il renvoie le webhook. Sans cle d'idempotence, votre serveur re-traite le paiement : deuxieme validation, parfois deuxieme expedition. En stockant la reference de transaction comme cle unique, tout appel repete est detecte et ignore proprement. C'est la ligne de code qui evite 90 % des doublons.

Mini cas pratique

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.

Ibrahim, developpeur pour une boutique a Dakar, traite 500 commandes/mois. Avant securisation, il constatait ~2,5 doublons/mois (1 sur 200) a 2 000 FCFA de correction chacun, plus ~1 h/jour de reconciliation manuelle, soit 30 h/mois. Apres avoir ajoute HMAC + idempotence + retry, les doublons tombent a zero et la reconciliation passe a ~2 h/mois grace a la journalisation. Economie : 5 000 FCFA de corrections et 28 h de travail recuperees chaque mois.

FAQ

La signature HMAC, c'est vraiment obligatoire ?

Oui. C'est le seul moyen de prouver qu'un appel vient reellement de Wave ou du fournisseur. Sans elle, un attaquant peut simuler un paiement reussi : le risque est une expedition non payee.

Combien de tentatives de retry prevoir ?

Un schema classique est 3 tentatives sur 24 h avec delais croissants (par ex. 1 min, 15 min, 2 h). Cela rattrape les pannes reseau temporaires sans marteler votre serveur.

Pourquoi une fenetre de rejeu de 5 minutes ?

Elle limite les attaques par rejeu : un webhook intercepte et renvoye plus tard est refuse s'il depasse 5 minutes. Au-dela, on considere l'appel comme suspect.

Que faire si un webhook n'arrive jamais ?

Prevoir une verification active : interroger l'API de statut du paiement apres 10 secondes, puis via une file de reprise. Le webhook ne doit jamais etre l'unique source de verite.

Combien de temps garder les journaux ?

Au moins 90 jours. C'est la fenetre utile pour arbitrer un litige client ou reconstituer un paiement conteste.

Discutons de votre projet. Nous securisons vos webhooks Wave avec signature, idempotence et reprise testees en conditions reelles. WhatsApp +221 77 596 93 33.

Tags :#webhook#wave#paystack#securite paiement#hmac#idempotence#developpement#afrique
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.