GlitchNode Blog

Devlogs, performance notes, and behind-the-scenes of running game servers.

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 account
  • customer.subscription.created/updated → sync status, current_period_end
  • invoice.paid → extend access if needed
  • customer.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