stripe-webhooks

Verify Stripe webhook signatures and process payment events across Express, Next.js, and FastAPI.

79|11|Updated Jan 30, 2026
One-click install
npx skills add https://github.com/hookdeck/webhook-skills --skill stripe-webhooks
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: stripe-webhooks
Source: https://github.com/hookdeck/webhook-skills/tree/main/skills/stripe-webhooks
Command: npx skills add https://github.com/hookdeck/webhook-skills --skill stripe-webhooks

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Stripe webhooks are the backbone of payment integrations, enabling your application to react to events like successful payments and subscriptions. This Skill provides a secure, guided approach to receiving, validating, and handling those webhook events in popular runtimes.

Core Features & Use Cases

  • Signature verification: Validate Stripe webhook payloads using the Stripe SDK or a manual verification flow.
  • Event handling: Process common events such as payment_intent.succeeded, payment_intent.payment_failed, invoice.paid, and customer.subscription.*.
  • Environment setup: Guidance for local development and production, including STRIPE_WEBHOOK_SECRET and STRIPE_SECRET_KEY management.
  • Multi-runtime examples: Ready-to-adapt patterns for Express (Node.js), Next.js, and FastAPI to get you started quickly.

Quick Start

Set STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET in your environment, run the sample Express/Next.js/FastAPI webhook, and use the Stripe CLI or Hookdeck to forward test events to your endpoint. Ensure your webhook endpoint uses a raw body (for Node/Express) or the equivalent in your framework, and verify the Stripe-Signature header against your secret.

Frequently Asked Questions about stripe-webhooks

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I verify Stripe webhooks in Express or Next.js?

To verify Stripe webhooks in Express or Next.js, you must handle the raw request body and validate the Stripe-Signature header against your STRIPE_WEBHOOK_SECRET to ensure payload authenticity before processing events.

Why does Stripe webhook signature verification fail in FastAPI?

Stripe webhook signature verification fails in FastAPI when the endpoint does not process the raw request body, which is required to accurately validate the Stripe-Signature header against your configured STRIPE_WEBHOOK_SECRET.

What Stripe webhook events should I handle for payment integrations?

For payment integrations, you should handle Stripe webhook events such as payment_intent.succeeded, payment_intent.payment_failed, invoice.paid, and customer.subscription.* to trigger downstream workflows.

Do I need a raw body for Stripe webhook signature verification in Node.js?

Yes, you need a raw body for Stripe webhook signature verification in Node.js to accurately validate the payload against the Stripe-Signature header using your STRIPE_WEBHOOK_SECRET.

How do I test Stripe webhooks locally with the Stripe CLI?

To test Stripe webhooks locally, set STRIPE_SECRET_KEY and STRIPE_WEBHOOK_SECRET in your environment, then use the Stripe CLI or Hookdeck to forward test events directly to your local webhook endpoint.