I have spent the last few days mostly dabbling between development of eCommerce systems and learning management systems. So, recently when I chanced upon an opportunity to Integrate Moodle with WooCommerce it was like a dual whammy on me! But me being me, I remained undaunted and started work on the Integration of Moodle (the king of all learning management systems) with WooCommerce (One of the best and most used eCommerce platforms).
So, here’s what was actually required!
The task was to synchronize Moodle courses with the WooCommerce store. These synchronized courses will then be sold from the WooCommerce shop as products.
Following a mountain of research this functionality was completed. Yes I did it!! 🙂
But while I was at it there was a hiccup…there was a requirement to offer installment plans on the courses and as some of you might know there isn’t any extension available in the market to provide installment plans. So I had two options either develop one from bottom up or use WooCommerce Subscriptions to formulate the most cost effective workaround. And yes the second option is the one which I chose 😉
How to use Subscriptions to Offer Installment Plans on Products
So, the foremost question I suspect is arising in your mind is how to use WooCommerce Subscriptions plugin to achieve the installment plan functionality for products in your WooCommerce store.
1. Install Subscriptions Extension
The first step would be to install the WooCommerce Subscriptions extension on your WooCommerce website. As the name suggests this plugin provides users with a functionality to sell products as subscriptions as opposed to selling them outright.
2. Set Product Type to Variable Subscription
The product that needs to be sold with an installment plan should be set as Variable Subscription.
3. Select Payment Mode
The WooCommerce Subscriptions Plugin should be customized to allow the users to select the payment option the user wishes to set for a particular product. Here the user will select the Installment mode as the preferred mode of payment to apply the installment plan functionality.
4. Add Subscription Attributes
In the attributes tab on the product page of the dashboard the user will have to define an attribute with various values. The attributes and its values are primarily the various installment plans the user can avail. The image below is an example of the attribute with values.
5. Link Values
All the values defined in the attribute tab should now be linked to the variations that are added for each product. Now once all values are linked to variations the customer can add and subtract variations as per requirement. Take a sneak peak of how it will look below.
6. Settings for each Variation
The final step of the process would be to set values like subscription price, number of months etc and the variation should be enabled for use.
How the Installment Plans will Work?
- Let us assume certain courses are being sold under the installment plan. Now, when a customer lands on a course page he can choose any one of the payment methods that have been defined in the attributes tab of the dashboard. Let us assume the customer chooses the 3 month installment plan which requires the customer to pay an X amount per month for three months.
- The user will make the first payment and get access to the course. After the end of the first month the customer will be required to pay the second installment of the course. In case the customer defaults on installment the customer’s access to the course will be suspended.
- At the end of the subscription period the system will check the payment mode of the course. If the payment mode selected is Installation Mode then all further payments will be suspended and the product will be available to the user continually. This check is made by customizing the WooCommerce Subscriptions plugin using hooks provided by the plugin.
Some might argue that this is a crude work around. Well it is! But if you are getting the installment plan functionality along with subscription functionality then in my opinion it’s absolutely cost effective solution fulfilling the requirements with a few customizations. if that’s the case then I would say why not right? If there are any questions or suggestions related to the post feel free to connect with me in the comment section. I’ll get back to you as soon as I can!
Images by freepik