Webhooks

Prev Next

Dans le domaine du développement web, un webhook est une méthode permettant d'augmenter ou de modifier le comportement d'une page web ou d'une application web à l'aide de rappels personnalisés. Ces rappels peuvent être maintenus, modifiés et gérés par des utilisateurs et des développeurs tiers qui ne sont pas nécessairement affiliés au site web ou à l'application d'origine.

Accéder à l'interface des Webhooks

Tout d'abord, nous vous guiderons vers la bonne page.

  • Cliquez sur Configurations > Intégrations et outils > Webhooks pour accéder à la page Webhooks via la navigation sur le côté gauche.
    screenshot-staging-admin_billwerk_plus-2024_11_27-20_31_58.png

Configuration des Webhooks

  1. Cliquez sur Reepay_Admin_-__Configuration_button.png dans le coin supérieur droit.

  2. Dans le champ Webhook urls, ajoutez une URL et cliquez sur Reepay_Admin_-_Add_button.png.

  3. Sélectionnez un ou plusieurs types d'événements, vous avez le choix entre

    • Événements de la facture

    • Événements de l'abonnement

    • Événements clients

  4. Ajoutez une adresse électronique dans la boîte des courriels d'alerte et cliquez sur Reepay_Admin_-_Add_button.png.

  5. Entrez un nom d'utilisateur et un mot de passe dans la case Credentials.

  6. Vous pouvez copier la clé secrète en cliquant sur Reepay_Admin_-_Copy_Icon.png.

  7. Activez le crochet web à l'aide du commutateur Reepay_Admin_-_Status_Switch.png.

  8. Cliquez sur Save_Reepay.png.

Explication des web hooks en attente

Parfois, les Webhooks restent en attente et il semble qu'ils ne soient même pas envoyés à votre serveur.

Sommaire :

Premier rentré, premier sorti

Tous les web hooks sont envoyés dans l'ordre FIFO (first in, first out) groupés pour chaque client.

Cela signifie que vous pouvez vous attendre à recevoir des événements pour chaque client dans le bon ordre.

Exemple: Vous n'obtenez pas CUSTOMER_UPDATED avant CUSTOMER_CREATED.

Note

Si votre service ne renvoie pas un code HTTP compris entre 200 et 299:

  • nous considérons que le webhook a échoué

  • nous bloquerons les prochains Webhooks pour ce client spécifique

Considérations pour les web hooks

  • Votre point d'accès doit répondre dans les 30 secondes.

  • Une réponse avec le code HTTP 2XX est considérée comme réussie. Toutes les autres réponses sont considérées comme des échecs.

  • Le contenu d'un crochet web notifie un événement dans le système de paiement Billwerk+, les ressources concernées et le type d'événement, mais ne comporte pas d'état en soi. Il est recommandé d'utiliser ensuite l'API pour obtenir l'état actualisé d'une ressource.

  • Votre point de terminaison doit être idempotent, permettant plusieurs invocations du même crochet web avec le même résultat qu'une seule invocation.

    En effet, des erreurs de communication peuvent conduire à ce que les paiements Billwerk+ considèrent qu'une invocation a échoué alors qu'elle a été reçue. Nous réessayerons les invocations qui ont échoué. Voir ci-dessous.

  • Dans les scénarios d'échec, les crochets web peuvent être livrés dans le désordre. C'est pourquoi il faut toujours utiliser l'API pour obtenir l'état réel d'une ressource.

    Un exemple est l'annulation d'un abonnement suivie d'un désabonnement. Le web hook d'annulation pourrait être reçu après l'annulation.

Meilleure pratique

Billwerk+ ¨Payments enverra 10 demandes de Webhook maximum à votre serveur à la fois.

Une bonne pratique consiste à décharger les événements dans une file d'attente locale de votre côté et à renvoyer 200 OK à chaque.

Cela signifie que vous réagirez rapidement et qu'aucun événement ne se bloquera mutuellement. Vous pouvez ensuite traiter chaque événement de votre file d'attente et mettre à jour vos actifs sans aucun problème.