What problem does it solve?
Billing systems commonly suffer from inconsistent subscription state, revenue loss, and fragile retry logic because servers trust API responses instead of webhook confirmations, lack idempotency, and mishandle failed payments. This Skill provides patterns and guardrails to prevent incorrect charges, accidental access revocation, and billing-related outages.
Core Features & Use Cases
- Webhook-first architecture: treat Stripe webhooks as the source of truth and update the database only after webhook confirmation.
- Idempotent handlers & signature verification: persist processed event IDs, verify signatures, and tolerate retries without double-processing.
- Trial, proration, and dunning flows: implement trial conversion rules, mid-cycle upgrades/downgrades, and staged failed-payment recovery with grace periods.
- Operational best practices: use event.created for timestamps, avoid storing card data, and keep price IDs configurable via env or DB.
Quick Start
Use the subscription-billing skill to implement idempotent Stripe webhook handlers, verify webhook signatures, and build a dunning flow that preserves access while recovering failed payments.