5
votes

Comment faire en sorte que Stripe renvoie manuellement un événement au webhook

J'utilise l'API Stripe et j'appelle mon Webhook avec succès depuis environ un an.

Mais hier, un problème est survenu pour la première fois. Le webhook n'a pas réussi à terminer l'opération prévue, mais a quand même renvoyé un code d'état 200, donc Stripe n'a pas réessayé.

J'ai maintenant corrigé l'erreur sur le Webhook, mais je ne comprends pas comment faire en sorte que Stripe répète l'appel du webhook pour cet événement particulier. Je peux récupérer l'événement, mais il n'y a pas de bouton à renvoyer. Comment faire?


1 commentaires

Comme d'autres l'ont souligné, vous ne pouvez pas demander à Stripe de vous renvoyer un événement dont le webhook a répondu avec succès, mais comme vous pouvez extraire l'événement dans Stripe et qu'il vous montre la charge utile JSON qui a été livrée, vous pouvez utiliser CURL ou tout autre outil pour simplement faire une demande à votre point de terminaison webhook avec la même charge utile JSON.


3 Réponses :


7
votes

Puisqu'une 200 a été retournée, récupérer l'événement sera votre meilleur pari. Les tentatives manuelles ne sont actuellement pas possibles (par https://stripe.com/docs/ webhooks # respond-to-a-webhook ):

En mode live, nous tenterons de livrer vos webhooks pendant trois jours maximum avec une interruption exponentielle. En mode test, nous réessayons trois fois en quelques heures. Les webhooks ne peuvent pas être retentés manuellement après cette heure, mais vous pouvez demander l'événement pour réconcilier vos données avec les événements manqués.

Lorsque vous affichez des informations sur un événement spécifique via le tableau de bord, vous pouvez vérifier combien de fois nous avons tenté d'envoyer un événement à un point de terminaison en cliquant sur cette URL de point de terminaison dans la section des détails du Webhook. Cela vous montrera la dernière réponse que nous avons reçue de votre point de terminaison, ainsi qu'une liste de toutes les tentatives de webhooks et les codes d'état HTTP respectifs que nous avons reçus.


0 commentaires

8
votes

Il est possible de renvoyer manuellement les événements de webhook.

Dans le tableau de bord Stripe, sélectionnez "développeurs" >> "webhooks", puis sélectionnez le webhook avec lequel vous travaillez. Cliquez sur les points de suspension à côté de l'événement que vous souhaitez renvoyer et sélectionnez "Renvoyer".

 entrez la description de l'image ici

J'ai testé ceci et cela fonctionnait pour moi le 7 janvier 2020.


2 commentaires

Oui, cela fonctionne pour les appels ayant échoué, mais pas pour ceux qui ont renvoyé un code d'état 200.


Cela fonctionne, je l'ai fait récemment aussi. Maintenant, je suis confronté à un nouveau problème, les tentatives de webhook affichées ne dépassent pas 15 jours.



7
votes

Stripe cli permet à ces événements de bande de renvoyer IDOFTHEEVENT --live --webhook-endpoint = IDOFTHEWEBHOOK (remplacez IDOFTHEEVENT par l'ID de l'événement, et IDOFTHEWEBHOOK par l'ID du webhook que vous pouvez trouver dans l'URL lorsque vous êtes sur la page d'un webhook).

Sinon, vous pouvez copier / coller l'événement envoyé au webhook et l'envoyer à votre point de terminaison avec un outil tel que postman.


0 commentaires