AAdvanced Subscriptions
Features Pricing Docs Changelog Contact — Español
Sign in Buy the plugin →
Lifecycle · 5 min read

Subscription statuses

A subscription's status is the single most important piece of state: it determines whether renewals fire, whether the customer keeps access, and what actions are available. This page lists every status, what causes each transition and what behaviour changes when the status changes.

Last reviewed 2026-05-27 Plugin v2.0.0

The six statuses

StatusMeaningRenewals fire?Customer has access?
activeHealthy subscription, charges happen on schedule.YesYes
scheduledOrder taken, start date in the future. Held in wc-scheduled until then.Not yet — transitions to active on the start date.Depends on your setup (typically no until active).
on-holdLast renewal failed; retries in progress.Paused while retries run.Yes (grace period). Configurable.
pausedCustomer (or admin) paused. Will resume on a date or on-demand.NoConfigurable (you decide).
cancelledCustomer or admin cancelled. Terminal state.NoNo
expiredReached the configured length. Terminal state.NoNo

Common transitions

Who triggers each transition and how to listen to it:

From → ToTriggered byHook (action)
(new)activeSuccessful initial checkout, no start date.aswc_after_created_subscription
(new)scheduledSuccessful initial checkout with future start date.aswc_subscription_scheduled
scheduledactiveStart date reached. Action Scheduler.aswc_subscription_activated
activeon-holdRenewal payment failed.aswc_subscription_on_hold
on-holdactiveRetry succeeded, or customer paid manually.aswc_subscription_reactivated
on-holdcancelledAll retries failed. Configurable threshold.aswc_subscription_cancelled
activepausedCustomer pause from My Account, or admin.aswc_subscription_paused
pausedactiveCustomer resume, or scheduled resume date.aswc_subscription_reactivated
activecancelledCustomer or admin cancel.aswc_subscription_cancelled
activeexpiredReached the configured length (N renewals).aswc_subscription_expired

Grace period during on-hold

When a renewal fails, the subscription moves to on-hold. The plugin retries the charge up to 3 times with exponential backoff (see Retry attempts). During that window the customer typically keeps access — you can use this as a grace period to give them time to update their card.

If the customer's role is being toggled (e.g. subscriber while active, customer when not), the toggle happens on the transition away from active, so on-hold typically still grants access.

Where to see the status

  • Admin: WooCommerce → Subscriptions. Each subscription has a status badge.
  • Customer: My Account → /aswc-subscriptions/. Same badges, customer-friendly labels.
  • REST API: GET /wp-json/aswc-route/v1/aswc-view-subscription/ returns the status string.

Relevant hooks

Every transition fires a documented action. Filter or listen to whichever you need: