Skip to content
Just updated87 new versions in the last 24 hoursDownloads left today: of of leftNo downloads left today · Resets in h
WooCommerce Subscriptions plugin cover image

PluginUpdated

WooCommerce Subscriptions

by WooCommercev9.3.0Unlimited sites

WooCommerce Subscriptions is a WooCommerce plugin by WooCommerce for setting up recurring payment plans in an online store.

Product facts

Version
9.3.0
Released
7 October 2026
Type
Plugin
Licence
GPL
Included in
Every plan, or $9.99 / year on its own

Overview

The plugin lets store owners offer products and services through subscriptions billed weekly, monthly, or annually. Flexible billing schedules, free trials, and sign-up fees help shape plans around what a business sells. Store owners can also set synchronized renewal dates for subscriptions that need to follow a shared schedule, such as membership periods or product shipments.

WooCommerce Subscriptions supports automatic renewals through compatible payment gateways, as well as manual renewals with email invoices and receipts. Customers can manage subscriptions from their accounts, including upgrading, downgrading, suspending, or canceling. Store owners manage subscriptions in the WooCommerce dashboard, where they can adjust recurring totals, taxes, fees, and trial periods.

Features

  • Flexible billing schedules: Set subscription billing to weekly, monthly, or annual intervals, with schedules suited to the products or services being sold.
  • Automatic recurring payments: Use supported payment gateways to process subscription renewals automatically, or allow customers to renew manually through a WooCommerce-compatible gateway.
  • Customer account management: Subscribers can upgrade, downgrade, suspend, or cancel their subscriptions from their accounts, without needing store owners to make each change.
  • Free trials and sign-up fees: Set an initial free trial or charge a sign-up fee when customers begin a subscription.
  • Synchronized renewals: Align subscription renewal dates to specific days or terms, a useful option for membership schedules and planned product shipments.
  • Failed payment recovery: Automatically retry failed subscription payments to help recover renewals without requiring store owners to rebill customers manually.

Best for

  • WooCommerce stores selling memberships
  • Businesses offering recurring services
  • Stores with subscription-based products

Changelog

