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
Creating a Subscription Product ↑ Back to top
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.
Choosing the Payment Schedule ↑ Back to top
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.
Free Trial Periods ↑ Back to top
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.
Variable Subscriptions ↑ Back to top
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, he/she needs 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.
One Time Shipping
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.
Subscription Coupons ↑ Back to top
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.
Recurring Discount ↑ Back to top
The Recurring 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, than 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 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 Fee 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 % Discount.
Discount Set Number of Recurring Payments
WooCommerce Subscriptions does not currently offer a way to restrict a Recurring Discount coupon to a specific number of renewal payments or to a total value.
For example, it is not possible to create at $10 per month coupon which will only discount the first 6 months worth of recurring payments. Nor is it possible to create a coupon for $100 which will only discount the first $100 worth of renewal payments, like the first 4 months of a $25 per month subscription product.
Sign-Up Fee Discount ↑ Back to top
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.
Managing Subscriptions ↑ Back to top
Subscriptions provides an administration page to view and manage subscriptions ordered with your store.
The Manage Subscriptions page can be found at: WooCommerce > Subscriptions.
Cancel or Suspend a Subscription
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.
Search Subscriptions ↑ Back to top
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
Filter Subscriptions ↑ Back to top
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
PayPal Configuration ↑ Back to top
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.
Configure your PayPal IPN
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.
Enter your PayPal API Signature
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 Profile and settings on the PayPal website.
- Select My selling tools.
- Select Update under API Access.
- Select View API Signature under NVP/SOAP API integration.
- 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.
PayPal Sandbox and Pending Payments
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.
Subscription Settings ↑ Back to top
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.
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 to 0 to turn off the customer suspension feature completely.
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 Gateway Settings
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.
Subscriber Account Page ↑ Back to top
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.
Subscriptions Shortcode ↑ Back to top
To display a list of subscriptions on pages other than the customer My Account page, add the
[subscriptions] shortcode to a page or post.
Shortcode Arguments ↑ Back to top
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)
Example Usage ↑ Back to top
More at: How to Use Shortcodes.
Additional Shortcodes ↑ Back to top
If you need shortcodes for subscription product details, such as price or billing schedule, try Subscription Shortcodes. This extension offers a range for additional shortcodes for Subscriptions.
Note that this extension is built by a member of the WooCommerce community and is freely available. It is not affiliated with or endorsed by Automattic or WooCommerce and use of the extension is not covered by WooCommerce support. As of early 2018, it was not compatible with WooCommerce 3.0+.
Subscription Emails ↑ Back to top
WooCommerce Subscriptions communicates with you and your store’s customers via a number of emails:
Renewal Order Emails ↑ Back to top
- 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.
Failed Payment Retry Emails ↑ Back to top
- 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.
Subscription Status and Switch Emails ↑ Back to top
- 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 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.
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.