Key Concepts: "Cancel" vs. "Disable Auto-Renew"
Piano supports two broad outcomes when a user ends a subscription:
-
Immediate termination (often paired with refund behavior): Access ends right away.
-
Deferred end (end of billing period): The subscription will not renew, but the user keeps access until the end of the current paid billing period.
What the user sees in the UI depends on the term type:
-
Payment Terms commonly expose an auto-renew on/off toggle and may also expose cancellation/refund actions.
-
Dynamic Terms do not expose a traditional auto-renew toggle; instead, deferred ending is handled through a Cancel flow.
How It Works by Term Type
Payment Terms
Typical capabilities:
-
Deferred end: User turns off auto-renew (keeps access through end of current billing period).
-
Resume: User turns auto-renew back on (if not yet expired).
-
Immediate cancellation: User uses a cancellation action (depending on your configuration), which may revoke access immediately and may be tied to refund behavior.
If your business goal is "users can stop renewal but keep access until the term ends," ensure the UI is oriented around auto-renew disablement, not immediate cancellation.
Dynamic Terms
Dynamic subscriptions behave differently:
-
No auto-renew toggle: Dynamic subscriptions are effectively treated as auto-renew ON; users cannot simply "turn off auto-renew" in My Account.
-
Deferred end via Cancel: When a user cancels a dynamic subscription, it triggers a deferred cancellation: access continues until the next renewal (billing) date, then the subscription ends.
-
Immediate cancel: Immediate cancellation is generally an admin/dashboard action, not a standard My Account action.
For dynamic subscriptions, cancellation alignment is based on the billing cycle, not a separate "access period." There is currently no setting to defer cancellation specifically to the end of an access period if it differs from billing (for example, "1-year access billed monthly").
Required Configuration for Dynamic Subscription Cancellation
To allow end users to cancel dynamic subscriptions from My Account, you must enable the dynamic-cancel setting in business configuration.
Business Setting (Required)
In Dashboard → Edit Business settings, enable:
-
Allow customers to cancel their own dynamic subscriptions at the end of the billing period
If this is not enabled, users may not see a cancellation option for dynamic subscriptions in My Account.
Term-Level Setting
For dynamic terms, enable the term option that allows cancellation before the end of the access period:
-
Allow users to cancel their subscription before the end of the access period
In practice, for many implementations both the business-level dynamic-cancel setting and the term-level setting must be enabled for the cancellation UX to appear and function as expected.
What Users Can Do After They Cancel (Dynamic Terms)
-
Users typically retain access until the end of the current billing period.
-
A subscription marked for deferred cancellation may not be eligible for certain changes (for example, upgrades) until the cancellation state is cleared, because the system expects the subscription to end.
If you need a model where users cannot cancel until a minimum commitment is satisfied (e.g., billed monthly but committed for a year), be aware that dynamic term cancellation defers to billing, and you may need to enforce policy via your allowed actions/UI and internal processes rather than expecting a "commitment-aware" deferral mechanism.
Controlling What Users See: Recommended Approaches
Option A: Prefer "End at Period End" Behavior (Payment Terms)
If you want users to keep access through the paid period and avoid immediate termination/refunds:
-
Go to Dashboard → Edit Business.
-
Disable:
-
Allow customers cancel and/or refund their own payment subscriptions
-
This removes immediate cancel/refund actions from My Account and leaves users with the auto-renew control (Payment Terms only).
You may also choose to rename the auto-renew UI label in your My Account template (for example, label it as "Cancel" to match business language) without changing backend behavior.
Option B: Use Dynamic Terms (No Auto-Renew Toggle)
If you are using dynamic subscriptions, users will typically use Cancel (deferred to billing period end). Ensure the dynamic cancellation settings and templates are updated as described here and in this section.
My Account / Template Troubleshooting (Dynamic Terms)
Dynamic subscription cancellation depends on updated My Account Library Components and related templates.
"Cancel Subscription" Is Missing
-
Confirm business setting
Allow customers to cancel their own dynamic subscriptions at the end of the billing periodis enabled. -
Confirm your My Account Library Components template includes the dynamic subscription cancellation section (and that it is not commented out).
"Cancel Subscription" Appears but Does Nothing
-
Your My Account template may be missing required dynamic-terms cancellation/resume script logic.
-
Update your My Account Library Components to the current default version.
Checkout/Confirmation Screens Show Incorrect Pricing (Dynamic Terms)
Dynamic terms often require that templates display recurring pricing correctly (not only the initial purchase price).
-
Remove hardcoded term values from templates.
-
Ensure the checkout and confirmation templates display the actual configured dynamic term (including recurring behavior).
Validate template changes in Sandbox before applying in production.
Reporting: How to Identify Cancellations vs. Auto-Renew Changes
For operational reporting, use:
-
Reports → Logs → Subscription
Common indicators include:
-
Subscription status (e.g., canceled)
-
Fields related to auto-renew disablement date (primarily relevant for Payment Terms where an auto-renew toggle exists)
Use filters by date range and export as needed.