WebhookToolkit
Stripe

Testowanie webhooka Stripe lokalnie

Integracja webhooków Stripe często zmusza do wyzwalania prawdziwych płatności testowych, by sprawdzić swój handler. Z Webhook Toolkit generujesz prawidłowy podpisany event Stripe jednym kliknięciem, edytujesz payload i wysyłasz go bezpośrednio do swojego lokalnego endpointu. Twoja weryfikacja Stripe-Signature jest testowana natychmiast.

Wygeneruj podpis, aby zobaczyć headery, body i gotowe do wklejenia polecenie cURL.

Zweryfikuj podpis po stronie serwera

Po stronie Node.js Twój handler musi zweryfikować header przed przetworzeniem eventu:

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') {
  // ...
}

Pamiętaj, aby przekazać raw body (niesparsowane) do constructEvent, w przeciwnym razie podpis nigdy się nie zgodzi. Aby odbierać prawdziwy event ze Stripe na swoim localhost, utwórz tunel Relay.

Najczęstsze pytania

Jak przetestować webhook Stripe lokalnie bez prawdziwej płatności?

Użyj powyższego generatora: wybierz event (np. payment_intent.succeeded), wklej swój signing secret whsec_…, podaj URL swojego lokalnego handlera (przez Relay lub endpoint Receiver) i kliknij Podpisz & wyślij. Header Stripe-Signature jest obliczany dokładnie tak jak przez Stripe.

Czy wygenerowany header Stripe-Signature jest prawidłowy?

Tak. Jest zgodny z oficjalnym schematem t=timestamp,v1=HMAC_SHA256(timestamp.payload, secret). stripe.webhooks.constructEvent() zweryfikuje go bez błędu, o ile używasz właściwego signing secret.

Czy mogę zmienić kwotę lub klienta?

Tak, payload jest w pełni edytowalny przed wysłaniem. Zmień kwotę, customer ID, status… i wyślij ponownie tyle razy, ile potrzeba.

Różnica względem CLI Stripe?

CLI Stripe działa tylko dla Stripe i wymaga instalacji. Webhook Toolkit obsługuje również GitHub, Slack, Twilio, Mailgun i Shopify, w przeglądarce, oraz przechwytuje/inspekuje odebrane żądania.

Testowanie webhooka Stripe lokalnie — Generator podpisanego payloadu · Webhook Toolkit