Subscription Renewal Process

WooCommerce Subscriptions is a premium WooCommerce extension

This guide provides information about the actions which are taken when recurring payments are handled by the WooCommerce Subscriptions extension.

If you haven’t already, you should read the Subscriptions guide for Store Managers to get a more general introduction to working with the Subscriptions extension.

Recurring Payments & the Renewal Process

A key feature of a subscription is a recurring payment – a payment due at a regular interval over time. These payments are the foundation block of a larger renewal process in the WooCommerce Subscriptions extension.

Subscriptions performs a number of tasks as part of renewal, including generating an order to record payment, emailing both you and the customer via email of the renewal and sometimes, processing the payment. The actual tasks performed differ depending on which method is being used to process the renewal.

Subscriptions offers two methods for handling renewals:

  1. Automatic renewal
  2. Manual renewal

Manual vs. Automatic Renewals ↑ Back to Top

This table summarises the differences between manual and automatic renewal methods.

Manual Renewals Automatic Renewals
Customer Involvement The customer must login to your store and pay to renew the subscription. No action is required by the customer to renew the subscription.
Subscription Status The subscription is put on-hold until customer has completed payment. Once payment is complete, it is changed to active. The subscription remains active, as long as the payment succeeds. If automatic payment fails, it is put on-hold until the customer logs in to make the payment.
Payment Gateways All payment gateway extensions can be used to process manual renewal payments. The customer can choose a different payment method for each renewal payment. Some payment gateway extensions support automatic renewals. The Subscription Payment Gateway Guide includes a list of extensions which support automatic renewal payments. The same payment method will be used for all renewal payments (unless payment fails).
Changing Address The customer can enter a different billing and/or shipping address for each renewal. The same billing and shipping address will be used for each renewal. This is the address used on the original order. The customer can change that address for renewal orders to use a different address.
Email Notifications If enabled, the Customer Renewal Invoice will be emailed to the customer to prompt her to login and pay to renew the subscription. After the customer has completed the payment, he will receive the Processing/Completed Renewal Order email and the New Renewal Order email will be sent to the Store Manager. If enabled, the Processing or Completed Renewal Order email will be sent to the customer as a record of the automatic payment. The Store Manager will be emailed the New Renewal Order notification immediately as the payment will be processed immediately.

Automatic Recurring Payments ↑ Back to Top

With automatic payments, a recurring payment is charged without any involvement from the customer or store manager. Subscriptions will process the payment using the payment gateway which was used to purchase the subscription. This method is the most convenient for you and your customers.

However, in order for a payment gateway extension to provide automatic payments, the extension’s developer must integrate their extension with Subscriptions. An up-to-date list of payment gateways which support automatic payments in the Subscription Payment Gateways document. Payment gateways that support automatic recurring payments are also listed in the Payment Gateways section of the Subscriptions’ Settings administration screen of your site.

Automatic payments are on by default. To turn off automatic payments, select the Turn Off Automatic Payments checkbox on the Subscriptions settings screen.

Manual Recurring Payments ↑ Back to Top

With manual payments, a subscription is suspended until the customer logs in to your store and pays to renew it. For example, if a subscription is for $100 per year, 1 year after the customer first signed up for the subscription, the subscription will be put on-hold and a new order for the $100 renewal will be generated (and emailed to the customer if your settings request it). Once the customer logs in to your store and pays the $100, the subscription will be reactivated for another year.

The manual renewal payment process uses the standard WooCommerce checkout system, so is presented to the customer in much the same way a customer would purchase a standard product or subscription. See the full details on the Renewal Payment process, in the Subscriber’s View guide. The only differences to the original subscription purchase are:

  • the amounts displayed on the order are only for the renewal, unlike the original order which displays the full subscription terms (e.g. $100 instead of $100 / year); and
  • the item name is prefixed with “Renewal of”.

