How they begin
A subscription is created when a customer buys a Subscription product (weekly, monthly or yearly, at the regular price; sale price is ignored). Staff cannot create one by hand, and customers have no page to see or cancel a store subscription.
Billing
- Stripe recurs by itself: each paid invoice moves the next billing date, and a failed payment sets Past due. Access is not cut and nobody is notified.
- ZarinPal and Saman do not recur. Each cycle is a new one-time checkout that creates a new subscription row, and the old row stays Active with a past billing date. Nothing marks it overdue, and nothing reminds the customer.
- One paid invoice is created per settled cycle and booked as deferred revenue in accounting.
The list
The newest 100, with a status filter (Active, Paused, Canceled, Past due, Pending) and tiles with counts and MRR, which sums only monthly rows on the loaded list. Trialing, suspended and expired rows show their raw status and cannot be filtered.
Cancelling
Cancel stops the subscription immediately: Stripe is cancelled at Stripe, the status becomes Canceled, and linked membership access is revoked at once. (The dialog says access ends at the end of the paid period; it does not.) If Stripe cannot be reached the local cancel still happens and an admin alert says it may still be billing, so check Stripe. The customer is not emailed.
A subscription also ends when Stripe deletes it, and a full refund of a cycle cancels it; a partial refund does nothing.
Things to know
Revoking a subscription's membership by hand is undone by the next payment. Pages need ecommerce.*.