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.

Aller à l'installation

Informations de source

Dépôt
appeeky/stripe-skills
Dernière activité de la source
19 juillet 2026 à 10:10
Langue détectée de SKILL.md
anglais
Étoiles
5
Forks
1

Options d'installation

Le prompt qui vérifie d'abord la source est sélectionné par défaut. Vous pouvez passer à une commande directe ou télécharger une copie locale.

Vérifiez les fichiers source

Lisez SKILL.md et les fichiers associés affichés par SkillsMP avant de décider de l'installer.

Affichage de SKILL.md

SKILL.md
Instructions source · Aperçu en lecture seule
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.
Voir sur GitHub