E-commerce11 min de lecture

Sécuriser les webhooks de paiement : signature et idempotence à Dakar en 2026

Mohamed Bah·Fondateur, Kolonell
31 août 2026
Partager :
Sécuriser les webhooks de paiement : signature et idempotence à Dakar en 2026

Sécuriser les webhooks de paiement : signature et idempotence à Dakar en 2026

E-commerce

Le verdict en trois phrases

Un webhook de paiement non vérifié peut être usurpé : n'importe qui envoie un faux callback et vos commandes passent "payées" gratuitement. Deux contrôles ferment la porte : la vérification de signature HMAC (avec fenêtre anti-rejeu de 5 minutes) et une clé d'idempotence qui bloque le double crédit malgré les tempetes de retries. À Dakar comme à Lagos en 2026, faire confiance au callback brut est la faille la plus courante et la plus coûteuse.

La surface de menace

Un endpoint webhook est public par nature : l'opérateur doit pouvoir l'appeler. Sans contrôle, cette porte ouverte devient une faille.

MenaceMécanismeImpactParade
Faux callbackRequête forgée "paid"Commande livrée non payéeSignature HMAC
RejeuRenvoi d'un callback capturéDouble crédit compteFenêtre 5 min + nonce
Double créditRetries opérateur (jusqu'à 5x)Solde/commande dupliquésClé d'idempotence
Injection payloadChamps manipulesMontant fausseVérifier montant côté serveur
Fuite d'endpointURL devineeSondage malveillantSecret + rate limit

Les opérateurs mobile money renvoient un webhook jusqu'à 5 fois tant qu'ils ne reçoivent pas un 2xx. Sans idempotence, chaque retry recrédité la commande.

Checklist de durcissement

Sécuriser un webhook tient en une poignée de règles appliquées systématiquement.

ContrôleRègle 2026Pourquoi
Signature HMACRecalculer et comparer le hashProuve l'origine
Fenêtre anti-rejeuRejeter timestamp > 5 minBloque le replay
Clé d'idempotence1 événement traité 1 seule foisStoppe le double crédit
Accusé 2xx uniquementAck seulement si traitéÉvite les retries inutiles
Vérif montantComparer au montant commandeContre l'injection
Log + alerteJournaliser tout mismatchDétection précoce
Rate limitLimiter les appels/IPFreine le sondage

Règle d'or : ne jamais faire confiance au corps brut. On vérifie la signature, on rejette hors fenêtre, on déduplique par clé, puis seulement on met à jour la commande.

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.

Vous préférez qu’on vous rappelle ?

Laissez votre WhatsApp, un expert Kolonell vous recontacte sous 24h ouvrées. Gratuit et sans engagement.

Vous êtes :

Mini cas pratique

Ibrahima, développeur d'une boutique à Dakar, recevait le webhook Wave et marquait la commande payée sans vérifier la signature. Un attaquant envoie 40 faux callbacks "paid" sur des paniers de 35 000 FCFA : 1 400 000 FCFA de commandes partent en préparation sans encaissement. Après correctif (HMAC + fenêtre 5 min + clé d'idempotence), les 40 requêtes forgées sont rejetées et un pic de 5 retries légitimes ne crédite plus qu'une seule fois. Coût de la faille avant correctif : 1 400 000 FCFA de marchandise potentiellement perdue ; coût du correctif : une demi-journée de dev.

FAQ

Qu'est-ce qu'une signature HMAC concrètement ? L'opérateur signe le payload avec un secret partagé ; votre serveur recalcule le même hash et comparé. Si les deux hash différent, le callback est faux et vous le rejetez avant tout traitement.

Pourquoi une fenêtre de 5 minutes ? Elle limite le rejeu : un callback capture puis renvoyé plus tard est refusé car son timestamp est périmé. Cinq minutes couvrent les latences réseau sans laisser une longue fenêtre d'attaque.

Comment fonctionne une clé d'idempotence ? Chaque événement porte un identifiant unique ; vous le stockez après traitement. Si le même identifiant revient (jusqu'à 5 retries opérateur), vous renvoyez 2xx sans re-créditer.

Faut-il vérifier le montant dans le webhook ? Oui, toujours côté serveur. Comparez le montant du callback à celui de la commande enregistrée ; un écart signale une injection de payload ou une erreur, et bloque la validation.

Que faire en cas de mismatch de signature ? Journaliser l'événement, alerter, et ne rien mettre à jour. Un pic de mismatchs révèle une tentative d'usurpation ; l'alerte vous laisse réagir avant les dégâts.

Discutons de votre projet. Nous auditons et durcissons vos webhooks Wave et Orange Money (signature, idempotence, alertes) avant la mise en production. WhatsApp +221 77 596 93 33.

Tags :#webhook#securite#idempotence#signature HMAC#paiement#Dakar#Lagos#developpement
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.