Skip to main content
A subscription has six statuses. Every transition goes through a state machine: a transition not listed here is refused with 422 E_INVALID_SUBSCRIPTION_TRANSITION.

The statuses

unpaid is not a terminal failure state: it is the starting point of every subscription without a trial, until its first payment is confirmed. An unpaid subscription is settled through retry-payment.

The transitions

What does not exist: paused from trialing (end the trial or cancel), and any return from canceled. To win back a customer whose subscription is canceled, create a new one.

The fields that date a subscription’s life

currentPeriodEnd is the boundary of what has been invoiced, not of what has been paid. A past_due subscription has an already-advanced current period and an open invoice on it. To know how far the customer has actually paid, read their paid invoices (Invoices).

What triggers what

Details of each step: Billing cycle, Trials, Cancel.