You’ve decided to take the leap. You or your client is going to start an online business.
You’ve chosen WooCommerce and WordPress to power your store. You’re planning to include a subscriptions component to sell more with less work.
You’ve made some great decisions already, but that doesn’t mean it’s going to be easy!
WooCommerce Subscriptions now powers recurring payments for more than 15,000 stores. Over the last five years, as part of the team developing the software, I’ve learned a lot about subscriptions from a technical perspective and want to share these lessons.
Taking 10 minutes to read this article, then acting on its recommendations could give you a return of weeks and thousands of dollars in savings.
I’m going to focus on three important areas:
- Choosing a host
- Choosing a payment gateway and extension
- Being discerning with code you run on your site
Let’s first look at why this information matters.
The greater responsibility required by open-source subscription software
With WooCommerce Subscriptions, you have almost complete ownership and control over your billing. Recurring payments data is stored and executed from within your WooCommerce store. The store’s database and application are within your control.
Compared to closed-source SaaS billing software, this level of control makes WooCommerce Subscriptions unique. Even other open-source options pass responsibility for processing scheduled payments to the payment gateway.
This design gives power and flexibility to you and your store more than any other subscription software solution. If all goes well, your business will be running for many years, and subscribers who sign up today will still be actively subscribed to your store in 10 or even 20 years. That’s one of the great things about owning your data and using open-source software – everything you have now is yours as long as you need it.
With that power comes responsibility. Making the right choices at the start will pay dividends and keep your subscriptions running smoothly. Bad decisions can cost you money for fixes and in lost subscribers.
Allow the points below to guide decisions for your subscription store in the immediate future and years to come.
Choosing a Host for WooCommerce Subscriptions
Hosting is your real estate. Choose great real estate, and your business will flourish. It’s the single most important choice to get right at the start.
With WooCommerce Subscriptions, you control your billing data and application. That’s why hosting is critical. Your hosting is responsible for your payments.
WooCommerce Subscriptions Hosting Recommendations: Pagely, Pressable, and Pantheon
After working with thousands of support tickets, I’ve consistently seen Pagely perform best with folks we’ve recommended to them.
We’ve also seen many stores find success with Pressable and Pantheon after having trouble with other hosts.
LiquidWeb is a new entrant and investing more than anyone to create an excellent platform for WooCommerce. For example, a visual comparison for automatic updates. At the time of writing, I can’t recommend them based on personal testing but encourage you to check them out.
Choosing a host for WooCommerce Subscriptions isn’t as simple as finding a good WordPress host. Your store is more than just a WordPress site. It’s a recurring billing application. Look for a host suited to running a web application, not just a blog.
For example, some hosts enforce strict script timeouts. The longer WooCommerce Subscriptions is allowed to run processes, the faster it can process payments. If you are synchronizing recurring payments on a host that enforces a timeout that can not be extended or removed, the timeout will become troublesome as your store grows as payments will be processed more slowly than if the timeout wasn’t present.
It is a time-consuming and costly process to change hosts, so it’s worth picking the right one up front that can grow with you.
Sidenote: We haven’t done formal or extensive testing of WooCommerce Subscriptions performance on most hosts. If an official hosting guide would be helpful to you, please let us know.
Payments for WooCommerce Subscriptions
The next important decisions you make are around payments.
When customers create subscriptions with your store, the payment gateway saves their payment data. To switch, you need to:
- Migrate all payment data to the new payment gateway, then sync it with your database in WooCommerce. Migration is only possible with some payment gateways that offer payment data portability.
- Cancel all automatic payments in the existing gateway, and ask customers sign up again with the new gateway.
These are both time consuming and expensive options you can avoid by starting out with a future-proof payment gateway.
1. Choosing a Payment Gateway
In my experience, the best payment gateway for WooCommerce Subscriptions is Stripe. I’ve seen thousands of small and large stores use it with great success.
Braintree via PayPal and Authorize.net CIM are also excellent options.
All three payment gateways have user-friendly dashboards and modern APIs. Plus there are dependable WooCommerce extensions to connect them with your store.
What if those three gateways don’t work in your region?
Not all merchants can access these payment gateways. Your store may be in a country they do not support. Your product catalog may see you classified as a prohibited business.
In these cases, you still have many good options. And there are also many you should avoid.
To choose a payment gateway you can depend on, look for:
- Data portability for your payment tokens, e.g., Credit card numbers
- Support for automatic recurring payments with your customer’s preferred payment methods
- A modern payment method, not just a popular one
Portability for Recurring Payment Data
Some payment gateways allow you to port your payment data, such as credit card numbers, to a different payment gateway if you choose to switch. That means you can change gateways without requiring your subscribers to sign up again.
If a payment gateway offers data portability, it’s a signal of how the business intends to compete in future. It demonstrates an intent to keep fees, functionality, and customer service competitive.
If a payment gateway locks in your data, it may be a tactic to keep you even if their offering falls behind the competition.
Automatic Recurring Payments with your Customer’s Preferred Payment Methods
Many payment gateways offer support for different payment methods such as credit cards, direct debit, or ACH. This doesn’t mean they are able to perform automatic recurring payments.
For example, a payment gateway may offer direct debit for one-off payments, but no API to automatically pull direct debits in the future.
In most cases, you need a “token” for a WooCommerce extension to be able to process automatic recurring payments. Find out if tokenization is supported for that payment method. If it is, then it should be possible to charge automatic recurring payments.
Modern Payment Methods
Payment technology has improved a lot in the last decade. Older, more established players sometimes carry the legacy of their early days.
This doesn’t mean you need to use a new entrant like Bolt. In my experience though, it does mean choosing a 5-10 year-old company will result in a better experience than using a 10-20 year-old company.
2. Choosing an Extension
Once you’ve chosen a payment gateway, you also need to select a payment gateway extension for WooCommerce. There are three things to consider here:
- Subscriptions feature support
- Reputable extension developer
- Automatic recurring payments for your customer’s preferred payment methods
WooCommerce Subscriptions Feature Support
Choose a gateway that fully supports WooCommerce Subscriptions when possible. This helps you get the most out of your store. To see a breakdown of supported features, go to: Subscription Payment Methods & Gateways.
Features in that guide are also base functions for many others in Subscriptions. For example, support for recurring total modifications also unlocks the ability for:
- Customers to upgrade their subscriptions
- Store owners to modify future payment amounts
- Subscriptions to automatically retry failed payments and capture additional revenue.
When an extension supports all features, it’s a good indication that the payment gateway provides modern APIs.
Reputable WooCommerce Extension Developer
Most payment gateways have more than one WooCommerce extension available. Even if the payment gateway is reliable, a poorly coded extension can affect your recurring payments – sometimes to the point of not processing.
Choose a WooCommerce extension from a well-reputed developer.
SkyVerge is the leader in the field here. If you see the SkyVerge name on a payment gateway, you can trust it is first class. Fortunately, they’ve built extensions for many payment gateways.
Support for automatic recurring payments with your preferred payment methods
An extension will sometimes not have support for recurring payments, and sometimes it’s not possible to add it.
If you can’t see whether a payment method supports automatic recurring payments, contact the developer and find out.
Cost Considerations for Choosing a Subscriptions Payment Gateway
Finally, when it comes to payment gateways, higher fees do not mean higher costs.
Some gateways have arduous configuration requirements that will cost you and your team time.
Paying $79/year for a premium payment gateway extension could end up saving you the cost of migrating from a cheaper or lower quality extension.
Payments are the fuel for your subscriptions. View fees as an investment in a smooth relationship, not as a cost.
Be Discerning with Code Added to Your Site
WooCommerce is an open system. That provides you with many advantages. It also means one weak link can take down other functions of your store.
In the case of WooCommerce Subscriptions, this can be serious.
If you add a plugin that introduces an error on the same day a few hundred recurring payments are processed, those payments may fail. It’s rare but possible and easily avoided.
To avoid nightmare scenarios like this:
- Establish a good update and testing process for updates.
- Be selective about code you add to your site.
Test Recurring Payments
Before updating plugins on your live site, update them on a staging site and test a recurring payment. This serves as a good indicator that your live site won’t experience interruptions to recurring payments once plugins are updated. Note: Subscriptions switches to ‘staging mode’ on staging sites, so won’t go through the full payment process.
To overcome this, choose a workflow that separates your application code from your database, then:
- Create a development site.
- Import 100 test subscriptions from a CSV, with payments set to process in 10-15 minutes.
- Make sure payments all process with your updated plugins.
You need not to run this test for every plugin update. It’s best to run it once for the entire system with all plugins updated; in rare situations where something is wrong, work to isolate it.
An easier way to test recurring payments is to use Robot Ninja. We’re currently exploring how to have it run regular recurring payment tests similar to its live payment tests for checkout.
Choose Good Quality Code
Code for your store comes from your theme, plugins, and custom code added by you or hired developers.
Every piece of code adds a new vector for failure. Be ruthlessly discerning in the code you add.
Choose a plugin or theme that has publicly available feedback, e.g., review system on WooCommerce.com extensions.
Ideally, also get in touch with existing customers to hear their experiences. You can do this via community channels, such as a local WooCommerce meetup or the WooCommerce Community Slack.
Remember, saving $50 on a plugin could cost you thousands in lost revenue from payment failures or time fixing issues. A lower price does not always mean a lower cost.
Find a developer with previous relevant experience. WooCommerce Subscriptions is a complex system. Developers with experience will create solutions more quickly and avoid common pitfalls.
Every piece of code adds a new vector for failure. Be ruthlessly discerning in the code you add.
Three agencies with deep Subscriptions experience are Saucal, Silicon Dales, and Mindsize. It’s wise to get references from clients they worked with for a year or more.
With subscriptions, time horizons matter. A plugin may start off fine, but problems may arise after the 100th renewal or 10,000th subscriber. An agency might get a job done on time and within budget, but six months later an undiscovered bug could cause issues.
Custom Code and Missing Features
One last note on custom code.
We’ve released over 100 new versions of Subscriptions in the last half-decade, bringing new features and functionality. There are many different ways to sell and manage subscriptions, and there are more features to add for merchants to achieve that.
If your business doesn’t urgently need a feature, wait for WooCommerce Subscriptions to include it.
We publish what’s planned in an upcoming release on the Feature Roadmap, and we prioritize feature requests by the number of votes.
You get access to new features as long as your subscription with WooCommerce.com is active. Apart from being cheaper, it is almost always be more robust and future-proof than anything that’s custom built. When developing features, we apply arduous quality assurance to make sure code we ship is ready for use on 15,000 stores. This approach means we take time to ship new features, but you can rely on them once they’re available.
We do a release about once per year but sometimes beta versions are available six or more months in advance. If you want early access to a feature, contact Prospress support.
Wishing you Success with Subscriptions
Congratulations! You now know everything you need to succeed with WooCommerce Subscriptions.
To summarize my recommendations:
- Hosting: Your store will be on solid ground with Pagely, Pressable or Pantheon.
- Payment Gateway: Use Stripe, Braintree via PayPal or Authorize.net CIM, and your store will enjoy a good relationship for many years.
- Custom Code: Saucal, Silicon Dales, and Mindsize are agencies with significant Subscriptions experience. Wait for features to be added to Subscriptions core when possible.
Good luck on your entrepreneurial journey!
If you’re moving towards subscriptions, following the guidance in this post means the technical side of things will be set up for success. If you do run into stormy weather, don’t hesitate to contact Prospress support.
EDIT: 28 February 2018 – The section on hosting timeouts was updated to reflect that WooCommerce Subscriptions does not need to be allowed to run processes for longer, but will process payments faster when it can run for longer.
Brent Shepherd thinks WooCommerce is the best thing to happen to the web since WordPress.
He’s been working with WooCommerce since 2011. In addition to being the original developer of WooCommerce Subscriptions, he is co-organizer of the WooCommerce San Francisco meetup, provided a technical review on the first WooCommerce book, and has given talks about WooCommerce on three continents.
On the heels of WooCommerce Subscriptions success, Brent founded Prospress with the mission to help people prosper with WordPress, using WooCommerce, of course. Prospress also produces Small Woorld and Robot Ninja.
Wondering how WooCommerce Plugin Developers are working way around Gutenberg release.
There’s some very interesting work being done on this by the WooCommerce core team which you can keep track of here: https://github.com/woocommerce/woocommerce-gutenberg-products-block
Nice write-up Brent. We’ve been growing our managed hosting business (LittleBizzy) for 3 years now on the WooCommerce Subscriptions plugin, and have had zero issues. Every single month, hundreds of synced subscriptions renew via Stripe flawlessly.
It’s been exciting to build a hosting company with WooCommerce this way, because the majority of our clients are also running WooCommerce. Everything that we learn from each other is knowledge re-invested into our services and hosting environment.
Keep it up, Prospress. Cheers!
Thanks for sharing LittleBizzy Jesse. I love seeing businesses built-on WooCommerce serving others businesses using WooCommerce. A virtuous cycle!
The Dunning Master plugin you’ve got coming soon also looks super cool. Be sure to get in touch if there’s anything I or Prospress can do to help. 🙂
Great post. I agree that host is the backbone for woocommerce. Was checking LiquidWeb from few days but not sure how is it. Not got any satisfied review till now.
Hi Apoorv, LiquidWeb’s offering is still so new it won’t be possible to make a choice based on the experience others have had on the platform (and shared publicly).
The team is focusing more on WooCommerce than any other major player I’ve seen, this gives them a chance to create something great. If you are looking for a host now, I would definitely recommend contacting them and running your own tests on the platform.
I am in the process of creating a test site on their platform to see how it performs with 100,000+ subscriptions renewing at the same time. It will be a few weeks before I have results and I don’t plan to publish those publicly yet, but if you’d like to see them, just let me know via our support form: https://prospress.com/support/ 🙂
Your link says “Pantheon” but links to Siteground….
Thanks for the heads-up James. I’ll get that fixed up!
It is very important to discover the correct customer profile, with sales getting important when you are starting the business you may end up having a client that is lot of time consuming.
Is there a way to successfully run Woo Commerce subscription plugin using Elavon without tokenization. Elavon informed they can add recurring feature to my account without tokenization and it should work, but so far no luck. Can Woo Commerce subscription work without tokenization set on my merchant account?