When a membership ends
What happens in Ghost when a subscription is cancelled, runs out, or the payment fails, and how to check that it worked.
Most of these docs cover getting somebody in. This page covers the other half: what PayGlue does when a membership ends, and how to tell the three different endings apart.
The short version
The provider sends an event, PayGlue takes the access off the Ghost member, and the next page load is behind the paywall again. For an immediate cancellation the whole thing takes seconds. There is no nightly job and nothing to click.
The member is never deleted. Their email history, signup date and newsletter settings stay exactly as they were. Only the access comes off.
What changes on the member
Before | After | |
|---|---|---|
Status label |
|
|
Provider label |
| unchanged |
Comped flag | on, if Stripe is connected | off |
The member record | exists | still exists |
The status label flips rather than disappearing. A member with no status label at all could be somebody who cancelled, somebody whose purchase never granted anything, or somebody who was never a customer, and those need different responses. payglue-ended makes the first case readable instead of a guess.
The provider label stays, because who sold to this person is still true after they leave.
The note gains a line:
Direct via PayGlue | Provider: polar
Product: e910af3d-e1d7-450b-8596-2b17a309eab7
Order: 2026-08-14 | Event: 5e38bc88-0ff7-4b56-a379-78f058f853a6
Ended: 2026-08-14 | Event: c583ab77-e7d3-4b77-b33c-b63ba22c28b7If the same person buys again, the note is rewritten for the new purchase and the ending line goes with it.
Three endings, three behaviours
Cancelled, effective now
The subscription stops immediately. PayGlue removes the access within seconds and the event shows as processed.
Cancelled at the end of the paid period
The reader has paid until a date and keeps access until then. The cancellation event carries a flag saying so, and PayGlue deliberately does nothing yet. The event shows as skipped.
Note: Skipped is a real outcome, not a failure. Acting on this event would take away days the reader already paid for. When the period actually runs out the provider sends a second event, and that one revokes.
This is the most common "did it work?" moment. You cancel a test subscription, refresh Ghost, and the member is untouched. That is correct. To see a revocation happen while you are watching, choose the immediate cancellation at the provider instead.
The payment failed
Nothing happens. An overdue or declined renewal is not an ending: the provider is retrying the card and emailing the customer, and the customer has not decided anything yet.
If they never pay, the provider eventually gives up and cancels or expires the subscription. That event is an ending and removes the access.
Warning: Pause and suspend do remove access, deliberately. Those are the customer or the provider stopping the arrangement rather than a payment failing, and they are reversible: when the subscription resumes, the access comes back on its own.
Not every provider reports endings
This decides whether a provider suits you, so it belongs before the setup rather than after it.
Provider | What ends access |
|---|---|
Polar | cancellation and revocation |
Lemon Squeezy | cancelled, paused, expired |
Paddle | cancelled, paused |
PayPal | cancelled, suspended, expired |
Creem | cancelled, expired |
Dodo Payments | cancelled, expired |
Gumroad | cancelled, subscription ended |
Patreon | pledge deleted |
Ko-fi | nothing |
Warning: Ko-fi has no cancellation webhook. A supporter who stops supporting generates no event, so their access stays until you remove it by hand. Ko-fi fits one-off support well and recurring access poorly.
Refunds and chargebacks
Neither removes access. PayGlue does not act on refund or dispute events at all.
A refund is a payment decision and access is an editorial one, and they line up less often than it seems: a goodwill refund on an annual plan should not throw the reader out, a partial refund has no obvious answer, and a chargeback can be reversed weeks later.
If you refund a subscriber and you do want them gone, cancel the subscription at the provider in the same session. The cancellation is the part PayGlue acts on.
To remove access by hand, open the member in Ghost and remove the payglue-active label. If the member shows as comped, switch that off too. Do not delete the member: that loses their history for no benefit.
Checking that an ending worked
1. Look at the event log
Analytics > Webhook Events. The cancellation should be processed. If it says skipped, check whether it was a period-end cancellation. If it says failed, the problem is the delivery to Ghost rather than the cancellation.
2. Look at the member in Ghost
payglue-active gone, payglue-ended present, comped off if your site has Stripe connected.
3. Load a paid post as that member
The only check that tests the whole chain. The paywall should be back.
Note: An event marked processed is not proof that access changed. It means the event was handled, and handling can legitimately mean doing nothing. When it matters, check the member rather than the log.
See also: Member did not receive access and Zero-amount Stripe subscriptions.
Was this helpful?
Your feedback shapes what we write next.
