How To Set Up Subscription Payments In OpenCart

So this is the first blog post we will publish on OpenCart 1.5.6 and in it we will be looking at how to set up the new brand new subscription billing system. With this brand new feature exclusive to OpenCart 1.5.6 and higher, store owners can set up billing profiles which take advantage of PayPal’s popular subscription payments to expand the range of products and services they can sell through their store.

Creating A Subscription Billing Profile In OpenCart

So first off we will look at creating two different types of billing subscriptions for your OpenCart store, one to take advantage of trial periods and one to start billing straight away. Install the new OpenCart 1.5.6 version on your server or upgrade your store to the newest version (you can follow our handy guide to upgrading OpenCart if you’re running a store over 1.5+) and login to the admin section of your store.

If you hover over the “Catalog” link in the nav bar you will see the new “Profiles” link in the drop down. This section is for creating the billing profiles which can be assigned to particular products later on. By setting it up this way, you can have an unlimited number of pricing subscriptions for your OpenCart stock and assign the ones you need.

First off, lets create a billing profile which charges the customer every month with a one month trial period where no payment is taking. For store owners running an OpenCart store where they offer web hosting services, this is a popular billing profile and gives the customer a month to try out the service and decide whether they like it well enough to stick with it. In this example we will be under the assumption that it will be a £9.99 payment every month indefinitely. You will see a form like the image below on the new profile page:

OpenCart Billing Subscriptions


In the first section we set up the subscription settings and in the last section we create the trial period. Give your billing profile a name which will be obvious to you what it is later on and a sort order when listed with the other profiles. I’ll call my example billing profile “Monthly Billing With Trial”.

Set the status to “Enabled” and the price to “9.99”. Note that the price is worked out like products, the 9.99 will be in the default currency and it will be converted according to the current exchange rate if you offer other currencies to customers. The next option, “Duration”, means how many cycles would you like to continue the subscription for. If I wanted to bill the customer for 6 months then I would put 6 in this box, since I don’t want to set an end date, I will leave it at zero to keep the billing subscription going until the store owner, or the customer, cancels it.

The next two sections are linked together. The “Cycle” and the “Frequency” are combined to define how often the customer is charged. So, if I wanted to bill the customer every 6 weeks I would put Weeks as the “Frequency” and 6 as the “Cycle”. Since in this example I want them to be charged once monthly, I’ll put in the “Cycle” and Month in the “Frequency”.

Everything up to this point has set up the billing profile for the customer, so far the customer will be charged £9.99 every six weeks until the payment fails or is cancelled by me or the customer. If that is all you wanted then we could leave it there but since we will be offering a trial period to the customer we will follow the rest of the form.

Activate the trial by setting the next drop down box to “Enable”. The Trial price allows you to set up a discounted rate for the trial duration, since I am offering a free trial, I will set the price at 0. The “Duration”, “Cycle” & “Frequency” all work the same way as the main payment setup. Be careful not to leave the “Duration” as zero as that will mean the trial period goes on indefinitely, I’ll set it as 1, “Cycle” as 1 and “Frequency” at Month.

Now click save and the first billing profile is set up! My billing profile charges the customer £9.99 a month indefinitely with a one month trial period which is completely free for them. If you want the billing to begin straight away, you simply leave the “Trial Status” dropdown box as “Disabled” and leave the last four text boxes empty to not offer a trial period.

Assigning a subscription payment profile to a product

Offering subscription billing to your OpenCart store is done on a “Per Product” basis. So, if I’m working on a sample installation and want to offer a subscription payment profile to the MacBook then I will head to Catalog->Products and click “edit” on the MacBook to enter the product form. There is a new tab along the top called “Profiles” which you can see in the image below:

OpenCart Billing Profile on Product Admin Forms


Clicking on that allows you to assign multiple payment profiles to a product for customers to choose from. There is another option to only allow the subscription to be used by a particular customer group, this allows the store owner to only offer subscription billing profiles to customers who have already been vetted. This is useful for those offering monthly payments to customers who have already been credit checked or referenced externally. So, in my example, I will set the billing profile I have created to the default customer group and then click save.

Best uses for OpenCart Subscription Billing

The OpenCart 1.5.6 release expands the possibility for store owners in two ways: to offer customers services and products which require regular payments which can all be tracked and recorded via OpenCart and offering more advanced payment solutions to customers. OpenCart store owners can now use subscription billing to allow credit options for products which breaks down the price over a certain time period, or offer services like Web Hosting or IT support which require a regular payment from customers.

Moving forward I would like to see an integration with the popular PayPal service “Bill Me Later” which gives financing options to customers and allows store owners to credit check and secure themselves automatically without having to manually vet each customer personally and then update their customer group.

Leave a Reply