🪝WebhookToolkit
Stripe

Tester un webhook Stripe en local

Intégrer les webhooks Stripe oblige souvent à déclencher de vrais paiements en test pour vérifier son handler. Avec Webhook Toolkit, génère un event Stripe signé et valide en un clic, édite le payload, et envoie-le directement à ton endpoint local. Ta vérification de Stripe-Signature est testée instantanément.

Génère la signature pour voir les headers, le body et la commande cURL prête à coller.

Vérifier la signature côté serveur

Côté Node.js, ton handler doit valider le header avant de traiter l'event :

handler.js
const sig = req.headers['stripe-signature'];
const event = stripe.webhooks.constructEvent(
  rawBody, sig, process.env.STRIPE_WEBHOOK_SECRET
);
if (event.type === 'payment_intent.succeeded') {
  // ...
}

Pense à passer le raw body (non parsé) à constructEvent, sinon la signature ne correspondra jamais. Pour recevoir un vrai event depuis Stripe sur ton localhost, crée un tunnel Relay.

Questions fréquentes

Comment tester un webhook Stripe en local sans vrai paiement ?

Utilise le générateur ci-dessus : choisis l'event (ex. payment_intent.succeeded), colle ton signing secret whsec_…, indique l'URL de ton handler local (via le Relay ou un endpoint Receiver) puis clique sur Signer & envoyer. Le header Stripe-Signature est calculé exactement comme par Stripe.

Le header Stripe-Signature généré est-il valide ?

Oui. Il suit le schéma officiel t=timestamp,v1=HMAC_SHA256(timestamp.payload, secret). stripe.webhooks.constructEvent() le validera sans erreur tant que tu utilises le bon signing secret.

Puis-je modifier le montant ou le customer ?

Oui, le payload est entièrement éditable avant l'envoi. Change le montant, le customer ID, le statut… puis renvoie autant de fois que nécessaire.

Différence avec la CLI Stripe ?

La CLI Stripe ne fonctionne que pour Stripe et nécessite une installation. Webhook Toolkit gère aussi GitHub, Slack, Twilio, Mailgun et Shopify, dans le navigateur, et capture/inspecte les requêtes reçues.

Tester un webhook Stripe en local — Générateur de payload signé · Webhook Toolkit