Search

Subscriptions FAQ

WooCommerce Subscriptions is a premium WooCommerce extension

Here you will find answers to commonly asked questions about the WooCommerce Subscriptions extension.

If you haven’t already, you should also read the Subscriptions guide for Store Managers. If you have technical questions about integrating software on Subscriptions, please refer to the Subscriptions Developer Documentation.

What type of subscriptions can I sell with WooCommerce Subscriptions? ↑ Back to Top

WooCommerce Subscriptions can be used to sell any product or service that requires recurring payments. You can sell physical, virtual and downloadable products as a subscription. You can also offer services and memberships by setting a subscription to be virtual.

Can I sell Memberships for content with access control? ↑ Back to Top

Yes! You can use Subscriptions in combination with the Groups Plugin + WooThemes Groups Extension to help manage content to only be accessed while your customer’s subscription is active. To learn more about how to set this up, please see the Groups Extension documentation.

The Sell with WP blog also has an excellent article on how to create a membership site with WooCommerce, Subscriptions and Groups. It covers the relevant features of the plugins and provides unbiased advice about when this combination of plugins is suitable.

How is shipping calculated for physical product subscriptions? ↑ Back to Top

If you’re selling a subscription to items that need shipping, the shipping costs will be added to the recurring payment. For example, with a $5 / month subscription with a $2 shipping fee, the total payment will be $7 per month.

If your subscription includes a free trial, the shipping will also be free for that first period if no other products are purchased in the same transaction. To charge a shipping fee up-front for a subscription with a free trial, you can include a sign up fee for the cost of shipping.

This system applies to all the shipping methods included with WooCommerce, including Local Delivery, Local Pickup, International Shipping and Flat Rate shipping. It will also work for any additional shipping methods created by a WooCommerce extension as long as the extension uses the appropriate WooCommerce features.

Subscription Shipping Methods

Subscription Shipping Methods

How are discount coupons applied to subscriptions? ↑ Back to Top

WooCommerce Cart and Product coupons will discount any amount charged at the outset of the subscription, and will not discount any recurring amount.

For example, if a product discount coupon for $10 is used for a $100 / month subscription, the subscriber will only pay $90 for the first month but will then continue to pay $100 for each subsequent month. If a cart discount coupon for $2 is used on a subscription with a $10 / month charge and $10 sign up fee, the customer would pay $18 for the initial payment then $10 / month.

A subscription with a free trial period and no sign up fee or synchronised renewals and no sign up fee has no initial payment, therefore Cart and Product coupons will not apply any discount.

WooCommerce Subscriptions also provides coupons to discount only the Sign Up Fee or Recurring amount.

Subscription Specific Coupons

Subscriptions also provides two subscription specific coupon types.

Sign Up Fee Discount coupon will discount a fixed value off only the sign up fee of a subscription (if any). For example, if a subscription has a $100 sign up fee and is then $25 per month, a Sign Up Fee Discount coupon for $100 will mean the customer can subscribe for $25 per month without paying the usual sign up fee.

The Recurring Fee Discount coupon will discount the ongoing payment amount by a fixed value. Using the subscription from the example above, a Recurring Fee Discount coupon for $10 will mean the customer still pays $100 sign up fee, but then pays only $15 per month for the life of the subscription.

How do I restrict the number of available subscriptions? ↑ Back to Top

You can use the built-in WooCommerce inventory feature for your subscription product.

Why does a customer need to create an account at checkout? ↑ Back to Top

WooCommerce includes options to allow guest checkout, meaning customers do not need an account to make a purchase; however, Subscription ignores the value of this setting and requires all customers to create an account with your site whenever purchasing a subscription.

Subscriptions persist beyond a transaction and therefore must be associated with a user account.

Can a subscriber cancel her own subscription? ↑ Back to Top

Yes, a subscriber and cancel and perform other actions on her subscriptions via the My Account page.

Does Subscriptions support {insert payment gateway name}? ↑ Back to Top

To get a full overview of the payment gateways which support subscriptions, please read over the Subscription Payment Gateways article.

Why does PayPal Standard split the subscription when I add a sign up fee? ↑ Back to Top

PayPal Standard does not provide a way to charge a sign up fee. As a result, Subscriptions needs to split payment the initial payment if it includes a sign up fee. It can then apply the initial amount to a separate billing period, which PayPal does support but unfortunately refers to as a Trial Period.

This may be confusing to your customers if they look at the subscription details in their PayPal account and see a Trial Period charged on a subscription with no free trial. Unfortunately, PayPal Standard does not provide any other method for charging the sign up fee.

This is just one of PayPal Standard’s limitations. If you can, it is recommend you use a more modern payment gateway, like Stripe.

Why only one subscription per transaction? ↑ Back to Top

The current version of WooCommerce Subscriptions supports only one subscription being purchased at the same time (though multiple subscriptions can be purchased by the same customer in separate transactions). This is because the payment gateways Subscriptions was originally written to work with, specifically PayPal Standard, do not support purchasing more than one subscription at a time.

However, as Subscriptions has evolved and can now be used with many more advanced payment gateways, the ability to purchase multiple subscriptions in the same transaction is planned for version 2.0. The estimated release date and other progress on this feature is documented in the Subscriptions Feature Roadmap.

For now, to enforce one subscription per transaction, when a customer clicks Sign Up Now, Subscriptions removes any subscription already in the cart and sends the soon-to-be subscriber directly to checkout.

Subscription Removed Notice

Subscription Removed Notice

How can I sell a product with a subscription? ↑ Back to Top

  1. Go to: WooCommerce > Settings > Subscriptions.
  2. Scroll down to the Miscellaneous Settings section.
  3. Enable the Mixed Checkout setting.

