Chat with us, powered by LiveChat

This website uses cookies

Our website, platform and/or any sub domains use cookies to understand how you use our services, and to improve both your experience and our marketing relevance.

WooCommerce Subscriptions Setup in Simple Steps

November 28, 2019

6 Min Read
Reading Time: 6 minutes

Subscriptions are popular tactics that eCommerce stores employ to increase sales. The good part about subscriptions is that they fit right into the store’s email marketing campaigns. Over time, stores build up huge email lists that can be “harvested” for sales.

In this guide, I am going to tell you how you can take advantage of WooCommerce subscriptions. Before diving into the article, let’s go through the outline below.

What is WooCommerce Subscription?

WooCommerce subscription is a great way of generating recurring sales from your customers. Similarly, subscriptions are an important option for setting up recurring billing for digital products sold at membership sites.

Subscriptions are often a valid sales option for recurring billing for physical products. A popular business scenario is the Something of the Month Club where you send your customers a box at fixed intervals. In such models, the customers actually buy subscriptions that get renewed after expiration.

WooCommerce Subscriptions Plugins

I will now mention several WooCommerce subscriptions extensions that would help you set up and automate recurring sales-focused subscriptions at your stores.

WooCommerce Subscriptions by WooCommerce

WooCommerce Subscription by WooCommerce

WooCommerce Subscription by WooCommerce essentially add a new payment method to your Woo store. Granted that it is a paid extension, but it is money well-spent. The plugin greatly streamlines the process of setting up and managing a WooCommerce subscription offer.

Subscriptions for WooCommerce by WebToffee

Subscriptions for WooCommerce by WebToffee

WebToffee for WooCommerce subscriptions is another great plugin that you can use for creating and managing recurring payments and billing at your store. Although it is a paid plugin, you can try the plugin for free before buying the full license.

Subscriptio – WooCommerce Subscription


Subscriptio is another premium WooCommerce subscription plugin that is a great option for selling products like online memberships, e-learning packages, magazine subscriptions, and similar tangible and intangible products.

Yith WooCommerce Subscription Plugin

Yith Subscription plugin

Yith WooCommerce subscription is a freemium plugin that simplifies the process of offering subscriptions to your visitors. This is an ideal plugin for creating subscriptions for videos, podcasts, courses, reviews, pretty much anything that you can offer to your customers on an installment basis.

As I mentioned before it’s a free plugin, so I will use it in this guide. So let’s move on to the installation process.

YITH WooCommerce Plugin Installation

  1. First thing first, I assume you have a specialized WooCommerce web hosting and the store is already installed and set up.
  2. Download the WooCommerce official plugin. Next, Install and activate it.
  3. Download YITH WooCommerce. Go to Plugins > Add New then search YITH plugin. Next, Install and activate it.

YITH WooCommerce Plugin Installation

Configure Simple Woocommerce Subscription

Before utilizing YITH WooCommerce Subscription, make sure that the option Enable Subscription has been activated in YITH Plugins >> Subscription.

Note: By default, the option is enabled.

enable subscriptions

Select the Subscription Product

Select the product that you need to associate with the subscription, the option is available under the product, for further ado see the screenshot below.

Select the Subscription Product

You can set the cost for the subscription plan, adjust the frequency for payment and the price range of the subscription.

price range of the subscription

The price of the subscription needs to set as follows: Users are required to pay a fixed amount (Regular Price) each day/month for the number of days/months you set for the subscription.

The field Max Length is optional. Leave it empty for a perpetual subscription.


I strongly suggest that you enable the option Sold Individually accessible in the product edit page, as it would make no sense for the same user to buy the same subscription plan twice.


Result of the Product

Now you can see how the customer will see the product.

Result of the Product

This is the cart page.

Cart page

After clicking Proceed to Checkout button, you can see the checkout page.

checkout page

Congrats! You have created a sample subscription that charges the user $30, every 30 days.

