Échec de la vérification de signature
Non-utilisation du corps de payload brut
Problème : Lors de la génération de la signature, nous utilisons le corps sous forme de chaîne brute du payload du message. Si vous parsez le JSON puis le stringifiez à nouveau, la signature ne correspondra pas. Solution : Utilisez toujours le corps brut de la requête exactement tel qu’il a été reçu :Mauvaise clé secrète
Problème : Utilisation du mauvais secret webhook ou décodage incorrect. Solution :- Assurez-vous d’utiliser le secret correct pour chaque endpoint (les secrets sont uniques par endpoint)
- Supprimez le préfixe
whsec_avant le décodage base64
Horodatage expiré
Problème : L’horloge de votre serveur est désynchronisée, ce qui entraîne le rejet de webhooks pourtant valides. Solution : Assurez-vous que l’heure de votre serveur est synchronisée via NTP.Webhooks non reçus
Endpoint inaccessible
Problème : Votre endpoint n’est pas accessible publiquement. Solution :- Assurez-vous que votre serveur est en cours d’exécution et que l’URL de l’endpoint est correcte
- Vérifiez que les règles de pare-feu autorisent les requêtes HTTPS entrantes
- Vérifiez que l’endpoint fonctionne avec un simple test curl
Problèmes SSL/TLS
Problème : Certificat SSL invalide ou expiré. Solution : Assurez-vous que votre endpoint dispose d’un certificat SSL valide émis par une autorité de certification (CA) de confiance.Codes de réponse incorrects
Renvoyer des erreurs pour des traitements réussis
Problème : Vous renvoyez des codes de statut différents de 2xx même lorsque le webhook a été traité avec succès. Solution : Renvoyez toujours un code de statut 2xx lorsque vous avez bien reçu et mis en file d’attente le webhook pour traitement :Timeouts
Le traitement prend trop de temps
Problème : Votre endpoint met plus de 15 secondes à répondre. Solution : Traitez les webhooks de manière asynchrone :Récupération après échec
Réactiver un endpoint désactivé
Si votre endpoint a été désactivé après plusieurs échecs consécutifs :- Corrigez le problème sous-jacent
- Allez dans Settings > Webhooks dans le tableau de bord
- Cliquez sur Enable Endpoint sur l’endpoint désactivé
Rejouer les messages échoués
Pour récupérer les webhooks manqués après une panne :- Accédez aux détails de votre endpoint
- Cliquez sur Options > Recover Failed Messages
- Sélectionnez la plage horaire à rejouer
Consultez les logs de webhook dans votre tableau de bord pour obtenir des messages d’erreur détaillés et les codes de réponse renvoyés par votre endpoint.