Mixed checkout is enabled by default on new installations. You will only need to manually enable it if you upgraded to Subscriptions version 1.5, that is, your site was running Subscriptions prior to version 1.5. This feature was disabled by default on existing sites to ensure existing behaviour did not change unless store managers wanted it too.

How can I offer a subscription with a variable billing period? ↑ Back to Top

To offer customers a choice of billing period on a subscription, you can use either:

Using a Variable Product

To create a variable subscription with different billing periods:

  1. Go to: Products > Add New
  2. Set the product type to be Variable subscription
  3. Create a new variation attribute on the product and call it Billing Period (or anything you prefer)
  4. Add different periods to the new Billing Period attribute. e.g. week, month, year
  5. Create a variation for each billing period
  6. Set the subscription period for each variation to match the billing period attribute assigned to it.
A "Billing Period" Attribute

A “Billing Period” Attribute with Week/Month/Year Values

Subscription period to match the billing period value

2 Subscription Variations with a Period Matching the Billing Period Attribute

Using a Grouped Product

To use a Grouped product:

  1. Create multiple Simple subscription products, each with different billing period
  2. Add each subscription to a grouped product

Here is a screenshot of a grouped product with subscriptions at four different intervals: monthly, every 3 months, every 6 months and yearly.

Screenshot of Recurring Billing Period Variations using a Grouped Product

Variable Recurring Billing Periods on a Grouped Product

Can I use a subscription like a variable product? ↑ Back to Top

Yes! Version 1.3 of Subscriptions added a new Variable Subscription product type. For each variation, you can set a different sign up fee, trial period, billing period, billing interval and subscription length.

Can subscriptions do [insert-feature]? ↑ Back to Top

There are many great ideas for how to use a subscription to create a novel business model. It is great to see so much variety in the eCommerce world, but as Subscriptions is an off-the-shelf product, it can not possibly support every use case.

If you don’t see a feature discussed in this FAQ or listed in the store manager guide, then Subscriptions most likely does not include that feature.

Subscriptions is constantly being developed and you can find a list of the features that will be coming in future releases on the Feature Roadmap. If you want something not listed already, post the idea in the WooCommerce Extension Ideas forum. Once a feature gets enough votes, it will be added to Subscriptions. Features with higher votes are also be given priority.

If the feature you require doesn’t have broad appeal, the good news is, Subscriptions makes it possible for an expert WordPress or WooCommerce developer to add just about any feature. If you need an expert developer to add a feature to Subscriptions, please post a job on Codeable, or find an affiliated WooWorker.

Will a scheduled subscription charge go through even if the order status is “on-hold”?

Yes, a scheduled subscription charge will still go through even when the original order used to purchase the subscription has a status of on-hold. A store manager needs to put the subscription on-hold to freeze payments on that subscription.

What is the exact interval for a monthly subscription, i.e. is it 30 days? ↑ Back to Top

With a daily subscription, payments are triggered every 24 hours. A day is always 24 hours, so this is no issue. But what about months where the number of days differs?

The amount of time between a monthly billing interval is one month. This means 30 days for some months (April, June etc.), 31 days for others, and then 28 or 29 days for February. If a monthly subscription is created on the 15th of February, the next payment will be charged on the 15th March. If the billing interval for a subscription is every 2 months and it is created on the 15th of February, the next payment will be charged on the 15th April.

What about subscriptions purchased on the last day of the month?

If a subscription is purchased on the last day of the month, recurring payments will continue to be charged on the last day of the month. For example, if a $10 / month subscription is purchased on the 31st December, its next 4 payments will be charged on:

  • 31st January
  • 28th February (or 29th February for a leap year)
  • 31st March
  • 30th April
What about recurring payments on the 29th or 30th day of the month?

This system will also be used if the day a payment is normally charged is not the last day of the month, but it is on the 29th or 30th day of the month, and the next payment is due in February, which has no 30th day (and no 29th day in non-leap years).

For example, if a $10 / month subscription is purchased on the 29th December 2012, it’s next 4 payments will be charged on:

  • 29th January 2013- not the last day of the month
  • 28th February 2013 – notice it has switched to the last day of the month as there is no 29th day in February when it is not a leap year
  • 31st March 2013 (last day of the month)
  • 30th April 2013 (last day of the month)

This logic ensures that a payment is made every month, and therefore, that one year includes 12 payments.

Why are subscription payments charged late (or early) with PayPal?

Unfortunately, the above only applies to subscriptions where WooCommerce Subscriptions controls the billing schedule.

When creating a subscription with PayPal, PayPal takes control of the schedule for charging recurring payments payments. PayPal also batch processes payments, meaning that they do not process payments exactly when they are due. Instead, PayPal will process a payment within 24 hours of when the payment is due.

For example, if a recurring payment is due at 2pm on 1st July, PayPal may charge that payment anytime between 12:00am and 11:59pm on the 1st of July pacific time. This may become more confusing for a subscription created on the last day of the month, as PayPal may actually end up processing the payment on the 1st day of the following month based on your store’s timezone.

How does Subscriptions manage stock? ↑ Back to Top

WooCommerce Subscriptions creates an order to record each renewal payment. Each of these orders has the subscription product as an item on the order so when the order is processed, the stock for that item will be reduced. This allows for accurate inventory management for physical products that need to be shipped each billing period.

For example, if a store has 100 widgets in stock, and then a customer buys a weekly subscription to those widgets, the widget stock will be reduced by one for the initial purchase, leaving 99 widgets. After the first renewal a week later, the stock will be reduced by one again, leaving 98 widgets. A week later, the subscription will renew a second time and stock will be reduced again, leaving 97 widgets.

Subscription Inventory Management

Subscription Inventory Management

What happens when a subscription is suspended? ↑ Back to Top

