01. Generate Endpoint
Open Hookly and click Create Listener. Copy the unique HTTPS URL (e.g., https://hookly.app/l/str-k8x92m). This becomes your webhook destination.
Instant webhook debugging without tunnels. Route Stripe sandbox events to Hookly endpoints in under 60 seconds.
Connect your Stripe sandbox account to a dedicated Hookly listener. No local servers or ngrok required.
Open Hookly and click Create Listener. Copy the unique HTTPS URL (e.g., https://hookly.app/l/str-k8x92m). This becomes your webhook destination.
Navigate to Developers > Webhooks. Paste your Hookly URL into the Add endpoint field. Select sandbox mode and choose events like payment_intent.succeeded and charge.failed.
Click Add endpoint to trigger Stripe signature verification. Trigger a test charge using pm_card_visa in your client SDK. Watch payloads stream into Hookly in real time.
Validate Stripe signatures locally before processing. Hookly captures the raw Stripe-Signature header and JSON body for replay testing.
Use the official stripe library to verify payloads. Replace whsec_test_key with your endpoint secret from the Stripe dashboard.
const stripe = require('stripe')('sk_test_51Mz...');
const endpointSecret = 'whsec_test_7x9k2m...';
const sig = req.headers['stripe-signature'];
const event = stripe.webhooks.constructEvent(body, sig, endpointSecret);
Hookly preserves exact timestamp formatting. Use stripe.Webhook.construct_event() to safely decode sandbox transfers and subscription trials.
import stripe
stripe.api_key = 'sk_test_4eC39HqLyjWDar...'
payload = request.get_data()
sig_header = request.headers.get('stripe-signature')
event = stripe.Webhook.construct_event(payload, sig_header, endpoint_secret)