When a subscription accepts a manual renewal payment, the customer can choose a different payment method for each renewal payment. Furthermore, all payment methods on your site can be used for subscription payments, including bank transfer and cheque. However, because the customer is required to manually pay for renewal, manual payments are best suited for subscriptions billed infrequently, for example, once per year.

Manual renewal payments are off by default. To accept manual payments, you must enabled the Accept Manual Renewals setting.

You can also choose whether the customer sent an email to remind him to login to the store and make the renewal payment by enabling or disabling the Customer Renewal Invoice email.

Learn more about the impact of manual payments on payment gateway extensions in the Subscription Payment Gateways document.

The Renewal Process ↑ Back to Top

The recurring payment process is quite complex. The flow chart below maps out the most important actions performed to handle a subscription renewal. Follow each flow and see which steps Subscriptions performs for both the automatic and manual renewal methods.

Subscription Renewal Process Flow Chart

Subscription Renewal Process Flow Chart

Failed Payment Handling ↑ Back to Top

As seen in the flow chart, when a recurring payment fails, Subscriptions will place the subscription on-hold. If you have the Customer Renewal Invoice email enabled, an email will be sent to the customer to notify them of the payment failure. The customer can then login and click the “Pay” button next to the subscription (or the failed order) on their My Account page to reactivate the subscription.

Time Limit on Manual Payments ↑ Back to Top

WooCommerce 2.0 introduced a new Hold stock setting. This setting allows you to set a time limit, after which an unpaid, pending order will be cancelled. As Subscriptions creates a pending order for manual subscription renewals, this time limit is also applied to renewal orders. As a result, you can use this time limit to set a window within which a customer must pay for subscription renewal.

By default, this value is set to 60 minutes. To provide your subscribers with a more generous renewal period, just increase the time limit to something like 10080 (one week) or leave the value blank to disable completely.

Screen Shot 2013-06-20 at 3.22.29 PM

Change Automatic to Manual Renewals ↑ Back to Top

This section requires an advanced understanding of MySQL and the WordPress database structure, please only attempt the steps outlined if you are a professional WordPress developer.

If you want to change a subscription from automatic renewal method to use the manual renewal method, it is possible to do so by setting a flag on the order used to purchase the subscription. To do so, you can:

  1. Find the ID of the order used to purchase the subscription;
  2. Open your preferred method for editing MySQL (e.g. PhpMyAdmin) and open your site/store’s database;
  3. Insert in the post meta table (e.g. `wp_postmeta`) a new row with the post_id set to the ID found in step one, a meta_key of '_wcs_requires_manual_payment' and meta_value of 'true'.

For example, for a subscription purchase in order 1333, using the standard WordPress table prefix, the query would be:

INSERT INTO `wp_postmeta` (`post_id`, `meta_key`, `meta_value`)
VALUES (1333, '_wcs_requires_manual_payment', 'true');
Using this method, you can set a single subscription to use manual renewals without enabling manual renewals and affecting new subscriptions.

Change Manual to Automatic Renewals ↑ Back to Top

Having read the previous section, you may think changing a subscription from manual to automatic renewals is as easy as changing the '_wcs_requires_manual_payment' value to 'false'. Unfortunately, changing a subscription from manual renewals to automatic renewals is far more complicated and in many cases impossible. This is because the payments need to be processed by the payment gateway, and this differs depending on each payment gateway. If you absolutely require this process, please contact support for tips on how it can be achieved (if it can be achieved at all).

Further Reading ↑ Back to Top

The subscription renewal process is at the heart of the WooCommerce Subscriptions extension, and as such, is discussed in many other documents.

To understand more about the difference between automatic and manual payments, and find which payment gateways are supported for each method, see the Subscription Payment Methods & Gateways guide.

To learn how to switch on Manual Payments, switch off Automatic payments, and control which renewal emails are sent to customers, see teh Subscription Renewal Settings of the Store Manager Guide.

And if you have a question not answered here, like “How to test automatic renewals?” take a look at the Subscriptions FAQ.

Back to the top