Subscriptions & payments

Cancel or revoke a subscription

Stop a client’s subscription from your side, decide whether they keep access to the end of the paid period, refund if needed, and know what the client sees.

4 min readLast updated Sep 28, 2026

After these steps the client's subscription no longer renews. You choose whether they keep access until the end of the period they already paid for, or lose it right away, optionally with a refund.

1

Open the client's access record

Go to Products (/products), open the product and switch to the Access tab. Find the client in the list. Open the row menu (⋮) and choose Cancel subscription. The same action is on the client's detail page under Actions. It is not available from Transactions. On the customer profile under Customers, the Access tab offers Revoke with refund…, which opens the same form.

2

Decide whether access ends now

The Archive the client form opens. Its first switch is Revoke access to product:

  • Off: "The client keeps access until the end of the paid period and the subscription will not renew automatically. No refund, no archiving."
  • On: the access record is archived now and the client loses access immediately.
3

Choose the refund

With access revoked now, pick under Refund: No refunds, Refund of the last payment: amount, or The funds were manually refunded. Keep Cancel your Stripe subscriptions ticked so the gateway stops charging. The form reminds you: "Remember that if you have issued an invoice for this order, you must manually correct it."

4

Confirm

Click Archive. With the switch off you see "Subscription renewal cancelled. The client keeps access until the end of the paid period." With it on, the client moves to Archived on the Access tab, is removed from any community bundled in their plan, and the row menu of the archived record offers Restore access.

Good to know

A client with a limited-cycle subscription that does not allow cancellation before the last payment cannot cancel from the client area, but you always can from this form.

Revoking access without a subscription

For free grants and one-time purchases the row menu shows Delete instead of Cancel subscription; it opens the same archive form. From a customer profile in Customers (/customers) you can also use Revoke access and tick the products: "This is reversible - you can grant access again at any time. Orders and history are kept." Products billed by a live subscription are listed as skipped ("active subscription") with the hint "These products are billed by a live subscription. Cancel the subscription from the product page first:". Revoking never stops billing; cancel first.

If a client is already archived but the gateway still charges them, their profile offers Cancel subscription in Stripe: "Access is already revoked, but the payment provider still bills this customer. This stops future charges; the current period is not refunded."

What the client sees

  • In the client area of your storefront, the product's Access details card shows Cancelled and the End date, with a Resume subscription button until the period ends.
  • The client can cancel on their own from the same card with Cancel subscription; access then runs to the end of the paid period and you receive "⚠️ Client canceled subscription [product]". During a free trial the cancellation ends the trial on its scheduled date without any charge.
  • The mobile app has no cancel button and no access-period card; subscription management is browser-only.

From an integration or the assistant

The Workspace API cancels with POST /products/{productId}/clients/cancel-subscription (body: the client's email) and revokes with POST /products/{productId}/clients/revoke-access; revoking a grant that is still billed by a live subscription answers 409, so cancel first. The AI Assistant can cancel a client's subscription for you after you approve the action.

Was this article helpful?

Related articles

Spotted something off? Tell us at support@zanfia.com.