Manage billing
Your subscription is managed entirely on Stripe's own hosted Checkout and Billing Portal pages — there's no billing form inside your Dashboard. Two surfaces is why: billing is a control-plane fact about your tenant, not something your own Stack has any part in.
Both actions below need your control-plane session — the same sessionToken your GitHub sign-in returned (see the Quickstart), usable as Authorization: Bearer <sessionToken>, or your browser's session cookie if you're already signed in there.
Start a subscription
Before your first Checkout, you need a tenant slug locked in — the permanent <slug>.zozostacks.dev name your Stack will be addressed at:
POST /v1/tenant/slug
{"slug": "your-chosen-slug"}Then start Checkout:
POST /v1/billing/checkoutThe response is {"url": "https://checkout.stripe.com/..."} — open it in your browser to complete a card-required trial signup on Stripe's own page. Once Stripe confirms the subscription, your tenant moves to the active state on the control plane's own next check.
Update your card or cancel
POST /v1/billing/portalThe response is {"url": "https://billing.stripe.com/..."} — Stripe's Billing Portal, where you can update your payment method or cancel your subscription. Canceling here is what starts closing your account — nothing about canceling tears anything down immediately.
Related
- Two surfaces — why billing lives on the control plane, never on your Stack.
- Close your account — what happens after you cancel here.
- Quickstart — where your
sessionTokencomes from.