E-commerce11 min de lecture

Webhooks Wave: confirmer un paiement de façon fiable en 2026

Mohamed Bah·Fondateur, Kolonell
25 août 2026
Partager :
Webhooks Wave: confirmer un paiement de façon fiable en 2026

Webhooks Wave: confirmer un paiement de façon fiable en 2026

E-commerce

Le verdict en trois phrases

Un client peut fermer son onglet, perdre son réseau ou revenir sur votre page sans avoir payé: le retour navigateur n'est jamais une preuve de paiement. La seule source de vérité est le webhook signé envoyé par Wave ou Paystack directement à votre serveur, vérifié par signature HMAC-SHA256. Encaissez le webhook dans une file d'attente, répondez 200 en moins de 5 secondes, puis traitez la commande de façon asynchrone.

Pourquoi le retour navigateur ment

Le redirect_url sert à l'expérience utilisateur, pas à la comptabilité. Trois scénarios cassent la validation côté client: le client paie mais ne revient jamais (réseau 3G coupé), le client revient sans avoir payé (bouton retour), ou un robot rejoue l'URL de succès. Le webhook, lui, part du serveur de paiement vers le vôtre, indépendamment du navigateur.

SignalFiable ?RôleRisque si utilisé seul
Retour navigateur (redirect)NonUX / afficher un messageCommande fantôme, fraude
Webhook signéOuiSource de véritéAucun si signature vérifiée
Polling API statusOuiSecours si webhook perduCharge serveur, latence
Email de confirmationNonInformationFalsifiable
Solde marchand (dashboard)OuiRéconciliationDifféré (T+1)

L'architecture webhook + file d'attente

Le pattern gagnant en 2026 tient en cinq étapes: recevoir, vérifier la signature, déduplication par event_id, répondre 200 immédiatement, traiter en tâche de fond. Si le traitement échoue, Wave et Paystack rejouent l'événement — d'où l'importance de l'idempotence.

ParamètreValeur 2026Détail
Algorithme signatureHMAC-SHA256Clé secrète webhook du dashboard
Header Paystackx-paystack-signatureHash du corps brut
Événement à traitercharge.successIgnorer les autres
Tolérance d'horloge5 minRejeter timestamps trop vieux
Délai de réponse< 5 sSinon retry côté fournisseur
Nombre de retriesJusqu'à 5Backoff exponentiel
DéduplicationPar event_idTTL 72 h
Corps à hasherPayload brutJamais le JSON re-sérialisé

Règle d'or: calculez la signature sur le corps brut de la requête (raw body), pas sur l'objet JSON reparsé, sinon un espace ou un ordre de clés différent invalide le hash.

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.

Mini cas pratique

Awa, gérante d'une boutique de cosmétiques à Dakar, encaissait 320 commandes/mois via Wave et validait sur le retour navigateur. Résultat: 11 commandes fantômes/mois (clients partis avant paiement) et 4 litiges. En basculant sur le webhook signé + file d'attente, elle tombe à 0 commande fantôme. Sur un panier moyen de 18 000 FCFA, elle récupère la certitude sur 320 × 18 000 = 5 760 000 FCFA/mois de flux, sans plus jamais expédier une commande non payée.

FAQ

Faut-il vérifier la signature à chaque webhook ? Oui, sans exception. Un webhook non signé ou avec une signature invalide doit être rejeté avec un code 401, et jamais traité. C'est la seule barrière contre un attaquant qui simule un charge.success.

Que répondre si mon serveur est lent ? Répondez 200 en moins de 5 secondes après avoir juste enregistré l'événement en file d'attente. Ne faites aucun traitement lourd (email, mise à jour stock) avant le 200, sinon le fournisseur considère l'appel échoué et rejoue jusqu'à 5 fois.

Que faire d'un événement en double ? Déduplication par event_id avec un TTL de 72 h: si l'ID a déjà été traité, répondez 200 sans rien refaire. Environ 0,5 à 2 % des webhooks sont des rejeux légitimes.

Le webhook peut-il arriver avant le retour navigateur ? Oui, très souvent. Votre page de succès doit interroger l'état réel de la commande, pas supposer qu'elle est payée parce que l'utilisateur est revenu.

Comment tester en local ? Utilisez un tunnel (type ngrok) et l'outil de replay du dashboard Paystack/Wave pour rejouer un charge.success réel, puis vérifiez la signature avec votre clé de test.

Discutons de votre projet. Nous câblons vos webhooks Wave et Paystack avec signature vérifiée, file d'attente et idempotence, testés de bout en bout. WhatsApp +221 77 596 93 33.

Tags :#webhook wave#confirmation paiement#paystack webhook#signature hmac#securite paiement#file attente webhook#e-commerce fiable
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.