When a store manager or customer suspends a subscription, all payments will stop for the period the subscription is suspended. The user’s role on your site will also be set to the default inactive subscriber role.

When a subscription is reactivated, the payment schedule will continue as it did before the subscription was suspended. The payment schedule is not changed based on the amount of time the subscription has been suspended.

For example, if a customer buys a monthly subscription product on the 1st of January, then suspends their subscription on February 12th, they will not pay anything until they reactivate it. If the customer reactivates the subscription on May 22nd, the next payment will be charged on 1st of June, because that is the original billing date the subscription was started.

WooCommerce Subscriptions allows you as the store manager to set a limit on the number of times a subscriber can suspend or reactivate their subscription, or to prevent suspension completely on the settings page.

What email does Subscriptions send to customers? ↑ Back to Top

A list of the emails WooCommerce Subscriptions sends, and information on how to customise those emails, is included in the Store Manager Guide.

How can I improve the accuracy and reliability of scheduled payments with Stripe/Authorize.net? ↑ Back to Top

WooCommerce Subscriptions uses WordPress’s built-in WP-Cron scheduling system for scheduling payment related tasks. For popular sites, the accuracy of WP-Cron’s scheduling service is not a problem. However, sites with less traffic may find scheduled payments are charged at an unacceptable length of time after it was due.

To ensure a schedule payment is run within 5 seconds of the time and date it is due, there are two options:

  1. Create a free PingMate, Pingdom or UptimeRobot account and point it to your store’s front page. This will ensure WP-Cron fires regularly (from every 30 seconds using PingMate to every 5 minutes using UptimeRobot). That way, a payment is charged no more than that interval after it is due. This is the simplest solution.
  2. Create a manual cron job by following the instructions on this WP Daily tutorial or this WP Tuts+ tutorial. Set it to trigger every 10 seconds. This is a more reliable and flexible solution, but also more difficult to implement.

This extra step is not required for PayPal or any other gateway extension which uses the payment gateway’s own recurring billing system. It is only required for those extensions, like Stripe and Authorize.net CIM, which rely on Subscription’s scheduling for recurring billing.

What happens if a customer cancels a subscription purchased with PayPal? ↑ Back to Top

WooCommerce Subscriptions can sync the subscription status between PayPal and your store. To enable this feature, you must configure PayPal as explained here.

If you or your customer suspends or cancels a subscription in your WooCommerce store, it will also notify PayPal that the subscription should be suspended or cancelled. This means both you and your customers can manage subscriptions without ever having to log into PayPal.

If a customer suspends or cancels a subscription with PayPal directly, you site will also sync the status change as long as it receives a notification via the PayPal IPN. If subscription statuses are not syncing and you have not configured IPN for your store’s website, please follow PayPal’s instructions for setting up IPN. You will need to set the notification URL given to the WooCommerce URL provided here.

Why does PayPal immediately send a Subscription Expired/Completed email? ↑ Back to Top

Unfortunately, PayPal handles subscriptions for 1 billing period (e.g. 1 year) as if they start and finish immediately. Because the payments are not on-going, PayPal thinks it can end the subscription as soon as it begins. This means PayPal will also send you as the store manager and the customer an email to say the subscription has been cancelled as soon as it was created. To any sane human being, this is a bug; alas, PayPal is not a sane human being and this is how it works.

Fortunately, WooCommerce Subscriptions handles the subscription properly – it will expire in your store only after the year has passed. But PayPal will still send you as a store manager and your customers a “Profile Cancelled” email as soon as the subscription has been created.

The only thing a store manager can do to prevent these emails from PayPal is to set the subscription length to be “all time”. This means PayPal won’t cancel the subscription immediately, it will be up to store manager or customer to cancel the subscription. Fixing PayPal’s behaviour is outside of the control of the developers behind WooCommerce Subscriptions and changing the length is the only workaround available.

Why is PayPal not charging recurring payments? ↑ Back to Top

The most likely cause of this is that WooCommerce has been upgraded to version 1.6.5.1 or newer, but WooCommerce Subscriptions has not been upgraded.

WooCommerce 1.6.5.1 introduced a breaking change with PayPal for subscription purchases. This was fixed in Subscriptions version 1.1.4, but if WooCommerce was upgraded without also upgrading Subscriptions, your site will be suffering from the issue.

Is it possible to offer multiple payment options or can I only choose 1 payment processor? ↑ Back to Top

You can offer more than 1 payment processor.

If you have manual renewals enabled, every payment payment gateway that has an extension activated on your site and is enabled under the Payment Gateways tab of the WooCommerce settings page will be offered as payment option.

If manual renewals is not enabled, all WooCommerce payment gateway extensions which support automatic payments will be offered to the customer.

If a customer buys a subscription on December 15th, when will she be charged for the month of December? ↑ Back to Top

By default, the billing schedule for a subscription is based on the day the customer buys the subscription. If a customer buys a subscription on the 15th December, she will pay on the 15th December, then be billed for renewal on the 15th January (then 15th February etc.).

If you want to align subscription payments, for example, to be charged on the first or last day of the month, regardless of when a customer signed up for a subscription, you can use the renewal synchronisation feature.

What happens if I change the price of a subscription product? ↑ Back to Top

WooCommerce Subscriptions calculates the recurring amount that a subscriber should be charged at the time the subscriber places an order. This amount is then stored against their order. As a result, if you change the price of a subscription product, existing subscribers won’t be effected. All existing subscribers will still be charged the old price, or whatever the recurring price was when they signed up for the subscription.

Can I change the product on an order? ↑ Back to Top

Depending on the payment gateway you use on your site, it may be possible to manually delete then add a new subscription product to an order.

Your customers can also upgrade or downgrade a subscription from the My Account page.

