Help Center

Billing

Native Stripe billing for client sites - per-site subscriptions, the operator billing dashboard, and configurable non-payment enforcement.

Last updated

Seedly Sites includes native Stripe billing so each client site can carry its own subscription - your client paying you, through your Stripe account. It is fully opt-in: sites without billing configured behave exactly as before and are never restricted.


How It Fits Together#

PieceWhat it is
Your Stripe accountOwns the products, prices, customers, and payments
Per-site Billing pageWhere a subscription is started and managed for one site
Operator billing dashboardEvery site's billing state in one table
EnforcementWhat (if anything) happens to a site when payment lapses

Plans and prices live in Stripe - the platform references a Stripe price and displays its nickname as the plan label. To change what you charge, change the price in Stripe.


The Per-Site Billing Page#

Each site has a Billing page showing the subscription status, plan, and renewal date.

Starting a Subscription#

  1. Open the site's Billing page
  2. Click Subscribe
  3. Complete payment on Stripe's hosted checkout page
  4. You are returned to the Billing page; the status flips to Active once Stripe confirms

Managing a Subscription#

Once a subscription exists, Manage billing opens Stripe's hosted customer portal for that site: update the card, view invoices, cancel, or resubscribe. A canceled site's button becomes Resubscribe.

Who Can Use It#

Managing a site's billing requires administrator-level access on that site (or the operator) - see Users and Roles. Editors and below see the billing state but are told to contact their account manager. Payments are processed entirely by Stripe on Stripe-hosted pages; card details never touch your instance.


Billing Statuses#

The platform mirrors the Stripe subscription into one of six statuses:

StatusMeaning
No subscriptionBilling was never set up for this site - never restricted
TrialingIn a Stripe trial period - healthy
ActivePaid and current - healthy
Past dueA renewal payment failed - delinquent
UnpaidPayments kept failing - delinquent
CanceledThe subscription ended - delinquent

Status updates flow in automatically from Stripe (via the webhook you configure at setup). Only the three delinquent states can ever trigger enforcement.


Non-Payment Enforcement#

Each site has an Enforcement setting that decides what happens while its subscription is delinquent:

SettingEffect while delinquent
Instance defaultDefers to your instance-wide default (edit-lock unless you configure otherwise)
NoneNever restrict this site
Edit-lockClient editing, publishing, and deploys are frozen; the live site stays up
SuspendEverything edit-lock does, plus the live site is taken offline

Points that matter in practice:

  • Sites with no subscription are never enforced. Adding the billing feature to your instance cannot disturb existing client sites.
  • The operator always bypasses enforcement - you keep full editing and deploy access on a delinquent site so you can fix, restore, or wind it down.
  • Enforcement lifts automatically once the subscription is healthy again (the client pays through Manage billing).
  • Suspension is applied at the serving edge and is deliberately fail-safe: if the platform cannot be reached to confirm a suspension, the live site stays up.

The Operator Billing Dashboard#

Operator portal -> Billing aggregates every site: status, plan, renewal date, and the enforcement that currently applies. Delinquent sites sort to the top, so the dashboard doubles as your "who needs a nudge" list.


Setting It Up#

Billing activates when your instance has its Stripe configuration set (as part of provisioning):

  • A Stripe secret key
  • The Stripe price to subscribe sites to
  • A Stripe webhook pointed at your instance, so subscription changes sync automatically
  • Stripe's customer portal enabled in your Stripe dashboard (it powers Manage billing)
  • Optionally, an instance-wide default enforcement mode

Until those are set, Billing pages show "Billing isn't configured for this instance yet" and nothing is enforced.


Summary#

  • Per-site Stripe subscriptions through your own Stripe account, opt-in per site
  • Subscribe = Stripe Checkout; Manage billing = Stripe customer portal
  • Six statuses mirrored from Stripe; only past due, unpaid, and canceled are delinquent
  • Enforcement per site: none, edit-lock (default), or suspend - operator always bypasses
  • The operator billing dashboard shows the whole fleet, problems first

Frequently asked questions

Do I have to use the built-in billing?
No. Billing is opt-in per site. Sites with no subscription configured are never restricted, so you can invoice clients outside the platform and ignore this feature entirely.
Where do plans and prices live?
In your Stripe account. The platform references a Stripe price; the price's nickname is what shows as the plan label. Change pricing in Stripe, not in the platform.
What happens when a client stops paying?
Whatever you choose per site - nothing, freeze editing and deploys while the site stays up (the default), or take the live site offline. The operator always keeps full access to fix or restore things.
Does the platform take a cut of my client billing?
No. Payments go through your own Stripe account under standard Stripe fees. There is no platform fee on top.
Was this page helpful?