How Do Customers Cancel a WooCommerce Subscription?

Customer account subscription list with one subscription row showing a cancel action and an end-of-period access indicator

Why This Happens

WooCommerce Subscriptions treats cancellation as stopping future renewals, not as an instant refund-and-remove action — this matches how most subscription billing works elsewhere (a customer who already paid for the current month typically keeps access until it ends). The subscription's status moves to "Pending Cancellation" until the current period runs out, then to "Cancelled" once no further payment is due.

Understanding that distinction up front avoids a common support question: a customer cancelling and then asking why they still have access, when that's the intended, correct behavior rather than a bug.

Common Causes

  • Customer expects immediate access removal. Not a bug — the default behavior intentionally honors the period already paid for.
  • "Cancel" button missing from My Account. Usually a theme or page-builder override of the My Account template that dropped the subscriptions endpoint content, or the endpoint itself disabled in WooCommerce settings.
  • Cancellation not available for certain subscription statuses. A subscription already "On hold" or in a failed-payment retry cycle may present different available actions than an active one.
  • Custom checkout or account page conflicting with the subscriptions endpoint. A rebuilt My Account page (common with some page builders) that doesn't include the WooCommerce Subscriptions endpoint will simply never show the option.

How to Fix It

  1. Confirm the My Account subscriptions endpoint is active. WooCommerce → Settings → Advanced → Account endpoints — the "View subscriptions" endpoint needs a slug set and the page itself needs to be using the default WooCommerce My Account template (or a properly extended one).
  2. Check for a My Account page override. If a page builder rebuilt the account page from scratch, the subscriptions tab may need to be re-added through whatever integration that builder provides, or the page reverted to use the shortcode/block that renders WooCommerce's own account content.
  3. For an immediate cancellation with a refund (rather than the default end-of-period behavior), that's a manual admin action: process a refund on the current period's order, then cancel the subscription directly from the WooCommerce → Subscriptions admin screen.
  4. To change the default behavior sitewide (e.g. cancel immediately and revoke access rather than waiting for period end), this needs custom logic hooked into the subscription status change — not a built-in setting.

If your store needs a genuinely different cancellation policy than the default — prorated refunds, immediate access removal, or a retention offer before cancellation completes — that's custom development rather than a settings change. See custom WooCommerce development.

Available for new projects

NEXT STEP

Rather have it fixed than keep reading?

Based in Bangladesh — serving clients worldwide. Tell me what's happening and you'll have a reply within one working day.

  • Reply within one working day
  • Fixed quote before work starts
  • UK, EU and US hours covered