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_end
invoice.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_end
and nudge with email - Grace states when payment fails; periodic reminders; eventual stop