Why are orders set to Processing not Completed? ↑ Back to Top

Once an order has been paid, WooCommerce only sets the status of the order to completed if all the products purchased in the order are both digital and downloadable. If all the products in an order are not digital and downloadable, the order will be marked as processing. This is to help you manage shipping of physical items.

Subscriptions conforms to the WooCommerce behaviour when setting order status. As a result, when an order contains a subscription product that is not both digital and downloadable, the order status will be set to processing. If you want the order status to automatically transition to completed after payment for a subscription, you need to set the subscription product as both digital and downloadable.

Alternatively, you can use this free WooCommerce plugin to automatically mark all of your WooCommerce orders complete regardless of product type.

Does WooCommerce Subscriptions work with WordPress Multisite? ↑ Back to Top

Yes, you can use WooCommerce Subscriptions on a WordPress multisite installation. Each subscription will be associated only with the site on which it is purchased.

Each user account will also only be created for the site where the customer purchased the subscription and created their account. If you want to share a user account with other sites in your network, try the handy and free Multisite User Management plugin.

How can I manually trigger a renewal payment (or a renewal order email)? ↑ Back to Top

To trigger an off-schedule renewal and therefore trigger each step in the renewal process, like sending renewal order email, follow the steps outlined in the guide for testing renewal payments using the WCS_DEBUG flag.

Can a customer use a credit card to pay for subscriptions when using the bundled PayPal Standard gateway? ↑ Back to Top

Out-of-the-box, PayPal Standard requires customers to already have a PayPal account or to create one when signing up for a subscription.

If you want customers to be able to pay for subscriptions with just a credit card, you can add Enhanced Recurring Payments for PayPal Standard. This feature costs $19.99 / month and allows your customers to sign up for a subscription even if they don’t have a PayPal account.

If you sign up for Enhanced Recurring Payments, you won’t need to make any changes to your store. Customers will automatically be presented with the option during checkout.

Note: Unfortunately, PayPal only offers Enhanced Recurring Payments to US companies.

Why does translation not work? ↑ Back to Top

Translation does not work with the Codestyling Localization plugin but will work with WPML.

The Codestyling Localization plugin has had a range of bugs in dealing with the translation the plural forms of a word. Like this issue, this one and this one.

Subscriptions uses both the singular and plural form of a billing period, e.g. month/months, when displaying a subscriptions billing terms. Therefore, it uses the WordPress function for retrieving the translated plural or single form based on the billing interval, e.g. 1 month, 3 months. Codestyling Localization does not appear to support this function correctly.

wpml-ready-badge
A large amount of time has been spent to make sure Subscriptions will work with WPML, and it is recommended you use WPML for translating Subscriptions. There are occasionally issues, as seen from forum threads like this one, this one and this one, but all text in WooCommerce Subscriptions is passed through appropriate translation functions. You may just need to rescan the plugin files until all strings are available in WPML. Subscriptions has also been verified as compatible by the WPML team.

How can I charge recurring payments for donations? ↑ Back to Top

There are two great extensions which work with Subscriptions to allow your customers to name their own price. These are:

  1. Name Your Price
  2. Gravity Forms Add Ons

Both of these extensions can be used to add a text field on a subscription which allows the customer to enter their preferred donation amount.

How is the minimum price for a variable subscription calculated? ↑ Back to Top

When displaying a variable subscription’s price on the store page, Subscriptions displays a “From: $x / period” price. This the lowest possible price at which a customer can access a subscription.

Subscriptions uses a general rule to determine the cheapest variation: the lowest initial price for the longest period.

For example, if a variable subscription has the following 3 variations:

  1. $5 per month
  2. $5 every 3 months
  3. $5 every 6 months

The 3rd option will be set as the lowest possible price because it is for the longest period.

For another example, if a variable subscription has the following 3 variations:

  1. $5 per month
  2. $10 per month with 1 week free trial
  3. $50 per year with 1 month free trial

Again, the 3rd option will be set as the lowest possible price because it has the cheapest initial price, free, for the longest period, 1 month.

For these examples, this method makes sense, but it might seem confusing when selling variations at different prices and different billing period. For example, with two variations, $5 / month and $20 / year. In this case, the $20 / year subscription is cheaper on a daily basis over a 12 month period. However, the lowest possible price the customer can access the subscription for is $5 / month. Furthermore, if a customer only remains subscribed for 3 months, then they will pay a lower total price than the annual amount. As a result, the minimum price would be displayed as $5 / month.

What about the subscription length for variations?

If multiple variations have exactly the same price and billing period, Subscriptions will think each variation’s price is identical, even if the variations have different lengths.

For example, consider a variable subscription with the following 2 variations:

  1. $5 / month for 1 month
  2. $5 / month for 3 month

Subscriptions will think these two prices are identical. As a result, it will determine the minimum price based on the last variation which it checked, which is the variation with the highest ID.

So for this example, if the second variation has the higher ID, Subscriptions will display the variable subscription’s price string as $5 / month. If the first variation has the higher ID, the variable subscription product’s price would be displayed as $5 for 1 month.

Why are dates displayed incorrectly? ↑ Back to Top

You may find when viewing the Manage Subscriptions page that some dates are displayed a few hours or more off the actual date. This usually means a plugin or custom code is changing your site’s timezone.

WordPress sets your site’s base timezone to UTC/GMT and Subscriptions expects that to be the site’s base timezone for calculating dates. However, on rare occasions, some plugins will change the base timezone.

To find the offending code, search your site’s files for the string: date_default_timezone_set and disable the plugin using that function.

Why are manual renewal orders automatically cancelled? ↑ Back to Top

WooCommerce 2.0 introduced a new Hold stock setting. This setting allows you to set a time limit, after which an unpaid, pending order will be cancelled. As Subscriptions creates a pending order for manual subscription renewals, this time limit is also applied to renewal orders.

