Le verdict en trois phrases
Sans webhook fiable, 3 à 8 % des confirmations de paiement Wave se perdent en 2026 : le client a payé, mais la commande reste bloquée en attente. La solution repose sur trois piliers : vérification de signature HMAC, file d'attente avec retry, et idempotence pour ne jamais traiter deux fois le même événement. Le webhook Wave arrive en moins de 5 secondes, contre un polling API lent, coûteux et imprécis.
Pourquoi les confirmations se perdent
Un webhook est un simple appel HTTP de Wave vers votre serveur. S'il échoue (timeout, déploiement, erreur 500) et que vous ne gérez pas le retry, la commande n'est jamais confirmée. Sans idempotence, un retry peut aussi valider deux fois.
| Cause d'échec | Fréquence relative | Remède | Temps de mise en oeuvre |
|---|---|---|---|
| Serveur down au moment du push | Élevée | Retry + file d'attente | 0,5 jour |
| Événement traité deux fois | Moyenne | Clé d'idempotence en base | 0,5 jour |
| Signature non vérifiée (spoof) | Critique | Vérif HMAC | 0,5 jour |
| Timeout traitement lourd | Moyenne | Répondre 200 vite, traiter en async | 0,5 jour |
| Validation sur page navigateur | Élevée | Source de vérité = webhook | 0,5 jour |
Webhook vs polling : le bon choix
| Critère | Webhook Wave | Polling API |
|---|---|---|
| Délai de confirmation | < 5 s | 30 s à plusieurs min |
| Coût en requêtes | Faible (push) | Élevé (interrogation répétée) |
| Charge serveur | Faible | Élevée |
| Fiabilité | Élevée avec retry | Moyenne |
| Complexité | Signature + idempotence | Simple mais lourde |
Le polling reste utile en filet de sécurité (réconciliation nocturne), mais le webhook doit être la voie principale.
L'architecture recommandée
- Recevoir l'événement, vérifier la signature HMAC immédiatement.
- Répondre 200 OK en moins de 2 secondes, puis traiter en asynchrone via une file.
- Utiliser une clé d'idempotence (transaction_id) : si déjà traité, ignorer.
- Marquer la commande payée, déclencher email/SMS et préparation.
- Lancer une réconciliation quotidienne par polling pour rattraper les manquants.
Mini cas pratique
Moussa gère une boutique en ligne à Dakar avec 1 000 commandes/mois. Sans webhook fiable, il perdait 5 % de confirmations, soit 50 commandes en attente à traiter à la main. À un panier moyen de 14 000 FCFA, cela représentait 700 000 FCFA de ventes retardées et un support saturé. Après avoir déployé webhook HMAC + file de retry (2 jours de dev), son taux de perte tombe sous 0,3 %, soit moins de 3 commandes à réconcilier — automatiquement.
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.
FAQ
Pourquoi ne pas valider la commande sur la page de retour ?
Parce que le client peut fermer l'onglet avant la redirection. La source de vérité doit être le webhook serveur, qui arrive même si le navigateur est fermé.
Qu'est-ce que l'idempotence concrètement ?
C'est garantir qu'un même événement, reçu deux fois, ne produit qu'un seul effet. On stocke l'identifiant de transaction et on ignore les doublons.
À quoi sert la signature HMAC ?
À prouver que l'appel vient bien de Wave et n'a pas été falsifié. Sans elle, un attaquant pourrait simuler un paiement réussi. C'est un contrôle critique.
Quel délai de livraison pour un webhook Wave ?
En général moins de 5 secondes après le paiement. Si votre serveur est indisponible, un mécanisme de retry renvoie l'événement.
Faut-il quand même faire du polling ?
Oui, en secours : une réconciliation quotidienne rattrape les rares événements perdus et sécurise la comptabilité.
Discutons de votre projet. On fiabilise vos webhooks Wave : HMAC, retry, idempotence. 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.

