This guide provides an overview of the features available to a store manager with the WooCommerce Subscriptions extension.
- Answers not found here may be located at Subscriptions FAQ
- WooCommerce developers looking for technical documentation can refer to the Subscriptions Developer Documentation
Subscriptions lets you create simple subscription products or variable subscriptions products, much like WooCommerce does for normal products. Much of the product creation is familiar if you’ve used WooCommerce before.
To create a subscription product:
- Go to: WooCommerce > Products > Add Product.
- Select Simple Subscription or Variable Subscription as the product type. Explained Variable Subscriptions section below.
- Set the terms for the subscription, including price, billing interval, billing period, length, sign-up fee and trial period (length, sign-up fee and trial period are all optional).
- Add product details you require, as instructed by Managing Products.
Subscriptions gives you a lot of flexibility in scheduling renewals for your subscription products.
Out of the box, you can charge renewal payments using a billing period of daily, weekly, monthly or annually, and at any interval between 1 and 6 (inclusive).
Want to charge a fortnightly payment? Set the price to every 2nd week.
Want to bill quarterly? Set the price to every 3rd month.
The Expire after field allows you to end a subscription after a predetermined amount of time. Subscriptions for subscription products with a value in this field have a maximum length, after which they expire and are no longer active.
Subscriptions for subscription products with
Never expire set in the Expire after field can renew indefinitely as long as renewal payments are successful.
For example, consider a one year magazine subscription, billed monthly, with a fee of $5/month. The length of the subscription would be 12 months and the billing period would be one month. In the subscription product details, this would be:
$5 every month
You can add a free trial period to the beginning of a subscription.
This period is added to any length you set for the subscription. For example, if you create a subscription of $5 per month for 6 months with a 1-month free trial period, the subscription will expire after 7 months.
When a subscription has a sign-up fee and no free trial period, the initial payment is the total of the sign-up fee and price per period. For example, a $5/month subscription with $10 sign-up fee will charge $15 for the first month. On the other hand, if a subscription has a sign-up fee and a free trial, only the sign-up fee is charged at the beginning of the subscription period. If there is no sign-up fee, nothing is charged at the beginning of the subscription period.
A sign-up fee is an amount that can be added to the beginning of a subscription.
This sign-up fee is in addition to any recurring amount that you have set for the subscription product. For example, if you create a subscription product for $75 per month with a $200 sign-up fee, the subscription’s initial total during checkout will be $275.
When a subscription has a sign-up fee and a free trial, only the sign-up fee is charged at the beginning of the subscription period. If there is no free trial period set on the subscription product with a sign-up fee, the price charged at the beginning of the subscription is the sum of the sign-up fee and the recurring first month’s total.
The Variable Subscription product type is similar to Variable Product. To learn more, read Variable Product to understand the difference between a Variable Product or Subscription and a Simple Product or Subscription.
In addition to allowing different product attributes, each variation in a Variable Subscription can have a unique:
- Sign-up fee
- Trial period
- Recurring price
- Billing period
- Subscription length
Use the Limit Subscription feature to limit a customer to one subscription:
- Go to: WooCommerce > Products > Edit Product for the subscription product you select.
- Select Advanced in the left menu.
- Go to Limit Subscription, and select how to limit the subscription from the dropdown.
When a subscription is limited to any status, a customer can only sign up for the subscription once. If the customer cancels the subscription, they need to resubscribe to the existing subscription by clicking the Resubscribe button next to the subscription on the My Account page.
The customer cannot purchase that subscription product again unless the existing subscription is trashed or permanently deleted by a store manager. This feature ensures that each customer account only receives one free trial period to a product.
If you allow switching between subscriptions, a customer can Upgrade or Downgrade a limited subscription. Customers are able to change their subscription while still limiting each customer account to one free trial period.
Shipping for subscription products is normally charged on the initial order and all renewal orders. However, some products need to ship only once at the start of the subscription, such as mobile phones with a data plan.
Subscriptions v2.0 introduced a new One Time Shipping option for subscription products. Use this to only charge shipping once on initial order.
To enable one-time shipping for a product:
- Go to: WooCommerce > Products > Edit Product for the select subscription product.
- Select Shipping in the left menu.
- Tick the One time shipping checkbox.
- Update to save.
When creating a subscription product you will need to enter the price that your customers will pay for each billing period. Customers will pay this amount when they first sign up in addition to any sign-up fee unless there is a free trial period, they then pay this amount on a recurring basis at beginning of each billing period.
When using Subscriptions with WooCommerce Payments, there is a limit on the minimum amount you can enter into the subscription price field. These limits exist to avoid customers being blocked on checkout attempting to purchase a subscription below the minimum we can process through WooCommerce Payments.
If a warning appears, please enter a price above the stated minimum unless you intend your customers to purchase in a quantity or with subscription products in order to exceed the minimum on checkout.
This section covers how coupons are applied to a subscription. To learn how to create a coupon, see Coupon Management.
When applied to a subscription product, the WooCommerce Cart and Product coupons reduce both the sign-up fee and recurring amount of the subscription, but only for the first payment. For example, a $25/month subscription product with a $50 sign-up fee would normally cost $75 up front, then $25 per month. If a $10 product coupon was applied to the purchase of the subscription product, the subscriber pays only $65 up front, then $25 per month.
If you want to discount only the sign-up fee, or discount all recurring payments, you can use a subscription-specific coupon. Subscriptions provide two new coupon types that can be used to discount each of these prices individually.
The Recurring Product Discount coupon discounts the ongoing payment amount for a subscription product by a fixed value. For example, if you create a $10 recurring coupon, each and all recurring amounts will be discounted by $10. If the subscription product’s price is less than $10, then that subscription will be free for life.
Furthermore, if there is no free trial on the subscription product and it is not synchronized to process the first payment on a date in the future, Recurring Product Discount coupons will also discount the recurring component of the amount being charged for the initial order.
For example, if a subscription product has a $50 sign-up fee and is $25 per month, a Recurring Product Discount coupon for $10 means the customer pays the $50 sign-up fee in full, and $15 up-front for the recurring amount of the subscription, for a total of $65 up-front. The subscriber will then only pay $15 per month for the rest of the renewal payments on the subscription.
If you want to offer a percentage discount on the recurring amount, set the discount type to be a Recurring Product % Discount.
WooCommerce Subscriptions can limit a Recurring Discount coupon to a specific number of payments.
When creating a recurring coupon, a field labeled “Active for x payments” will be provided on the General tab. The default will be blank, meaning that the coupon will be active for the duration of the subscription.
Fill in this field with a number to make the coupon apply only for that number of payments, including the initial payment. Once the coupon has reached its limited number of payments, it will be automatically removed from the subscription.
For more information on Limited Coupons, see the Limited Subscription Payment Coupon guide.
A Sign-Up Fee Discount coupon discounts a fixed value off only the sign-up fee of a subscription product (if any). For example, if a subscription product has a $50 sign-up fee and is $25 per month, a Sign-Up Fee Discount coupon for $50 means the customer can subscribe for $25 per month without paying the sign-up fee. If you want to offer a percentage discount on the sign-up fee, set the discount type to be a Sign Up Fee % Discount.
Subscriptions provides an administration page to view and manage subscriptions ordered with your store.
The Manage Subscriptions page can be found at: WooCommerce > Subscriptions.
On the subscription management page, you can change the status of a subscription. Hover over a subscription to see actions that can be performed on the subscription.
- To temporarily pause a subscription, click Suspend.
- To resume a suspended subscription, click Reactivate.
- To permanently stop a subscription, click Cancel.
Want to learn more about how suspension works? More at: What happens when a subscription is suspended.
If you’re using the built-in PayPal gateway to sell subscriptions, be sure to enter your PayPal API credentials so that the action links are displayed.
By default, subscriptions are sorted by ID in descending order when displayed on the Subscriptions administration screen. You can also sort by:
- Order total
- Start date
- Trial end date
- Next payment date
- Last order date
- End date
To sort subscriptions displayed in the management table, click the column’s title.
If you want more advanced filtering, you can also use the search box on the Subscriptions administration screen.
The Search box can be used to search subscriptions by:
- Billing address: company, street name, city, ZIP or post code, state, country or email.
- Shipping address: street name, city, ZIP or post code, state, country or email.
- Product name
- Shipping method name
- Tax line item name
- Customer name
Want to see all customers who purchased a certain subscription product in August? Or all pending subscriptions with PayPal Standard as the payment method?
The Subscriptions administration screen provides filters above the list table to only display subscriptions for a specific:
- Payment method
- Start date within a certain month
In the admin subscriptions table there might be some subscriptions that do not link to an edit subscription screen. This can occur if the subscription was in the list of known subscriptions but was unable to be loaded correctly.
Subscriptions that cannot be loaded most likely have corrupt data. To preserve the record, the subscription ID will be displayed – even if all the data cannot be displayed.
WooCommerce Subscriptions comes with built-in support for two different PayPal payment methods:
- PayPal Standard
- PayPal Reference Transactions via Express Checkout
By default Subscriptions uses the first of these – PayPal Standard.
This is the easiest to configure. You can sell subscription products with PayPal Standard straight away with a PayPal business account, your IPN set up correctly and valid PayPal API credentials entered into WooCommerce. You do not need any further setup to start receiving recurring payments from your customers with PayPal Standard.
If you need to be use any of Subscriptions advanced features, including Subscription upgrades/downgrades or to get around some of PayPal Standard’s limitations, then you will need to apply with PayPal for Reference Transactions. Reference Transactions is not a standard product and approval is subject to a fully underwritten application. This can include reviewing your business model and finances to determine your suitability.
Contact PayPal for further information using the guide at PayPal Reference Transactions FAQ.
If your account is approved, Subscriptions will automatically detect Reference Transactions are supported and switch to using that payment method.
If your account does not have Reference Transactions enabled, WooCommerce Subscriptions continues to use PayPal Standard for subscription purchases and recurring payments.
Using PayPal Standard or Reference Transactions, Subscriptions will use the PayPal IPN (Instant Payment Notification) to keep track of recurring payments and changes in a subscription’s status.
To set up, see PayPal Standard – Setting up an IPN.
IPN and Multiple Websites
PayPal does not allow you to set multiple IPN URLs in a single PayPal account. It also does not allow applications, which you could consider WooCommerce Subscriptions as one, to set different IPN URLs for each website. As a result, PayPal can only be used to sell subscriptions on one website.
To cancel or suspend subscriptions purchased with PayPal Standard, Subscriptions needs to communicate with PayPal via their API. PayPal provides two forms of API credentials – API Certificate and API Signature. You must use an API Signature, as API Certificate will not work.
To set up PayPal Standard with your API Credentials:
- Go to Account Settings > Account access on the PayPal website.
- Select Update under API Access.
- Select Manage API Credentials under NVP/SOAP API integration (Classic).
- Enter the API username, password, and signature in the API Credentials section of PayPal settings.
- Save changes.
Once you have saved settings, you can cancel or suspend a subscription on the Manage Subscriptions page, as outlined in Managing Subscriptions.
When visiting PayPal to test purchasing a subscription, you may receive this error message:
“The link you have used to enter the PayPal system is invalid. Please review the link and try again”
The cause is most likely that the PayPal Email address being used in your store is for the live PayPal environment, not the sandbox environment.
To correct the issue:
- Find the details of a PayPal Sandbox account on the PayPal Developer site here.
- Go to: WooCommerce > Settings > Payment Gateways > PayPal in your store.
- Change the PayPal Email to the email address of a Sandbox account found in step 1.
If your store is using a currency the PayPal Sandbox account does not accept by default, PayPal transactions will show as pending and the order will not be completed and the subscription not activated until payment has been accepted.
To accept payment in another currency:
- Go to: sandbox.paypal.com
- Log into the PayPal Sandbox account being used on the store (not your live PayPal account).
- Click Accept to accept the payment.
- Click Accept this payment and create a balance in this currency option.
Extension settings can be set at WooCommerce > Settings > Subscriptions.
Customize text displayed on buttons for subscription products and at checkout when the cart contains a subscription.
- Add to Cart Button Text is used on the store page and individual product page for subscription products
- Place Order Button Text is used at the base of the checkout page when the cart contains a subscription
A user must create an account when signing up for a subscription, regardless of whether it’s required in WooCommerce. This is because subscriptions persist beyond a transaction and must be associated with a user account.
- Subscriber Default Role – control the role assigned to customers when they create a subscription. By default, this is the WordPress built-in Subscriber role.
- Inactive Subscriber Role – control the role assigned to subscribers when their subscription expires, is canceled or suspended (by you, the payment gateway or the customer). By default, this is the WooCommerce’s built-in Customer role.
To assign roles outside of WordPress and WooCommerce roles, use a membership extension such as Members.
To get detailed fine-grained control over permissions given to a user on a per-product basis, use WooCommerce Memberships.
The subscription renewal process is a complex and fundamental component of WooCommerce Subscriptions. To understand the intricacies of what renewal settings mean and how they affect subscription payments, see: Subscription Renewal Process.
Accept Manual Renewals
It’s possible to accept payments via payment gateways that do not support automatic recurring payments.
If you enable this setting, it offers all active payment gateways as a payment option when purchasing a subscription, not just gateways that support Subscriptions. If the customer chooses to pay via a payment gateway that does not support automatic payments, then the subscription will use the manual renewal process.
To accept manual payments:
1. Go to: WooCommerce > Settings > Subscriptions.
2. Select the Accept Manual Renewals option (see screenshot below).
For a list of payment gateways that support automatic and manual payments, see Subscription Payment Gateways. For more information about the difference between automatic and manual renewal payments, see Subscription Renewal Process.
Turn off Automatic Payments
By default, manual renewals are only used for payment gateways that cannot process automatic payments.
If you do not want new customers to be automatically charged for a subscription renewal payment, even when the payment gateway used to purchase the subscription can process automatic payments, you can disable automatic payments.
To turn off automatic payments:
- Go to: WooCommerce > Settings > Subscriptions.
- Select Accept Manual Renewals.
- Select Turn off Automatic Payments when it appears.
- Save changes.
Display the Auto Renew Toggle
By default, Subscriptions via a payment gateway that allows automatic renewals will be set to automatically renew, unless automatic payments are disabled (see above). The “Auto Renew” toggle allows subscribers to easily turn off the auto-renewals and switch to manual renewals from their My Account page.
To enable the toggle switch:
- Go to: WooCommerce > Settings > Subscriptions.
- Enable the Display the auto renewal toggle settting.
- Save changes.
Explained in the Guide to Switching Subscriptions.
To align subscription renewal dates to a specific day of the week, month or year, enable Synchronize Renewals. More at: Renewal Synchronization.
Under Miscellaneous Settings, you can:
- Allow or limit customer suspensions
- Charge outstanding balance for failed payments
- Allow products and subscriptions to be purchased in the same transaction
- Enable or disable the renewal synchronization feature
Set a maximum number of times a customer can suspend their account for each billing period. For example, with a subscription billed yearly, a value of 3 would mean that once a subscriber suspends their account 3 times that year, they cannot suspend their account again until the next billing year.
Set this to 0 to turn off the customer suspension feature completely (no suspensions allowed), or Unlimited to allow them to suspend their subscription any number of times. By default, this will be set to 0.
Enable Mixed Checkout to allow a subscription product to be purchased with other products in the same transaction, including simple, variable and other non-subscription products as well as multiple different subscription products.
Activating this feature makes it easier for customers to buy more from your store and to include subscription products in bundles created with extensions such as Product Bundles. Because of this, it is on by default and will only be disabled if manually unchecked.
Drip Downloadable Content
You can change this behavior to only provide existing customers with access to new files after their next renewal payment has completed. For example, digital magazines can use this feature to provide each subscribers with access to each month’s issue only after that month’s renewal payment.
To enable content dripping:
- Go to: WooCommerce > Settings > Subscriptions.
- Tick the Drip Downloadable Content checkbox.
- Save Changes.
If you want more advanced content dripping, see WooCommerce Memberships.
Payment gateways can include support for automatic subscription payments or not. Gateways that do not support automatic payments, like Cheque or Bank Transfer, can be used for subscription purchases only if you accept manual renewals in your store (set in the Renewal Settings).
For more information about payment gateways and the difference between automatic and manual payments, see Subscription Payment Gateway Guide.
After a customer has purchased a subscription with your store, they can view details and manage the subscription from their My Account page.
More about what subscribers can do from their My Account page at Subscriber View.
To display a list of subscriptions on pages other than the customer My Account page, add the
[subscriptions] shortcode to a page or post.
Optional arguments: - user_id: show only subscriptions owned by a user with this ID (default: 0, the currently logged in user) - status: show only subscriptions with this status. Can be active, on-hold, cancelled, switched or all (default: active)
More at: How to Use Shortcodes.
WooCommerce Subscriptions communicates with you and your store’s customers via a number of emails on specific subscription related events.
Similar to WooCommerce emails, you can customize, enable/disable and configure recipients for subscription related emails. To customize subscription emails, go to: WooCommerce > Settings > Emails.
The following emails are included with WooCommerce Subscriptions:
- New Renewal Order: Sent when a subscription renewal payment is processed. Sent to store manager by default, but could also be sent to fulfillment or drop shipping companies.
- Processing Renewal Order: Sent to a subscriber when payment has been processed for a subscription now awaiting fulfillment for that billing period. Payment can be a manual payment on a renewal invoice or an automatically charged recurring payment.
- Completed Renewal Order: Sent to a customer when the subscription renewal order is marked complete, indicating that an item for the renewal period has been shipped.
- Customer Renewal Invoice: Sent to a customer when the subscription is due for renewal and the renewal requires a manual payment, either because it uses manual renewals or the automatic recurring payment failed. Email contains renewal order information and payment links.
- Customer Payment Retry: Sent to a customer when an attempt to automatically process a subscription renewal payment has failed and a retry rule has been applied to retry the payment in the future. The email contains the renewal order information, date of the scheduled retry and payment links to allow the customer to pay for the renewal order manually instead of waiting for the automatic retry. Only sent when the Failed Recurring Payment Retry System is enabled.
- Payment Retry: Sent when an attempt to automatically process a subscription renewal payment has failed and a retry rule has been applied to retry the payment in the future. Sent to the store manager by default. Only sent when the Failed Recurring Payment Retry System is enabled.
- Suspended Subscription: Sent when a customer manually suspends their subscription from the My Account page. Sent to the store manager by default.
- Expired Subscription: Sent when a subscription reaches the end of its term and its status is changed to expired. Sent to the store manager by default.
- Cancelled Subscription: Sent when a subscription has been canceled by the customer (at the time when they click ‘cancel’) or store manager. Sent to the store manager by default.
- Subscription Switched: Sent when a customer upgrades or downgrades a subscription from the My Account page. Sent to the store manager by default.
- Subscription Switch Complete: Sent to a customer when he/she successfully upgrades or downgrades a subscription. Sent instead of the WooCommerce Completed Order email for orders to switch subscriptions.
If you want to send other emails, such as a reminder before a recurring payment will be processed, there are a variety of solutions that can be used to send additional subscription related emails:
- The AutomateWoo extension: with an action to send an email (or SMS), AutomateWoo’s Subscriptions’ Integration can be used to notify customers on a variety of subscription related events. Learn more in the AutomateWoo documentation on subscription triggers.
- Metorik: as part of Engage, Metorik makes it possible to send many subscription related emails using segmentation. For more information, refer to the documentation on Engage.
- Enhancer for WooCommerce Subscriptions includes the Auto Renewal Reminder feature which will allow you to send a reminder email before a renewal occurs
- Renewal Reminders is a 3rd-party free plugin which allows you to send your subscribers a Renewal notifications by Emails X days before their subscription ends. This plugin only works with WooCommerce Subscriptions plugin.