Stripe Webhooks
This guide walks you through setting up SpidyLabs to receive and inspect Stripe webhook events.
Step 1: Create a Bin
Sign in to SpidyLabs and create a new bin. Name it something descriptive like "stripe-webhooks".
Your webhook URL will be:
https://spidylabs.com/hook/stripe-webhooks
Step 2: Add Webhook Endpoint in Stripe
- Go to the Stripe Dashboard
- Navigate to Developers → Webhooks
- Click Add endpoint
- Paste your SpidyLabs bin URL
- Select the events you want to monitor (or "All events" for testing)
- Click Add endpoint
Step 3: Send a Test Event
In the Stripe webhook endpoint page:
- Click Send test webhook
- Select an event type (e.g.,
payment_intent.succeeded) - Click Send test webhook
The event appears instantly in SpidyLabs.
Step 4: Inspect the Payload
Click the request in SpidyLabs to see:
- Headers — Look for
Stripe-Signature(used for verification) andContent-Type: application/json - Body — The full event payload with syntax highlighting:
{
"id": "evt_1234567890",
"object": "event",
"type": "payment_intent.succeeded",
"data": {
"object": {
"id": "pi_1234567890",
"amount": 2000,
"currency": "usd",
"status": "succeeded"
}
}
}
Using Stripe CLI
You can also use the Stripe CLI to forward events:
# Install and login
stripe login
# Forward events to SpidyLabs
stripe listen --forward-to https://spidylabs.com/hook/stripe-webhooks
# Trigger a test event
stripe trigger payment_intent.succeeded
Signature Verification
To verify Stripe signatures in SpidyLabs:
- Copy your endpoint's Signing secret from the Stripe Dashboard
- Go to your bin's settings in SpidyLabs
- Under Signature Verification, select "Stripe" and paste the secret
- New requests will show a verification badge (Verified / Failed)
Common Stripe Webhook Events
| Event | Description |
|---|---|
payment_intent.succeeded | Payment completed |
payment_intent.payment_failed | Payment failed |
customer.subscription.created | New subscription |
customer.subscription.deleted | Subscription cancelled |
invoice.payment_succeeded | Invoice paid |
checkout.session.completed | Checkout completed |
Tips
- Use Stripe's test mode to avoid processing real payments during development
- Enable auto-forward (Pro) to relay Stripe events directly to your localhost
- Use request diff to compare payloads from different event types