WooCommerce Subscription Handling Surprises

When you use the Woo Subscriptions add-on for WooCommerce, subscriptions are handled very differently compared to most other competitors. This can lead to unexpected surprises for admins who expect to see subscription objects in the Stripe or Paypal dashboard.

In this article we’ll explain what WooCommerce does differently compared to other plugins and services.

The primary difference between WooCommerce and most other services is the answer to the question “who handles the renewal logic?”

Who Handles The Renewal Logic?

Renewal logic for subscriptions is extremely complex – and the more options for subscription types, the more complex the logic gets. Everything from leap year handling to proration and taxes needs to be done accurately and efficiently – there’s little room for errors when customer monies are involved.

For most subscription handling plugins and services, the payment processor (such as Stripe or Paypal) handles the renewal logic. This is because it’s easier for services to off-load the processing logic to someone else.

It also means that the payment processor is the one responsible for figuring out the exact date and time to trigger the renewal. When that occurs, it notifies the plugin or service that the renewal has been processed via a Webhook. The plugin or service then updates its internal records as needed – eg: keeping a license key active.

Easy Digital Downloads is a good example of an eCommerce plugin that handles things this way.

How WooCommerce Handles Renewals

The way WooCommerce does things is very different because it handles the renewal logic itself. it does not offload the logic to a payment processor.

This means that WooCommerce itself figures out when the payment is due and how much is due. It then tells the payment processor to charge the card for the renewal and updates its own internal tables as needed. This is the inverse of what we described earlier above for most other plugins and services.

There are some advantages to doing things this way. The major one is that WooCommerce is able to support more payment processors, especially ones that do not have very flexible subscription options.

It also makes the developer API easier because it can standardize the hooks without exposing the developer to a lot of vagaries that are associated with each payment processor’s api.

And, it can offer much more flexible subscription options.

Lost Subscriptions?

For admins who are used to handling subscriptions in the Stripe or Paypal dashboard, this can be confusing because there are no subscriptions shown in those dashboards.

So, if you’re looking at your payment process dashboards wondering why your subscriptions do not appear, it’s because they reside in WooCommerce.

Wrapup

A side effect to WooCommerce handling the renewal logic is this – If you’ve ever copied a WooCoommerce site to a new domain and see the notice about subscriptions being disabled, it is because WooCommerce wants to make sure that you don’t accidentally end up with duplicate customer charges. You definitely do not want two WooCommerce sites triggering the same renewal payments!

Before wrapping up this article, we should mention that there are 3rd party WooCommerce payment gateways that off-load subscriptions and renewal processing to the payment processor. But those alternatives also have their own tables and logic for creating and handling subscriptions for WooCommerce.

Note: WPCloudDeploy specifically uses Woo Subscriptions and do not support those plugins that have their own method for subscriptions and related renewals.

Was This Article Useful? Or do you have questions or comments about it (or our products & services)? We'd love to hear from you!

Please enter your name.
Please enter a message.
You must accept the Terms and Conditions.
Please check the captcha to verify you are not a robot.

Automatic Notification Of New Articles

Sign up to get automatic notifications of new articles.  This is a different list than our standard list - you only get new articles once a week (usually on Mondays).  No other emails will be sent unless you sign up for our general list as well.

Posted in