• Skip to primary navigation
  • Skip to main content

Thomas Le Coz

I'm a Hacker

  • About

Sell by installments with WooCommerce Subscriptions

Last updated: August 7, 2020 60 Comments

WCInstallments

This article follows my previous one making WooCommerce Subscriptions compatible with LearnDash. I’m going to sell a LearnDash course by installments.

It fits my need but might not be usable in your specific case. If so, please use the comments below: I’d love to know more about your situation and what you’re trying to sell by installments with WooCommerce ;)

Let’s get to it.

What’s a payment by installments?

Stupid question, right? But defining it helped me hacking my way through.

It’s like a credit. Rather than paying in full and get the product, you access the product and pay in installments.

The 2 main differences with a membership (on how money moves) are:

  • it’s for a limited number of payments whereas most memberships are lifetime until you stop paying
  • when you stop paying and if you’ve paid all scheduled payments, you still have access to the content. On a membership site, when you stop paying your membership fee you can’t access the member’s area anymore.

Now, the main difference is taken care of by most membership plugins. Even if it’s not the most popular option, it’s an option that people use for their site. WooCommerce Subscriptions allows you to make subscriptions that have a definite time limit.

WooCommerce Subs as Installments

Let’s get to main difference #2.

How to keep content access at the end of the subscription

Thanks to the wonderful API provided by WooCommerce, it’s extremely easy. With LearnDash’s WooCommerce extension, I just have to remove the hook from the constructor.

Because I still want to lock access when someone stops paying, I’ll keep the two other hooks active.

And here it is. We can now create a product and sell it by installments just by selecting “simple subscription”. Then you just have to configure the payment schedule.

But wait. Right now, if we want to offer different payment plans it’s not as clean looking as it could. We still have two WooCommerce products for one virtual product. This means two sales pages, with different reviews, etc. Not cool for the shop manager and a nightmare for the user flow.

Here’s my hack.

Creating a WooCommerce grouped product to give different payment plans

A solution I tried was to use product variations. I hacked my way through creating a free subscription with a sign-up fee and a more classic subscription for the installment plan. It generated more problems than solutions. I needed to package a simple product and a subscription product.

Using product variations wasn’t a solution because I wanted to link two different kind of product:

  • a simple one (one-time payment)
  • one or several subscriptions (installment plans)

Especially after talking with Michael at the WooCommerce support and trying various hacks. I wasn’t sure how to approach the problem.

WC Support Email

Don’t get me wrong, the support at WooCommerce is really good. I just wasn’t satisfied with having two different products with two different sales pages and reviews.

Fortunately, I stumbled upon WooCommerce’s grouped product option. It is not only free but also included in the default plugin.

Here is how I’ve done it:

  • I’ve created a WooCommerce grouped product for the course
  • and associated the two products (only differentiated by their payment method) to this group

From there I only have to drive the customers to the product group page and let them select how they want to pay.

product-group

Cleaning up

In order to tidy up your archive and search pages, you might want to set the visibility of the products you grouped to hidden. This way they’ll only show up on the grouped product sales page ;)

WC Product Visibility

Conclusion

I hope this little trick helps you. After looking around, I haven’t seen a lot of good options to sell by installments on WordPress. Using WooCommerce let your options open for growth and new marketing tactics (affiliation, …).

Again, this works for me but you might have a different situation and have to tweak a bit.

If you’ve found a more elegant solution, please comment I’d love to hear about it :)

 

Filed Under: Blog, Tech

Copyright © 2025 · THOMAS LE COZ

Privacy Policy

Copyright © 2025 · Maker Pro on Genesis Framework · WordPress · Log in