By default, this value is set to 60 minutes. This doesn’t provide much time to pay for a renewal, however, so when installing or upgrading Subscriptions version 1.4 or newer, the default value is changed one week (10080 minutes). If you customer does not pay for the renewal within one week, the renewal order will be cancelled.

If you would like to provide your subscribers with a more or less generous renewal period, just increase or decrease the time limit as needed. Or leave the value blank to disable this feature completely.

Screen Shot 2013-06-20 at 3.22.29 PM

Can a Subscription have a 3-Tier Price? ↑ Back to Top

A 3-tier price is where for the customer pays 3 different amounts for their subscription. For example, the first month the customer pays $29.99, for the 2nd month they pay $19.99 and then every month after that they pay only $9.99.

Subscriptions allows you to create a 2-tier price, by using a sign up fee. However, there is no feature to allow a 3-tier price.

If using manual renewal payments or a payment gateway which supports recurring amount changes then it would be possible to:

  • update each subscription manually after the 2nd payment to change the recurring price after the 2nd payment (only really suitable when you have only a few subscribers)
  • hire developer from Tweaky or Codeable.io to write a custom plugin to have the price changed automatically after the second payment.

If you want this feature in Subscriptions, submit it or vote it up in the Ideas Forum. If popular enough, it will be added.

If a customer is subscribed to a downloadable product, do they have access to that product forever? ↑ Back to Top

If you create a subscription product with downloadable files associated with it, the customer will only have access to the files while their subscription is active.

If the subscription has expired, is on-hold or has been cancelled, the customer will not be able to download the files associated with the subscription.

How does Subscriptions handle staging sites? ↑ Back to Top

Some hosts, like WP Engine, provide an easy way to clone your website.

To prevent duplicate payments from a clone of your site, Subscriptions will disable automatic payments and subscription related emails whenever the current site’s URL differs to the URL of the site where Subscriptions was first activated. You will know when this is happening because Subscriptions will display a warning in the administration area of your site.

Duplicate Site Warning

Duplicate Site Warning

You can still test subscription renewals on a test site, but Subscriptions will use the manual renewal process and will not send any subscription related emails.

If want to enable automatic payments on the new site, either because you have changed the test site’s payment gateway to use a sandbox mode and updated all customer emails for the staging site, or because the new site is a permanent migration of the old site, then click the Enable automatic payments button displayed in the administration notice.

Information for developers: Subscriptions stores a clone of WordPress’ siteurl value in an option with the name wc_subscriptions_siteurl. It compares this value with the siteurl value to see if the value has changed.

Enabling Automatic Payments on a Staging Site Lock

If you chose the Quit Nagging Me option, but now want to enable automatic payments on the test site, you can:

  1. Go to: example.com/wp-admin/options.php (where example.com is your site’s URL)
  2. Change the value of the 'wcs_ignore_duplicate_siteurl_notice' option to anything other than its current value, false would be a good choice.
  3. Click Save Changes

The staging site notice should reappear and you can choose to Enable automatic payments.

How can I create a subscription where customers pay the entire bill up-front? ↑ Back to Top

To charge the entire subscription amount up-front, there are two options:

  1. Create a subscription for 1 billing period, e.g. $100 for 4 months or $120 for 6 months
  2. Make the subscription free for each recurring interval and charge the total amount in the sign up fee. e.g. $0 / month for 4 months with a $100 sign up fee or $0 / month for 6 months with a $120 sign up fee

The first option is most suitable when wanting to provide access to something (e.g. content) for a certain period of time.

The second option is most suitable when you want to ship the subscription product each month (so you want an order to be generated to manage shipping).

Combine one of these with a variable subscription and a billing period attribute, and you can allow the customer to choose whether they pay up-front or monthly.

Why does a customer need to enter payment details when no initial payment is due? ↑ Back to Top

When automatic payments are enabled, a customer must enter their payment details when signing up for the subscription, even if no initial payment is required. That means, even if the subscription has a free trial or the customer has applied a coupon for 100% of the first payment, they will need to enter their payment details. This is so that future payments can be processed automatically.

If you do not want to make customers enter their payment details when no initial payment is required, switch off automatic payments.

Payment Fields with 100% Discount on Initial Payment

Payment Fields with 100% Discount on Initial Payment

Why do I see an empty/phantom subscription? ↑ Back to Top

