On this page

On this page

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

  1. Go to the Stripe Dashboard
  2. Navigate to Developers → Webhooks
  3. Click Add endpoint
  4. Paste your SpidyLabs bin URL
  5. Select the events you want to monitor (or "All events" for testing)
  6. Click Add endpoint

Step 3: Send a Test Event

In the Stripe webhook endpoint page:

  1. Click Send test webhook
  2. Select an event type (e.g., payment_intent.succeeded)
  3. 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) and Content-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:

  1. Copy your endpoint's Signing secret from the Stripe Dashboard
  2. Go to your bin's settings in SpidyLabs
  3. Under Signature Verification, select "Stripe" and paste the secret
  4. New requests will show a verification badge (Verified / Failed)

Common Stripe Webhook Events

EventDescription
payment_intent.succeededPayment completed
payment_intent.payment_failedPayment failed
customer.subscription.createdNew subscription
customer.subscription.deletedSubscription cancelled
invoice.payment_succeededInvoice paid
checkout.session.completedCheckout 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