Webhooks

Ce qui fait foi, c'est le webhook.

La redirection du navigateur peut être interrompue : un réseau qui coupe, un onglet fermé, un client pressé. Le webhook, lui, insiste — sept fois, sur trente-six heures.

Comment ça marche

Déclarez, vérifiez, répondez

  1. 01

    Déclarez une adresse

    Et choisissez les événements qui vous intéressent. Vous recevez un secret de signature, propre à cette adresse.

  2. 02

    Vérifiez la signature

    Chaque envoi porte une signature calculée sur son horodatage et son corps. Un message rejoué plus de cinq minutes après coup doit être refusé.

  3. 03

    Répondez vite

    Un 2xx suffit. Faites le travail long après avoir répondu : un serveur lent déclenche une nouvelle tentative, pas un abandon.

Ce sur quoi vous pouvez compter

Les seuls chiffres de cette page, et chacun se relit dans le code du service.

7

tentatives de livraison

webhook · config/webhook.ts

36 h

de fenêtre de reprise

espacement croissant, de la minute au jour

5 min

de tolérance au rejeu

au-delà, la signature est refusée

100 %

des tentatives archivées

code, réponse, durée — consultables

checkout.session.completed

evt_01K…

Livré
TentativeRéponseDurée
15001 240 ms
2500980 ms
3200310 ms

Chaque tentative garde son code, sa durée et la réponse reçue. Le rejeu est manuel, à votre main.

Ce qu'un webhook ne fait pas

  • Il ne garantit pas l'ordre d'arrivée : traitez chaque événement comme indépendant.
  • Il peut arriver deux fois — rendez votre traitement idempotent de votre côté aussi.
  • Le rejeu se déclenche depuis le tableau de bord, pas depuis la CLI.

Un webhook qui n'arrive pas ?

Le journal des livraisons montre ce que votre serveur a répondu, à la milliseconde près. C'est là qu'il faut regarder d'abord.