Version 9.3.0 — 6 October 2026

  • Fixed Gifting security improvements: A recipient paying a renewal or renewing early through the checkout no longer replaces the purchaser's billing name, email and address on the subscription. The shipping address still updates to what the recipient enters.
  • Fixed Gifting security improvements: On the classic checkout, a recipient now sees their own billing details instead of the purchaser's. Previously, submitting the form unchanged saved the purchaser's contact onto the recipient's own account.
  • Fixed Gifting security improvements: Saving My Account > Account details with the renewals billing contact box ticked no longer writes the recipient's name and email onto subscriptions gifted to them, which sent the purchaser's renewal invoices to the recipient.
  • Fixed Gifting security improvements: A recipient can no longer open or submit the billing address form for a gifted subscription. They can still change its shipping address.
  • Fixed Gifting security improvements: When a downloadable product is removed from a gifted subscription, or the subscription is switched away from it, the recipient's download links now stop working. Previously they kept working.
  • Fixed Early renewal security and double-charge protections: Two early renewal requests arriving together for the same subscription, such as a double-click on Pay now or a browser prefetching the link, no longer charge the payment method on file twice for one billing period.
  • Fixed Early renewal security and double-charge protections: A Pay now link stops working once its renewal order has been paid or is awaiting payment confirmation, so following it again does not charge again. Links issued before this release also stop working. Opening the subscription from My Account > Subscriptions issues a fresh one.
  • Fixed Early renewal security and double-charge protections: An early renewal link that was not issued in the customer's own logged-in session, including the one in a renewal reminder email, now takes them to their subscription to choose whether to renew, instead of emptying their cart and sending them straight to checkout.
  • Fixed Paying pending or failed renewal orders through checkout now preserves product subtotals before tax and keeps the order's coupon discounts in sync with checkout.
  • Fixed Category-restricted coupons no longer discount products outside their selected categories when customers pay a pending subscription order.
  • Fixed Customers who log in at checkout while paying a renewal are no longer charged twice for the product when their cart also held the same subscription product added separately.
  • Fixed The 'woocommerce_subscriptions_disable_manual_renewal_stock_validation' filter once again lets customers pay a manual renewal for an out of stock product.
  • Fixed A subscription switch the store no longer allows is now refused when the order is placed, on the block checkout as well as the classic one.
  • Fixed Adding a cart to an existing subscription no longer fails with "Your cart cannot be added to subscription" when the cart item is on a plan created in the Subscriptions plans screens since 9.0.0.
  • Fixed Percentage-based add-ons are now charged on top of subscription plans that set their own price, instead of being dropped from the cart total.
  • Fixed Subscription plan prices on Product Bundles and Composite Products no longer show placeholder values on stores where the bundle or composite script loads before ours.
  • Fixed Removing a line item by link now follows the same rules as the remove control in My Account > Subscriptions. The last remaining item, items on a subscription that is not active, on hold or pending, and items an extension marks as unremovable, such as a bundle's child items, can no longer be removed this way.
  • Fixed Undoing an item removal from My Account no longer fails with a critical error on some stores with a persistent object cache, which left the subscription total and later renewals at the reduced amount.
  • Fixed Stale download permissions for removed subscription products are now cleared when permissions are regenerated.
  • Fixed A subscription switch that keeps the same product, such as a quantity change, no longer removes the customer's access to its downloadable files.
  • Fixed Saving a product's Subscription Downloads links now only changes links to products you have permission to edit. Changes to any other product are refused and its existing links are kept.
  • Fixed Saving a subscription product whose linked downloadable product has since been deleted no longer fails with a fatal error, and clears the stale link.
  • Fixed Subscription status notes created by the Cancel bulk action now identify the administrator who performed it instead of appearing as system notes.
  • Fixed Sorting the Subscriptions list by Last Order Date no longer takes tens of seconds on stores with thousands of subscriptions.
  • Fixed Setting a subscription or renewal order line item's quantity to zero in the admin no longer fails with a fatal error on stores that enter prices inclusive of tax.
  • Fixed Saving an order or subscription in the admin can no longer change the recorded base location tax on another order's line items.
  • Fixed Linking a subscription to a parent order that does not exist, or that you cannot edit, now shows an error instead of a fatal error or a silent link.
  • Fixed The PayPal out-of-date subscription ID notice and IPN failure notice can now only be dismissed by an administrator from the notice itself. Previously any logged-in user could hide either one with a crafted link.
  • Fixed A subscription's next payment date is no longer pushed forward by an extra billing period when it is recalculated before any order is dated on or after the subscription's start date.
  • Fixed Dedicated processing now tracks its turn counter in the database only, so a stale object cache can no longer stop scheduled actions from running. If the counter cannot be saved, dedicated processing turns itself off instead of stalling.
  • Fixed Payment retry lookups, Subscriptions health check runs, and WooCommerce Tracker telemetry now work on hosts whose database layer does not support the '%i' identifier placeholder in prepared queries, such as on WordPress.com.
  • Fixed When wcs_get_early_renewal_url() is called in the logged-in request of the subscriber or the gift recipient, the URL now carries a nonce in the 'woocommerce_subscriptions_early_renewal_nonce' query arg, and WCS_Cart_Early_Renewal::maybe_setup_cart() requires it before it sets up the cart. Build a URL of your own with WCS_Cart_Early_Renewal::NONCE_QUERY_ARG and WCS_Cart_Early_Renewal::get_nonce_action( $subscription_id ).
  • Fixed Percentage-based Product Add-Ons on 'Override price' plans are worked out from the plan's own price before the `wcsatt_subscription_scheme_prices` filter runs, so a callback that scales prices is applied once to plan price plus add-on. A callback that adds a fixed amount is not reflected in the add-on percentage.
  • Fixed Added WC_Subscription::maybe_cancel() with manual note attribution and deprecated WC_Subscription::cancel_order(), which now emits a deprecation notice before forwarding to it. Subscriptions' own cancellation paths now call maybe_cancel(), so an override of cancel_order() in a subclass no longer runs for them.
  • Fixed Added WCS_Download_Handler::revoke_subscription_download_permissions( $product_id, $subscription ), which revokes a product's download permissions on a subscription for every user who holds them. Subscriptions' own revocation paths now use it; revoke_downloadable_file_permission() is unchanged.
  • Fixed Deprecated WC_Subscription_Downloads_Products::save_simple_product_data(), which was unhooked in 8.3.0 alongside its two siblings. Use WC_Subscription_Downloads_Products::handle_product_save().

Earlier versions

  • 9.2.0 (8 September 2026): 4 new, 20 improved, 23 fixed
  • 9.1.0 (5 August 2026): 5 improved, 18 fixed
  • 9.0.1 (10 July 2026): 1 new, 4 improved, 4 fixed

FAQ

Is WooCommerce Subscriptions free?

The code of WooCommerce Subscriptions is licensed under the GPL, so anyone may use, change and share it. GPL 247 is a paid service: a plan or a purchase of WooCommerce Subscriptions gives you the download and its updates. The developer's own support, licence key and online services are not included.

Which version of WooCommerce Subscriptions is this?

Version 9.3.0, released 7 October 2026. New versions appear here when the developer publishes them.

How do I update WooCommerce Subscriptions?

Install GPL 247 Updater on your site and paste your key from My Account. It installs new versions of WooCommerce Subscriptions for you.