Payment Methods

The subscription officially begins when the order is submitted and authenticated. Installments could also be set up at WooCommerce > Settings.

Among all payment methods accessible, PayPal is the single one that could be configured to collect recurring subscription fees automatically until the subscription expires or is canceled. In the case of funds in the concerned PayPal account not enough for the subscription, the subscription will be automatically canceled by the system.

On the off chance that you set some other payment method, it will be up to the users to remember the recurrent payment due date and send the amount to the website in order to continue the subscription.

List of Subscriptions

You can easily find all subscribers and subscriptions. Just go to YITH Plugin > Subscription > Subscriptions.

List of Subscriptions

Cancel Subscriptions

If you want to cancel the subscription for some reason you just have to select the subscription and click on the “Delete” option.

Cancel Subscriptions

WooCommerce Subscription Status On Hold

It is easy to set up subscription payments on WooCommerce stores which I have already explained to you above section. In many cases, subscription payments set up recurring payments that could be collected at preset intervals.

WooCommerce Subscription activates when the order changes to Processing (and above). This is ideal for subscription-based payment models but not so great for Cash on Delivery (CoD) payment option.

In the case of CoD, the order status moves directly to Processing. This means that the buyer would have access to the product even before the payment is cleared. This often proves to be a challenge for eCommerce stores that operate on the subscription model.

Read More: Custom WooCommerce Order Status Guide

In many cases, store owners need to put this behavior on hold so that they could collect the payment before the product is delivered. Fortunately, WooCommerce offers a simple way of implementing this behavior.

Put the following code snippet into the functions.php, which is located in the theme folder.

function cw_suspend_subscription( $order )
 if ( ! is_object( $order ) ) {
 $order = new WC_Order( $order );
  foreach ( WC_Subscriptions_Order::get_recurring_items( $order ) as $order_item ) {
  $cw_key_subs = WC_Subscriptions_Manager::get_subscription_key( $order->ID, WC_Subscriptions_Order::get_items_product_id( $order_item ) );
  $payment_gateways = WC()->payment_gateways->payment_gateways();
  $payment_gateway  = isset( $payment_gateways[ $order->recurring_payment_method ] ) ? $payment_gateways[ $order->recurring_payment_method ] : '';
  if ( $payment_gateway->ID == 'cod' && $order->get_status() != 'completed' ) {
  WC_Subscriptions_Manager::put_subscription_on_hold( $order->user_id, $cw_key_subs );
add_action( 'updated_users_subscriptions_for_order', 'cw_suspend_subscription' );

Code Explanation

The code snippet starts with checking the payment gateway. If the CoD option is selected, it further checks the order status. If the order status is not Completed, the code changes the subscription status to On Hold.

Because of this change in the subscription status, the customer will not be able to use the product/service before the payment is received. The good thing is that there is no need to manually change the subscription status once the payment has been received. Once the status of the order changes to Completed, the subscription’s status changes to Active.

Final Thoughts!

I hope this blog helps you out in setting up a WooCommerce subscription for your website. Also In this tutorial, I covered the scenario where the subscription status affects product delivery. By using a simple code snippet, the store owners could modify the status of the order to ensure that payments have been received before product delivery.

If you need clarification or have a question, please leave a comment below.

Share your opinion in the comment section. COMMENT NOW

Share This Article

Your WooCommerce Store Needs A Reliable Host

With no compromise on Performance, Security & Support.

Saud Razzak

Saud is the WordPress Community Manager at Cloudways - A Managed WooCommerce Hosting Platform. Saud is responsible for creating buzz, spread knowledge, and educate the people about WordPress in the Community around the globe. In his free time, he likes to play cricket and learn new things on the Internet. You can email him at

Get Our Newsletter
Be the first to get the latest updates and tutorials.

Do you like what you read?

Get the Latest Updates

Share Your Feedback

Please insert Content

Thank you for your feedback!

BFCM 2019