Subscriptions

Who is on which plan, what they have paid, and what happens when a renewal fails.

Admin → Subscriptions

Who is on which plan, their term and what they pay.

The subscriptions list
The subscriptions list. Click to enlarge.

What this screen shows

One row per billing term — not one row per restaurant. A restaurant that has been with you for six months has six rows, each with its own dates, amount and invoice number. That is deliberate: an invoice you have already issued must keep describing the period it was issued for.

The four states

StatusMeaning
PendingCheckout started but payment is not confirmed. It becomes active on its own when the payment lands.
ActivePaid and running. The restaurant has everything the plan grants.
ExpiredThe term ended and was not renewed. The account keeps working; the paid tier's extras stop.
CancelledAutomatic renewal was stopped. The term still runs to its end date — cancelling is not a refund.
An expired subscription does not lock anybody out. The restaurant keeps their dashboard, their menu and their orders. What stops is the part of a paid tier they are no longer paying for. Nothing is deleted, and paying again restores it.

How renewals happen

You do not renew anybody. The gateway charges the agreement on its own schedule and tells your site, which writes the new term and issues its invoice.

That message is the webhook, and it is the whole mechanism:

  • Stripe reports each charge as invoice.paid.
  • PayPal reports it as PAYMENT.SALE.COMPLETED.
No webhook means no renewals. The money is still taken by the gateway — the restaurant is charged — but nothing here records it, so their term is never extended and no invoice is issued. If you sell subscriptions, the webhook is not optional. See Payments & gateways.

When a renewal is declined

A failed charge does not end the subscription immediately. The gateway keeps retrying on its own schedule, and the term is held open while it does — up to fourteen days.

The gateway decides how often to retry and when to give up; the fourteen days is only a ceiling, so a nonsense retry date cannot keep a dead subscription alive indefinitely. If the card is never approved, the term expires on that deadline.

Cancelling

A restaurant cancels from their own billing screen, which stops automatic renewal at the gateway. The paid term runs to its end date. You can also record an offline payment against a restaurant here — for a bank transfer or a deal agreed outside the platform.

Suspending a restaurant, rejecting a paid applicant, or suspending the owner's account does the same cancellation for you: the live agreement is stopped at the gateway and the owner is told, so a restaurant you have switched off is never billed for a plan it cannot use.

When it doesn't work

A restaurant paid but is still Pending

The confirmation has not arrived. Check the webhook badge on Settings → Payment; if it is grey or red, the payment cannot be recorded. The Reconcile payments scheduled task also re-checks the gateway and settles these — see Scheduled tasks.

A renewal was taken but no new term appeared

Same cause: the webhook did not arrive or was rejected. The gateway will show the charge; your site will not. Fix the webhook, and the gateway can redeliver the event.

The figures do not match my gateway dashboard

Amounts here include your platform tax; the gateway shows what it charged the card, which is the same figure. If they differ, check you are looking at the same account and the same mode — test and live are separate ledgers.