Afrique Digitale11 min de lecture

Webhooks Wave : idempotence pour éviter les doubles commandes 2026

Mohamed Bah·Fondateur, Kolonell
25 août 2026
Partager :
Webhooks Wave : idempotence pour éviter les doubles commandes 2026

Webhooks Wave : idempotence pour éviter les doubles commandes 2026

Afrique Digitale

Le verdict en trois phrases

Un webhook de paiement est rejoué plusieurs fois par conception : Wave et les opérateurs renvoient la même notification jusqu'à cinq fois pour garantir la livraison. Sans clé d'idempotence, chaque rejeu recrée une commande, générant 2 à 4 % de doublons qui polluent stock et comptabilité. La parade tient en trois piliers : signature HMAC vérifiée, clé d'idempotence stockée, fenêtre de déduplication de 24 heures.

Les 6 événements critiques à gérer

Un webhook ne dit pas seulement « payé ». Il transporte une série d'événements dont chacun déclenche une action différente dans votre système.

ÉvénementSignificationAction commandeRéversible
payment.successPaiement confirméValider et préparerOui
payment.failedPaiement échouéLibérer le stockNon
payment.pendingEn attente de confirmationRéserver le stockOui
payment.reversedPaiement annuléRembourser et restockerNon
payment.chargebackLitige clientGeler et enquêterNon
payment.refundRemboursement émisCréditer et restockerNon

Ignorer l'un de ces événements crée des incohérences : une commande payée non validée, ou un stock bloqué sur un paiement échoué.

La table des statuts et actions idempotentes

L'idempotence signifie qu'un même événement traité deux fois produit exactement le même résultat. Voici comment chaque statut se comporte face à un rejeu.

Statut reçu1er traitementRejeu identiqueGarde-fou
success (nouveau)Créer la commandeIgnorer (déjà traité)Clé d'idempotence
success (déjà vu)IgnorerFenêtre 24 h
failedMarquer échecIgnorerStatut final
reversed après successRembourserIgnorer 2e reversedLog unique
signature invalideRejeter (401)RejeterHMAC
événement hors ordreMettre en fileRéordonnerHorodatage

L'impact d'un webhook non idempotent

Voici ce que coûte l'absence d'idempotence sur une boutique traitant 3 000 paiements/mois, panier moyen 14 000 FCFA.

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.

IndicateurSans idempotenceAvec idempotenceÉcart
Taux de doublons3 %0,1 %-2,9 pts
Commandes dupliquées/mois903-87
Remboursements à traiter903-87
Temps SAV mensuel9 h0,5 h-8,5 h
Stock bloqué à tortfréquentrare

À 14 000 FCFA de panier, 87 doublons représentent 1 218 000 FCFA de transactions à annuler et rembourser chaque mois, sans compter le coût SAV.

Mini cas pratique

Fatou vend des vêtements en ligne à Dakar via Wave, 3 000 commandes/mois. Son webhook créait une commande à chaque rejeu : elle traitait 90 doublons par mois, soit 9 heures de SAV et des clients agacés d'être débités deux fois. En ajoutant une clé d'idempotence (référence de transaction Wave) et une déduplication sur 24 h, ses doublons tombent à 3 par mois. Elle récupère 8,5 heures et supprime la quasi-totalité des litiges de double débit.

FAQ

Qu'est-ce qu'une clé d'idempotence concrètement ? C'est un identifiant unique par transaction (souvent la référence Wave) que vous stockez au premier traitement. Si le même identifiant revient, vous ignorez le rejeu au lieu de recréer la commande.

Pourquoi vérifier la signature HMAC ? Elle prouve que le webhook vient bien de Wave et non d'un fraudeur qui simule un paiement. Sans vérification, n'importe qui pourrait valider une commande gratuitement.

Combien de temps garder la fenêtre de déduplication ? 24 heures couvrent la quasi-totalité des rejeux opérateur, qui s'étalent sur quelques minutes à quelques heures. Au-delà, le risque de rejeu tardif devient négligeable.

Que faire d'un événement reçu dans le désordre ? Un paiement peut arriver avant sa création de commande. On met l'événement en file et on le réordonne par horodatage pour éviter un état incohérent.

Les webhooks échoués sont-ils rejoués ? Oui, si votre serveur renvoie une erreur, Wave retente jusqu'à cinq fois avec un délai croissant. Votre endpoint doit répondre 200 rapidement, quitte à traiter en asynchrone.

Discutons de votre projet. Nous fiabilisons vos webhooks Wave avec signature HMAC et idempotence pour supprimer les doubles commandes. WhatsApp +221 77 596 93 33.

Tags :#webhook paiement#idempotence#wave api#integration technique#double commande#securite paiement
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.