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 ↑ Back to Top
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:
- Automatic renewal
- 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.|
|Coupons||The customer can use product and cart coupons to reduce the price of a renewal because the customer completes the renewal via the normal checkout process.||Only recurring coupons applied at the start of the subscription will discount the renewal payments as the customer is not involved in the renewal payment.|
|Taxes||The tax charged for each renewal payment is calculated at the time of the renewal, because the customer completes the renewal via the normal checkout process.||The taxes calculated at the time of sign-up are applied for all renewal payments. If you need to change recurring taxes, you will need to manually change the recurring totals for the subscription.|
|Payment Method||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).|
|Shipping Method||The customer can choose a different shipping method for each renewal payment.||The same shipping 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. The customer pays for renewal in much the same way a customer would purchase a product or subscription. A walkthrough of the manual renewal payment process, with screenshots, is available in the Subscriber’s View guide. The only difference to the original subscription purchase is that no recurring totals are displayed. For example, the price for a $100 / year subscription will be displayed for a renewal as $100 whereas for the initial purchase, it would have been displayed as $100 / year.
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 to send the customer an email to remind her 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.
Failed Payment Handling ↑ Back to Top
As seen in the flow chart, when a recurring payment fails:
- the subscription will remain on-hold (i.e. it will not be reactivated)
- 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 failed order on their My Account or My Account > View Subscription page to pay for the failed renewal and reactivate the subscription
Only gateways that support payment method changes by the customer will be displayed when paying for a failed renewal order. This is so that WooCommerce Subscriptions can resume the subscription and process future automatic recurring payments using the new payment method chosen to pay for the failed renewal order.
Time Limit on Manual Payments ↑ Back to Top
WooCommerce includes a 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.
Changing from Automatic to Manual Renewals (or Manual to Automatic) ↑ Back to Top
If you want to change a subscription from the automatic to the manual renewal method, it is possible to do so by setting a flag on the order used to purchase the subscription. For more information, see the knowledge base article on changing a subscription from automatic to manual renewals.
Changing a subscription from manual renewals to automatic renewals is far more complicated and in some cases impossible. This is because the payments need to be processed by the payment gateway, and the way payments are processed differs depending on each payment gateway.
The guide to charging recurring payments for manually added subscriptions provides information for setting up automatic payments with a few different payment gateways.
If you need to switch from manual to automatic renewals for a different payment gateway, contact support for advice on how it can be achieved (if it can be achieved at all).
Resubscribe Process ↑ Back to Top
There is another type of renewal that is not included in the document above. After a customer’s subscription has expired or been cancelled, she can create a new subscription which extends the old subscription’s terms by resubscribing from the My Account page.
Resubscribing to an inactive subscription will create a new subscription for the same product or products; however, it does not have the same behaviour as purchasing a new subscription.
- If the subscription has a free trial, the customer will not receive the free trial because they are considered to have already benefited from the free trial.
- If the subscriptions recurring amount has changed, the customer’s new subscription will be grandfathered with the original price. For example, consider a product which had the price of $10 / month, but has since had a price increase to $12 / month. If the customer were to purchase the product normally, they would be charged $12 / month. If the customer renews their expired or cancelled subscription, they will be charged $10 / month.
- If the subscription has a sign-up fee, the customer will not be charged the sign-up fee to renew the subscription because they have already paid the sign-up fee for the subscription. The exception to this is when the subscription has a $0 recurring total. In this case, Subscriptions assumes you are shipping physical products on a different schedule to the payment schedule and using the sign-up fee to charge the full amount of the subscription up-front.
- The billing schedule for the new subscription will be based on the date the customer renews the subscription. For example, a customer has a $10 / month subscription renewing on the 1st of the month and it expires after 6 months. If the customer waits until the 5th to renew the subscription, her next renewal will be processed on the 5th of the following month, and each renewal after that will be processed on the 5th.
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 the Subscription Renewal Settings of the Store Manager Guide.
FAQ ↑ Back to Top
Are order custom fields copied to renewal orders?
If you have an extension or custom code which adds custom fields (i.e. metadata) to orders, Subscriptions will copy this data to any subscriptions created for that order during checkout. When the subscription renews, Subscriptions will then copy that data to the renewal order.
However, Subscriptions also provides a way for developers to exclude metadata from being copied so your extension may choose not to have some metadata copied.
For developers, the
'wcs_renewal_order_meta' filters can be used to exclude certain metadata from renewal orders.
How can I test renewals?
To test the renewal process, follow the steps outlined in the knowledge base artcile for testing the subscription renewal process.
You will need to purchase the test subscription with a gateway that requires either:
- manual renewal payments (e.g. Cheque, Bank transfer); or
- any gateway that supports automatic payments other than PayPal.