Modify WooCommerce Subscriptions to Allow Only Upgrades

    Pooja Mistry
Listen to this article
Upgrade Only!

If you want to sell products or services on your site, which require recurring payments, the WooCommerce Subscriptions plugin is the one you need. If you have to sell courses, or e-book subscriptions, or even membership, the plugin, provides you the needed functionality to set up subscriptions with different levels on your site. But just like any other readily available plugin, it is definitely not tailored according to your needs.

But, worry not! WisdmLabs is here for you. Recently, when working with the WooCommerce Subscriptions plugin, we discovered, that there were some restrictions when it came to subscription levels, and switching between the levels. So, we built a solution, which can allow you to do the following:

  1. Set Priorities for Subscription Levels
  2. Restrict Subscription Downgrade (Allow only Upgrades)

If you’re looking to add such customization to your WooCommerce Subscriptions plugin, our solution can help. So, want to know how exactly the above functionality is provided? Read on!


Subscription Levels: Upgrade and Downgrade

As such, subscriptions can have various levels. A level would basically be the value of that subscription. For example, you could have a subscription, plan A, which costs a buyer USD 90 for 3 months, or another, plan B, which costs USD 144 for 6 months. The WooCommerce Subscriptions plugin by default, allows a buyer to switch from one subscription level to another.

As per the plugin, an ‘Upgrade’ is when a buyer switches ‘up’ from his plan, to a plan which costs more on a daily basis (i.e., from plan B to plan A). And ‘Downgrade’, is just the opposite. It’s when a buyer switches ‘down’ to a plan which costs less than his original plan, on a daily basis (from plan A to plan B).

Although subscriptions levels could be valued on a monetary basis, evaluating the value solely based on ‘the price on a daily basis’, might not be acceptable for all. Some store owners might consider the absolute cost, or the duration of the subscription, to be of more value. For example, in the above example, plan A averages at USD 1/day and plan B is at USD 0.8 per day. However, the absolute cost of plan B is higher than plan A, and thus some store owners could consider plan B, to be at a higher level than plan A.

So, this is where you will need some additional settings. And this is where our solution comes into play. It allows you, the store owner, to set his or her own priorities for levels. These priorities will decide the level of each subscription.

Set Subscription Levels

Once you have decided the priority levels, it is simple to restrict buyers from downgrading their subscription plans.


Restrict Downgrade: Allow only Upgrade Subscription

As a store owner, you would not want buyers to downgrade their subscription levels, but the WooCommerce subscriptions plugin, does not provide an option to prevent this. Using our WooCommerce Subscription customization, you can instead, restrict the option to downgrade subscriptions, by selecting ‘Allow only Upgrades’. Once you select this option, buyers will be disallowed from choosing a lower level subscription plan.

Limit Subscriptions: Allow Only Upgrades

Once this option is selected, the ‘Upgrade Subscription’ button will be disabled for buyers, who have already purchased the highest subscription level. And will only be available for buyers, who can upgrade to a higher level subscription.

Upgrade Lower Subscription Levels

So, in the above example, buyers who have subscribed to plan A, can upgrade to plan B, but buyers who purchased plan B will not have the ‘Upgrade Subscription’ option.


The WooCommerce Subscription customization which we have provided can be really beneficial when you want to decide the priority for subscription levels based on your custom requirements. But it’s main functionality is to restrict buyers from downgrading their subscription level. Think this is exactly what you need in your WooCommerce store? We’d like to hear your opinion and suggestions, so do leave your comments, in the comment section below.

Pooja Mistry

Pooja Mistry

5 Responses

    1. Douglas, we do not have a ready to use plugin for this requirement. Would you be interested in a customized service?

  1. Hello, this seems like a good idea 🙂 i would like this plugin, but also what i would like is when using in conjuction with the Mix and Match, it to have the “Limit Subscription Option” which is available in the product type: Simple Subscriptions

Leave a Reply

Your email address will not be published. Required fields are marked *

Get The Latest Updates

Subscribe to our Newsletter

A key to unlock the world of open-source. We promise not to spam your inbox.

Suggested Reads

Join our 55,000+ Subscribers

    The Wisdm Digest delivers all the latest news, and resources from the world of open-source businesses to your inbox.

    Suggested Reads