Setting Up WooCommerce Subscriptions
WooCommerce Subscriptions is paid plugin from WooThemes/Automattic adding recurring payments mechanism on top of standard WooCommerce. Without it implementing subscription model on WordPress is impossible without deep custom development.
What Plugin Does
Plugin introduces "Subscription" product type with two variants: simple subscription and variable. For each product set:
- Billing period — every N days/weeks/months/years
- Billing interval — how often to charge within period
- Free trial — free trial period before first charge
- Sign-up fee — one-time payment at activation above regular
Technically plugin creates wcs_* tables and extends wp_posts / wp_postmeta for subscription data, schedule and payment tokens.
Supported Payment Gateways
WooCommerce Subscriptions requires gateway with automatic recurring payments support. Not all gateways can — must explicitly declare support via hook supports:
Compatible out of box: Stripe (via WooCommerce Payments or Stripe Gateway), PayPal Reference Transactions, Authorize.Net, Braintree. For CloudPayments, YooKassa, Tinkoff — check their plugins for add_support('subscriptions').
If gateway doesn't support automatic recurring — subscription goes manual renewal mode, customer receives invoice-letter, pays manually. Works but lower conversion.
Installation and Basic Config
- Load plugin from WooThemes, install via Plugins → Add → Upload Plugin.
- Activate license key in WooCommerce → Subscriptions → License.
- In WooCommerce → Settings → Subscriptions set:
-
Mixed checkout— allow simultaneous purchase of subscription and regular product -
Maximum failed payments— charge failures until cancellation (usually 3) -
Renewal payment email— who sends renewal letters
-
Creating Subscription Product
Products → Add Product
→ Type: Simple subscription
→ Subscription price: 990 RUB / month
→ Free trial: 7 days
→ Sign-up fee: 0
→ Expire after: Never
Variable subscriptions (different tariffs — Basic/Pro/Enterprise) created as Variable subscription with attributes.
Typical Issues
Most common — payment gateway doesn't support tokenization. Symptom: Stripe/PayPal work, local gateway doesn't. Solution: check plugin version meets WCS requirement and calls $this->supports[] = 'subscriptions'.
Second — cron tasks not executing. WCS depends on WP-Cron for renewal. On hosts with disabled built-in cron setup system cron.
Timelines: Basic setup with one tariff and Stripe — 1–2 business days. Multiple tariffs, upgrades/downgrades, Memberships integration, local gateways — 3–5 days.







