2025-08-09
Stripe Subscriptions That Don’t Hurt
StripeBilling
We use Stripe Checkout to start a subscription, then rely on webhooks to activate services. Items can be added later with or without proration depending on the plan.
Events we handle
checkout.session.completed→ store customer, link to accountcustomer.subscription.created/updated→ sync status,current_period_endinvoice.paid→ extend access if neededcustomer.subscription.deleted→ schedule shutdown/cleanup
Adding more servers
- If an item exists for a product, bump
quantity - Otherwise create a new
subscription_item(with metadata for mapping) - We typically bill on the next invoice, then provision immediately
Trials & grace
- Trials via Checkout; we track
trial_endand nudge with email - Grace states when payment fails; periodic reminders; eventual stop