WooCommerce Subscriptions v9.1.0 - WordPress Plugin
WooCommerce Subscriptions Plugin allows you to introduce a variety of subscriptions for physical or virtual products and services.
Related items
Related Woocommerce Plugins
WooCommerce Smart Coupons - WordPress Plugin
by StoreApps
Enhance your coupon options - create gift certificates, store credit, coupons based on purchases and more.
WooCommerce Table Rate Shipping - WordPress Plugin
by WooCommerce
Advanced, flexible shipping. Define multiple shipping rates based on location, price, weight, shipping class or item count.
WooCommerce Product Bundles
by SomewhereWarm
Create and offer highly configurable product bundles, kits and assemblies that consist of simple and variable items.
WooCommerce Subscriptions Plugin allows you to introduce a variety of subscriptions for physical or virtual products and services. It makes it easy to create and manage products with recurring payments. Capture More Residual Revenue with Recurring Payments WooCommerce Subscriptions Plugin gives you the possibility to create and manage products with recurring payments — payments that will give you residual revenue you can track and count on. Create product of the month clubs, weekly service subscriptions, or even yearly software billing packages. Add sign-up fees, offer free trials, or even set expiration periods. Why Use WooCommerce Subscriptions Plugin?
- Multiple billing schedules available to suit your needs
- Convenient automatic payments with over 25 payment gateways
- Supports manual renewal payments through any payment gateway, along with automatic email invoices and receipts
- Delight customers by offering subscribers special discounts on their payments or sign-up fee
- Give subscribers the ability to manage their own plan, including upgrading or downgrading, without needing to wait on you for help
- Offer free trials to increase trust and boost conversion rates
- Built-in renewal notifications let you — and your customers — know when subscription payments have been processed, so there are never any surprises
WooCommerce Subscriptions Plugin Features:
- Free Trials & Sign Up Fees
- Variable Subscriptions
- Subscription Management
- Subscriber Account Management
- Upgrades/Downgrades
- Synchronized Payments
- Flexible Product Options
- Multiple Subscriptions
- Renewal Emails
- Subscription Coupons
Recent releases
Release history
- Removed the onboarding notice and walkthrough shown after activating Subscriptions, which pointed merchants at the "Simple subscription" and "Variable subscription" product types — both off by default since 9.0.0.
- Invalid subscription switch payment links no longer attach an unrelated order to checkout.
- Order fields containing serialized text now retain their original value when copied to subscriptions on HPOS stores.
- On stores using legacy (posts) order storage, restoring a subscription's parent order from the trash now makes the subscription reappear on the customer's My Account > Subscriptions page.
- A subscription plan's sign-up fee shown on the product page (the "Sign-up fee:" line, plan option rows and pre-selected plan details) now passes through the 'woocommerce_subscriptions_product_sign_up_fee' filter, so currency and multi-currency plugins can convert it to match the cart, checkout and charged amount.
- Deactivating or updating WooCommerce no longer triggers a site-wide fatal error for up to an hour while Subscriptions' cached WooCommerce version check is still fresh.
- Coupons are now correctly applied when paying for a renewal via the Checkout block (previously the discount showed in the total, but was not deducted from the amount charged).
- Renewal carts now calculate the correct total when the subscription used a recurring percentage coupon. On tax-inclusive stores, sub-cent rounding could make the coupon's discount look manually applied and produce a wrong total.
- Setting a yearly "Align Renewal" date on a subscription plan no longer silently discards the alignment when only a month is chosen, or fails with an invalid-date error after the month is switched to one with fewer days.
- On stores using legacy (posts) order storage, restoring a trashed subscription now returns it to its recorded status (e.g. cancelled) instead of pending, matching the behavior on High-Performance Order Storage.
- Enabling web cron support for the first time now generates the web cron URL on the first save, instead of repeatedly asking to save changes without ever producing the URL.
- The "New web cron URL generated" confirmation after generating a web cron URL now shows only once, instead of re-appearing on every subsequent save of the Subscriptions settings screen.
- Storewide subscription plans now appear on the WooCommerce > Settings > Subscriptions screen when the admin language translates "WooCommerce" into non-Latin characters (e.g. Hebrew) — the screen previously showed an empty, unstyled table even though the plans were still saved.
- Upgrading a subscription that was purchased through a resubscribe now credits the amount already paid for the current period, instead of quoting the full prorated price of the new plan.
- On stores that prorate sign-up fees, switching a subscription purchased through a resubscribe now charges the new plan's sign-up fee in full, instead of wiping it with a credit for a sign-up fee that was never paid.
- A stale edit page no longer overwrites the billing schedule after a subscription changes status. Saving an affected Active subscription now clears its stale cancelled date, allowing the remaining schedule to be repaired from the edit screen.
- The My Account > View Subscription page no longer triggers a PHP deprecation notice for subscriptions purchased with PayPal Standard.
- Classic cart and checkout no longer overstate the "due today" item subtotal for a prorated subscription switch or a synced product billed on a later date.
- Checkout no longer saves the order an extra time when the cart contains no subscription switch — previously a redundant database write on every checkout.
- Improved the dedicated Action Scheduler queue debug log so routine skipped runs no longer read as failures.
- Clearer error message on the Subscriptions settings page when "Prorate until the next billing date" is saved without choosing a product type to prorate.
- Hardened permission and ownership checks across subscription bulk actions, the REST API, and several AJAX and My Account request handlers.
- Dev: Deprecated WC_Subscriptions_Cart::get_formatted_product_subtotal() and get_due_today_subtotal() - the "due today" item subtotal now renders on the 'woocommerce_cart_item_subtotal' filter, and Subscriptions no longer filters 'woocommerce_cart_product_subtotal', so code calling WC()->cart->get_product_subtotal() directly gets standard WooCommerce output.
View changelog
- A progress notice now appears while your existing All Products for Subscriptions product data migrates in the background, and a completion notice once it finishes.
- While the migration runs, products maintain their subscription plans, instead of temporarily showing as one-time only until their batch completes.
- WooCommerce no longer logs repeated "Invalid plugin file" errors on every admin page load after All Products for Subscriptions was built into Subscriptions.
- The product page's sign-up fee now carries the store's price display suffix (e.g. "incl. VAT") like the subscription price does, so a taxable sign-up fee no longer looks tax-free.
- Adding a product to the cart no longer causes a fatal error under PHP 8 when another plugin's 'woocommerce_add_cart_item_data' filter callback returns a non-array value.
- In the Cart block, a subscription item's upfront charge now reads "$10.00 due today" instead of "Due today $10.00", matching the Checkout block.
- The classic shortcode cart and checkout now match the block presentation — the free trial and sign-up fee show on their own labeled lines instead of appended to the price, items with a sign-up fee show the amount due today in the subtotal, and the in-cart subscription plan selector has been removed.
- Subscription product creation settings description.
- Dev: New `woocommerce_subscriptions_pre_product_subscription_scheme_mode` filter to short-circuit a product's resolved subscription scheme mode before it's read from meta.
View changelog
- All Products for Subscriptions is now built into WooCommerce Subscriptions — sell any product as a one-time purchase, a subscription, or both, with no separate plugin needed. Existing installations migrate automatically, so you can deactivate the standalone plugin. We've also enhanced it along the way:
- Subscription plans now support free trials, sign-up fees, and fixed-amount discounts.
- Choose which storewide subscription plans are assigned to a product.
- Disable one-time purchases on products that use storewide subscription plans.
- Subscription gifting now works with products sold via subscription plans.
- Bulk edit now supports updating purchase options, so you can apply storewide plans to specific products in bulk — replacing the deprecated "Limit to categories" option.
- Subscription frequency and expiration are clearer — expiration is now set as a number of payments ("Total payments") rather than a length of time.
- The Subscriptions by Product report now includes products sold via subscription plans.
- Dev: The `subscription_renewal`, `subscription_switch` and `subscription_resubscribe` query args are now supported when HPOS is enabled.
- billing-date-alignment settings (formerly Synchronization), with clearer first-billing options.
- Subscription products now show the free trial and sign-up fee on their own lines below the price, instead of appended to the price text.
- Schedule dates set to the same minute (e.g. trial end and next payment) are now treated as equal, instead of differing by a few seconds and silently reverting the save.
- The schedule editor's warning for a next-payment date set before the trial end now reads "Please enter a date after the trial end" instead of incorrectly referring to the start date.
- The My Account > Subscriptions page no longer intermittently 404s right after the plugin is activated.
- $0 subscription switches made within the renewal-sync grace period are now auto-completed instead of left pending.
- Related orders for active subscriptions are no longer swept by the privacy eraser when HPOS is enabled.
- When a customer's subscription becomes active or inactive, their user role now switches cleanly per your settings instead of leaving the old role in place.
- Paying for the renewal of a gifted subscription with multiple items no longer drops all but the first item.
- Guarded `wcs_get_subscription_period_strings()` and `wcs_get_subscription_trial_period_strings()` against PHP 8.1+ "Undefined array key" warnings when an integration uses the `woocommerce_subscription_periods` / `woocommerce_subscription_trial_periods` filter to remove a period.
- PHP warning on the Subscriptions by Customer report when a customer account has been deleted or anonymized.
- Prevent spurious cancellation emails when never-activated auto-draft subscriptions are deleted.
- Don't re-apply the product sign-up fee to renewal, resubscribe or switch order line items when those orders are updated via the Orders REST API, which previously inflated their stored totals.
- Prevent the "Limit to one active subscription" setting from being bypassed by paying for an old failed order, which previously let a customer who already had an active subscription end up with a second one.
- Email template theme overrides are no longer reported as "out of date" in WooCommerce > Status when the override matches the plugin's template.
- Free trials one period long now read "1 week" instead of "week".
Frequently asked questions
Is Woocommerce Subscriptions GPL licensed?
What is the latest version of Woocommerce Subscriptions?
How much does Woocommerce Subscriptions cost on GPLCoffee?
Which WordPress and PHP versions does Woocommerce Subscriptions support?
Is Woocommerce Subscriptions safe to download?
Auto-updates included
Install it once, update automatically.
The GPLC Connector installs this plugin from your wp-admin and rolls out new versions to your connected sites - up to 25. Included with 12-month and Geek Lifetime plans (plus legacy 6-month).