When viewing subscriptions on the Manage Subscriptions screen, you may see an empty or phantom subscription. These subscriptions have no product name or order number (#) and will have a large number of renewal orders.

Phantom subscriptions like these were incorrectly created when changing the customer on a order in old versions of subscriptions. They can be removed in the current version of Subscriptions.

To remove a phantom subscription:

  1. Go to “Edit Order” screen for the order used to purchase the phantom subscription
  2. Make a note of the customer currently on the order
  3. Change the order’s customer to the original customer (this is the customer listed on the phantom subscription)
  4. Save the order
  5. Change the order’s customer back to customer who should own the subscription
  6. Save the order

That should both remove the phantom subscription and create the subscription correctly under the other customer’s account.

Phantom Subscription

Phantom Subscription

Why are renewals not being processed when W3 Total Cache is installed? ↑ Back to Top

WooCommerce Subscriptions uses WordPress’s built-in WP-Cron scheduling system for scheduling recurring payments and other renewal related tasks.

Unfortunately, the W3 Total Cache plugin on occasion breaks WP-Cron (forum reports here, here and here).

If you have the W3 Total Cache plugin active and are not seeing subscription renewals processed, please deactivate it. It is an excellent caching solution, but until the WP-Cron issues are properly diagnosed and fixed, it is not always compatible with Subscriptions.

If you find you need to use a caching plugin, try switching to a host which handles caching for you, like WP Engine.

Where can I find a list of the upcoming features? ↑ Back to Top

You can find this in the Subscriptions Roadmap here.

Why do I get a 403 error on Internet Explorer when adding a subscription to the cart? ↑ Back to Top

Under a rare configuration of mod_security in Apache, your web server will throw a 403 forbidden error when a customer adds a subscription to a cart. If you encounter this issue, you will need to change the MULTIPART_STRICT_ERROR setting in your mod_security.conf to either use warnings instead of MULTIPART_STRICT_ERROR or only to make sure that DB %{MULTIPART_DATA_BEFORE} errors do not result in a 403 error.

Please contact your web host to have this setting changed..

Can I sell a subscription with a sign up fee and $0 recurring payment through PayPal? ↑ Back to Top

PayPal does not support subscriptions with a $0 recurring total i.e. subscriptions where the total cost is charged up-front, but an item is still shipped on a regular basis. This is because PayPal Standard requires a subscription price (the a3 parameter) to be set and to be greater than 0.

WooCommerce Subscriptions will allow you to do this however as it will pass the initial purchase to PayPal as a one-off purchase and then process the renewals on it’s own. This means however that subscriptions with a $0 total won’t show up in your PayPal account like other subscriptions.

How can I have all new subscribers use a new payment gateway while allowing existing subscriptions to continue? ↑ Back to Top

To force all new customer subscriptions to be created with a new payment gateway, while still having existing subscriber’s recurring payments charged correctly in an old payment gateway, you can simply disable the old payment gateway under the WooCommerce Payment Gateway Settings page.

Disabling the old payment gateway will prevent it from being offered as an option on checkout for new customers, but as long as the payment gateway extension is still active as a WordPress plugin, it will be able to handle recurring payments.

For example, to switch from using Stripe to Authorize.net payment gateways, the Stripe gateway would need to be disabled.

Disabling the Stripe Gateway

Disabling the Stripe Gateway while keeping the extension active

Switching existing customers to the new method is more complicated and if you wish to do this, it is recommended you have customers follow the process provided to Change Payment Methods.

Do PayPal eChecks work with Subscriptions? ↑ Back to Top

WooCommerce Subscriptions is able to process automatic subscriptions payments with PayPal using the eCheck payment method.

There are slight differences to how the subscription will be handled with an Instant Payment method, like Credit Card or bank transfer. The way it will work is:

  1. After the customer completes the checkout with PayPal, the subscription & original order will remain on-hold until the payment clears after 2-3 days (you will need to make sure the Hold Stock setting is disabled or set to a length of time long enough to allow for this delayed processing) once the eCheck payment is completed, the subscription will be activated and order marked as processing or completed.
  2. When the subscription renewal payment is due, the subscription will remain active until the eCheck payment clears, then and only then will the renewal order be created (so 2-3 days after the payment was due) for that subscription. If the eCheck payment failed, the failed payment will only be registered and subscription put on-hold 2-3 days after payment was due.

How can I provide subscribers with access to new downloadable files? ↑ Back to Top

After a customer has purchased a downloadable subscription product, she will be able to download any files associated with that product from her My Account page for as long as the subscription is active.

To provide active subscriptions with access to new downloadable files:

  1. Go to: Products > Edit Product
  2. Go to the General tab of the Product Data metabox
  3. Click Add File
  4. Click Update to save the product
Screenshot of Edit Product screen

Add New Downloadable File to Subscription

Existing subscriber’s with an active subscription will automatically receive access to those files on their My Account page.

Drip Feeding Downloadable Files with each Renewal

There is currently no automatic way to link access to the new files with each renewal payment.

WooCommerce does allow for downloadable file permissions to be assigned on an order though, so this could be used to manually assign download permission to renewal orders, or a WooCommerce developer could use the internals of this system to allow for permissions to be granted after a renewal payment is completed.

You may also be able to use a 3rd party drip feeding extension, like the free DripPress extension released by Chris Lema.

How can I email a subscriber X days before her subscription renews? ↑ Back to Top

The Follow Up Emails extension can be used to email customers a renewal reminder. See the knowledge base article on subscription renewal reminder emails for more information.

How can I stop renewals temporarily? ↑ Back to Top

If you want to temporarily disable renewals, including recurring payments, from being processed for a certain period of time, for example, while testing upgrades or running other maintenance tasks, use the DISABLE_WP_CRON constant.

This will not work with PayPal or payment gateways which manage the billing schedule. It will work with Stripe, Authorize.net CIM, Braintree and almost all other payment gateways.

How can I charge a payment at a custom interval? ↑ Back to Top

Out-of-the-box Subscriptions allows you to charge a recurring payment on a billing interval of 1-6 i.e. every day, every 2nd day, every 3rd day etc.

Default Subscription Billing Intervals

Default Subscription Billing Intervals

If you want to charge payments on a different billing period, it is also possible to add your own with a little bit of code. For example, the plugin’s code shown below will add a every 10th billing interval. You can change the 10 to any number you require and install it as a plugin on your site.

How can I customise subscription price string? ↑ Back to Top

The price displayed for a subscription product and order totals for a subscription order can be customised by plugins.

If you are a WordPress developer, you can use the 'woocommerce_subscription_price_string' and 'woocommerce_subscriptions_product_price_string' filters along with the parameters passed to those filters, to customise the string.

If you need to hire WordPress developer, you can find one at Codeable, Tweaky or Affiliated Woo Workers.

How can I display a notice when products are removed form the cart? ↑ Back to Top

When Mixed Checkout is disabled, if a customer adds a subscription product to the cart and the cart already contains a non-subscription product or products, the non-subscription products will be removed.

As the customer is redirected immediately to the cart, no notice will be displayed.

The following code will add a message on checkout to indicate to the customer that a product or products have been removed. To use the code, you can install and activate it as a plugin on your site.

Using the Twenty Eleven theme, the notice will be displayed on checkout as shown in the screenshot below.

Screenshot of Product Removed Notice

Product Removed Notice

How can I redirect customers to the cart instead of checkout page? ↑ Back to Top

When a customer adds a subscription product to the cart, they are redirected to the checkout page immediately. This is because only a single Subscription can currently be purchased at the same time, for now.

If you would prefer for the customer to be redirected to the cart page, the following code can be installed and activated as a plugin on your site.

How can I repair the billing schedules for a subscription? ↑ Back to Top

If you have a plugin installed to view the scheduled tasks in WP-Cron, like WP-Crontrol, and notice that an active subscription’s next payment date is not scheduled, you can repair it with the following instructions:

  1. Go to: WooCommerce > Subscriptions (the Subscription Management screen)
  2. Hover over the subscription missing a payment date
  3. Click Suspend
  4. After the page reloads, hover over the subscription again and click Reactivate

This process will repair the next payment date scheduled for a subscription using the manual renewal process or automatic payments and a payment gateway other than PayPal. If the subscription is using PayPal, you do not need to repair the billing schedule, it will be repaired when PayPal processes the next scheduled payment (in Subscription versions 1.4.4 or newer).

How can I offer a longer subscription length? ↑ Back to Top

Out-of-the-box WooCommerce Subscriptions allows store managers to sell subscriptions that last only as long as the longest length supported by PayPal Standard. Detailed information for developers on these limitations can be found in the PayPal developer documentation.

Custom 36 Month Subscription Length

Custom 36 Month Subscription Length

If you want to offer subscriptions for a different length, and you are not offering PayPal for payments, it may be possible to offer a custom length.

For example, the plugin below includes code to will offer a subscription that lasts for 36 months. You can change the 36 to any number you require and install it as a plugin on your site. However, please be aware, different payment gateways offer different possibilities for length. You will need to test this custom code thoroughly and although it is included here to help make the customisation, WooThemes can not provide support customisations. This code also requires WooCommerce Subscriptions 1.4.4 or newer.

What is the end_of_prepaid_term hook? ↑ Back to Top

If you’re inspecting the tasks scheduled on your site using a plugin like WP Crontrol, you may notice a hook named 'scheduled_subscription_end_of_prepaid_term' in the scheduled tasks.

When a subscription is cancelled, either by the store manager or subscriber, its status will be changed immediately and no payments will be charged in the future. However, the customer has already paid for the subscription’s current term. For sites selling virtual subscriptions, like memberships, it’s important to provide access to the virtual good for the entire prepaid term.

This hook accounts for that prepaid term. It is used by Subscriptions to assign the customer with the default cancelled role at the end of the prepaid term (if the customer does not have any other subscriptions). It is also used by other plugins like Groups to allow access to memberships and other virtual products until the end of the term for which the customer has already paid.

For example, a customer purchases a monthly subscription on the 15th March. On the 25th of March, she then cancels the subscription. The subscription is cancelled immediately, but she has prepaid for one month of access, until the 15th April. Therefore, the 'scheduled_subscription_end_of_prepaid_term' hook will be scheduled to run on the 15th of April. When that day arrives, the customer’s role will be changed to the the default cancelled role and any other plugins can change the customer’s status as required.

How can I customise the My Subscriptions section of the My Account page? ↑ Back to Top

To help your customers view and manage their subscriptions, WooCommerce Subscriptions adds a My Subscriptions section to your store’s My Account page.

If you want to customise the information displayed in this section, the template can be changed the same way core WooCommerce templates can be overridden.

The template is called my-subscriptions.php and is located under the /myaccount/ folder. To override it in your theme, copy the /templates/myaccount/my-subscriptions.php file found in the WooCommerce Subscriptions plugin folder to your theme using the location: /woocommerce/myaccount/my-subscriptions.php.

How do I enable search and sorting by next payment date? ↑ Back to Top

By default, WooCommerce Subscriptions disables some features on larger sites (i.e. stores with more than 2,500 subscriptions). The two most noticeable features that will be disabled are subscription search and sorting by the next payment date column of the Manage Subscriptions table.

These features are disabled because they do not work reliably on larger sites running on lower powered web servers. If you are confident your server has enough resources for the features to work correctly, you can install the code below as a plugin to enabled them.

How can I add a confirmation message on the my account page? ↑ Back to Top

By default when a customer clicks the suspend, cancel or renew button on her My Account page, the action is performed immediately.

If you wish to require the customer to confirm they want to perform the selected action, you can use a JavaScript confirmation dialogue by following these instructions:

  1. Copy the /myaccount/my-subscriptions.php template from the plugin folder into your theme’s folder at the location /woocommerce/myaccount/my-subscriptions.php. (Learn more about overriding WooCommerce templates).
  2. Find the line used to display the link button for each action. Its HTML is shown below and it is contained within a table cell with the class subscription-actions.
  3. Replace the link text with the new link text included below.

The original link will look like this:

<a href="<?php echo esc_url( $action['url'] ); ?>" class="button <?php echo sanitize_html_class( $key ) ?>"><?php echo esc_html( $action['name'] ); ?></a>

To display a confirmation dialogue, change the link markup to this:

<a href="<?php echo esc_url( $action['url'] ); ?>" class="button <?php echo sanitize_html_class( $key ) ?>" onclick="return confirm('<?php printf( __( 'Are you sure you want to %s this subscription?', 'woocommerce-subscriptions' ), esc_html( $action['name'] ) ); ?>');"><?php echo esc_html( $action['name'] ); ?></a>
Cancel Subscription Confirmation Dialogue

Cancel Subscription Confirmation Dialogue

How can I offer a Free Shipping coupon for Subscriptions? ↑ Back to Top

To offer customers free shipping for a non-subscription product, you can create a Cart or Product coupon with free shipping enabled.

Similarly, to offer a free shipping coupon that will work with a subscription product, you can create a Recurring Discount coupon and enable free shipping on it.

The reason a recurring coupon should be used is because a free shipping coupon only reveals the Free Shipping method as a shipping option, it doesn’t actually discount the shipping price. Because of this, there is no way to offer free shipping only for the initial order. To do that would require the customer to select the Free Shipping method for the initial order and then a different shipping method for renewal orders, but there is no way for a customer to select two different shipping methods for the one order.

How can I disable core subscription features, like changing payment methods? ↑ Back to Top

This FAQ item requires a basic understanding of PHP and WordPress development.

WooCommerce Subscriptions uses a centralised function to check if a given action can be performed on a subscription. For example, can the subscription’s payment method be changed or can its status be changed, e.g. cancelled. This allows WooCommerce developers to disable any action that can be performed on a subscription.

The following plugin could be used to switch off any of Subscription’s core features. Uncomment the line with the hook relating to the action you wish to disallow. For example, to no longer allow payment method changes in your store, you should uncomment the line adding a filter to the 'woocommerce_subscription_can_be_changed_to_new-payment-method' hook.

How can I remove a button from the My Subscriptions table? ↑ Back to Top

If you want to prevent a customer initiating a given action on a subscription, you can remove the button from the My Subscriptions table on the My Account page.

The following plugin demonstrates how to remove a button using the 'woocommerce_my_account_my_subscriptions_actions' hook. By default, only the Change Payment Method button is removed, but you can uncomment additional actions to remove other buttons.

If you want to remove a feature entirely from WooCommerce Subscriptions, you should follow the guide on disabling core subscription features as removing the button does not disable the feature completely.

How can I stop Subscriptions changing a user’s role?

By default, WooCommerce Subscriptions will change a user’s role when the status of their subscription or subscriptions change, as explained in the Role Settings document.

However, it is also possible to stop this default behaviour with a small amount of custom code. Below is a simple plugin to show how this can be done.

How can I ship physical products on a different schedule to the payment schedule? ↑ Back to Top

To help manage shipping on subscriptions to physical goods, WooCommerce Subscriptions generates a renewal order for each payment. That means if you want to ship a product monthly, you should set the payment schedule to bill monthly.

If you absolutely need to ship on a different billing schedule, the only option is to:

  • charge the entire subscription’s amount as a sign-up fee
  • set a $0 recurring amount
  • set the billing period to the shipping interval
  • set the length to be the total number of times the product will be shipped
One Year Subscription Shipping Monthly

One Year Subscription Shipping Monthly

There are downsides to this approach, including:

  • The subscription price will be displayed as $0 / month
  • A renewal order will be generated each month, with a $0 total for the subscription. This order will be visible to the customer on his My Account page and optionally emailed to the him each month (however, both the My Account and Email templates could be changed to remove this).
  • If customer suspension is enabled and the customer suspends or cancels a subscription that uses this pricing model, she may not receive items for which she has already paid.
  • You would also need to hide the Renew button on the My Subscriptions table to prevent a customer being able to renew a subscription without paying the sign-up fee.

Furthermore, there is no method for having a recurring billing schedule that differs to the recurring shipping schedule (for example, a subscription which charges $50 every 3 months but ships every month).

When using WooCommerce Subscriptions, the absolute best method for managing shipping is to use the same payment schedule as the intended shipping schedule. If you need to ship on a different schedule, please request it as a feature.

Why can a subscription product not be deleted? ↑ Back to Top

Subscription products can be trashed, but any subscription product that is associated with an order (i.e. has been purchased by a customer) can not be permanently deleted. This is to prevent causing errors with WooCommerce and other WooCommerce extensions that expect a product to exist when performing some of the operations related to a subscription, like processing renewal payments.

If you need to permanently delete a subscription product or subscription variation, you must first permanently delete all orders which include that product as an item.

This applies to simple subscriptions, variable subscriptions and subscription variations.

Does Subscriptions retry failed payments? ↑ Back to Top

Subscriptions does not retry failed payments. Instead, it implements it’s own failed payment handling system which makes it easy for the customer to pay for a failed renewal.

This system makes it possible for the customer to update the credit card or payment method used for her subscription so that future payments will not fail. This is important when the payment failure was caused by an expired or cancelled credit card. If the customer’s payment failed because her credit card did not have enough credit available for the recurring amount, this system allows her to login and complete payment once she has paid off the card rather than continually attempting to charge a full card.

Early versions of Subscriptions attempted to integrate with each payment gateways mechanism for retrying failed payments. However, some payment gateways don’t offer such a system at all and of those that do, each gateway handles the retry system differently and on different schedules. This lead to inconsistent behaviour and a lot of confusion for store managers. It also made it difficult to keep a subscription’s billing schedule – for example, PayPal could retry payments for up to a week before deciding to ultimately cancel the subscription. This meant a weekly subscription could not renew at all, but then potentially renew twice within a day one week later – quite confusing for both the customer and the store manager.

Ultimately, it was decided suspending the subscription and allowing either the customer or store manager to handle the failed payment was the best approach.

It may be possible to implement a new retry system in Subscriptions core that is more consistent and works with most payment gateways. But as with most features, this will only be added if enough store managers request it. If you would like such a system, please vote up the feature request on the WooCommerce ideas board.

If you want to receive an email notification when an automatic recurring payment fails, check out the Follow-up Emails extension.

Other Questions? ↑ Back to Top

Please contact WooThemes Support.

Back to the top