AAdvanced Subscriptions
Features Pricing Docs Changelog Contact — Español
Sign in Buy the plugin →
Feature

Built to be extended. Documented to be trusted.

236 actions and filters cover every lifecycle event. Two REST endpoints let external systems read and update subscriptions. Three My Account endpoints surface customer actions to your theme. A single meta-key registry keeps your custom integrations from breaking on plugin updates. Build on top of the plugin instead of forking it.

Four extension surfaces

Hooks, REST, endpoints, meta keys.

Most subscription plugins expose hooks as an afterthought. This one was designed with the assumption that you'll need to plug it into a CRM, a fulfillment platform, a custom theme or a headless storefront — so every layer has a documented integration surface.

236 actions and filters

Every lifecycle event — checkout, activation, status change, renewal, retry, cancel, switch, payment-method update — fires a documented hook. Every UI string and computed value goes through a filter. 100% documented in the Hooks Reference.

Prefix · aswc_*

2 REST endpoints

Read a customer's subscriptions or inspect the scheduled actions for one of them from outside WordPress. Gated by a separate "Enable API features" toggle and authenticated with a secret key — off by default.

Namespace · aswc-route/v1/

3 My Account endpoints

WooCommerce rewrite endpoints that show up in the customer's account menu. Override the templates from your theme to fully customise the customer experience without touching plugin files.

Path · /my-account/aswc-*

A meta-key registry

One module (/includes/meta/) is the single source of truth for the meta keys the plugin reads and writes on products, orders and subscriptions. Use it as a stable contract — no string-matching against private internals.

Examples · _aswc_product · aswc_subscription_*

Hooks Reference

236 hooks, fully documented, filterable in-page.

A single searchable page with anchor links, file references, parameter tables, return values for every filter and a PHP example for the common ones. Filter by Action, Filter or bridge-only with the chips at the top.

  • Type-by-type filter — actions and filters live together, but you can isolate one or the other.
  • Per-hook anchor — every hook has its own #hook-name URL you can link to from your codebase.
  • Bridge-only badge — 20 hooks only fire when WC Subscriptions is active alongside (for migrations). They're clearly labelled "Compat bridge (WCS)" so you don't ship code against a hook that never fires in your environment.
  • Regenerated on every release — the reference is built from the plugin source, not handwritten, so it stays accurate.
advancedsubscriptionswc.com / docs / developers / hooks-reference

Hooks Reference

236 hooks
All Actions Filters Compat bridge
Actionaswc_after_created_subscription
Fires when a new subscription has been created from a checkout.
Filteraswc_subscription_next_payment_date
Override the calculated next-payment timestamp for a subscription.
Bridgeaswc_subscription_status_updated
Bridge-only — only fires when WC Subscriptions is active alongside.
REST API

Read subscriptions from outside WordPress.

Two endpoints, namespaced under aswc-route/v1/. Off by default — turn them on in Advanced Subscriptions → Settings → API, generate a secret key, and authenticate every request with it. Useful for a headless front-end, a billing dashboard, or a sync to a CRM.

  • GET /aswc-route/v1/aswc-view-subscription/ — fetch a customer's subscriptions with status, next-payment date and amount.
  • GET /aswc-route/v1/aswc-scheduled-actions/{id} — list the Action Scheduler jobs for one subscription, useful when debugging "why didn't the renewal fire?".
terminal — curl
# list subscriptions of customer 42
curl -H "X-ASWC-Key: $ASWC_API_KEY" \
  https://store.example.com/wp-json/aswc-route/v1/aswc-view-subscription/?customer=42
# inspect scheduled actions for subscription 1820
curl -H "X-ASWC-Key: $ASWC_API_KEY" \
  https://store.example.com/wp-json/aswc-route/v1/aswc-scheduled-actions/1820
My Account endpoints

Override templates from your theme.

Three WooCommerce rewrite endpoints, registered under /my-account/. Their templates live in the plugin's /public/partials/, and like any WooCommerce template they can be overridden by copying them to your-theme/woocommerce/advanced-subscriptions/ — no plugin file is ever edited.

  • /my-account/aswc-subscriptions/ — list of subscriptions.
  • /my-account/show-subscription/<id>/ — detail of one subscription, with action buttons.
  • /my-account/aswc-add-payment-method/ — payment-method change / gateway switch flow.
Meta-key registry

Read the data, don't reverse-engineer it.

The /includes/meta/ module is the single source of truth for the meta keys the plugin stores on products, orders and subscriptions. Reading or writing these keys from your own code is a stable contract — they will not be renamed without a deprecation cycle in the changelog.

  • _aswc_product — flag set on a product when it's a subscription.
  • aswc_subscription_status · aswc_subscription_next_payment · aswc_subscription_anchor_day — per-subscription metadata.
  • And ~30 more keys, all documented inline in the module.
Coexistence with WooCommerce Subscriptions

A compat bridge for migrations, transparently labelled.

If WooCommerce Subscriptions is installed and active alongside, the plugin loads an internal bridge class that listens to wcs_* events and re-emits them as aswc_* hooks. That covers in-progress migrations — your existing WCS integration keeps working while you swap the engine underneath.

20 of the 236 hooks only fire from this bridge. They're badged "Compat bridge (WCS)" in the Hooks Reference and carry a callout reminding you: in a standalone install of Advanced Subscriptions, those hooks never fire. For a standalone-only integration, use the native equivalents (for example aswc_after_created_subscription instead of aswc_checkout_create_subscription).

Stable API. Real docs. No surprises on update.

Browse the Hooks Reference