Skip to main content

webhook-implementation

Implements or fixes Stripe webhook handlers -- signature verification, event routing, idempotency, and retry-safe processing. Use when the user wants to "add a webhook handler", "handle stripe events", "fix webhook", or process specific events. For delivery health audit, see webhook-reliability.

Ir a la instalación

Datos de origen

Repositorio
appeeky/stripe-skills
Última actividad en el origen
19 de julio de 2026 a las 10:10
Idioma detectado de SKILL.md
inglés
Estrellas
5
Forks
1

Opciones de instalación

De forma predeterminada está seleccionado el prompt que primero revisa el origen. Puedes cambiar a un comando directo o descargar una copia local.

Revisa los archivos de origen

Lee SKILL.md y los archivos complementarios que muestra SkillsMP antes de decidir si quieres instalarlo.

Mostrando SKILL.md

SKILL.md
Instrucciones de origen · Vista previa de solo lectura
name
webhook-implementation
description
Implements or fixes Stripe webhook handlers -- signature verification, event routing, idempotency, and retry-safe processing. Use when the user wants to "add a webhook handler", "handle stripe events", "fix webhook", or process specific events. For delivery health audit, see webhook-reliability.
metadata
{"version":"1.0.0"}
# Webhook Implementation Builds robust Stripe webhook handlers. Match the project's stack or ask users (Next.js route, Express, Supabase edge function). ## Must-haves 1. **Raw body** for signature verification (no JSON pre-parse) 2. `stripe.webhooks.constructEvent(body, sig, secret)` 3. **Idempotency** -- dedupe by `event.id` (store processed IDs) 4. Return `200` fast; heavy work async 5. Handle only subscribed events; ignore rest gracefully ## Core events (subscription SaaS) | Event | Handler action | |-------|----------------| | `checkout.session.completed` | Provision access, save customer/sub IDs | | `customer.subscription.updated` | Sync plan + status | | `customer.subscription.deleted` | Revoke access | | `invoice.payment_failed` | Trigger dunning email/banner | | `invoice.paid` | Confirm renewal | ## Pattern (pseudocode) ``` event = constructEvent(rawBody, sig, secret) if alreadyProcessed(event.id): return 200 switch event.type: ...handle... markProcessed(event.id) return 200 ``` ## Verify Use Stripe CLI `stripe listen` / `stripe trigger`, or check `webhook-reliability` after deploy.
Ver en GitHub