1. Documentation /
  2. WooPayments Documentation /
  3. WooPayments: Subscriptions /
  4. WooPayments: Stripe Billing for subscriptions

WooPayments: Stripe Billing for subscriptions

Besides basic compatibility with Woo Subscriptions, WooPayments also offers one additional feature to Woo Subscriptions users based in the United States: the ability to utilize a billing engine powered by our payments partner, Stripe. This is called Stripe Billing.

NOTE: Prior to version 6.6.0, WooPayments offered a built-in subscriptions feature that did not require Woo Subscriptions. As of version 6.6.0, however, that functionality is no longer available to merchants who were not already using it. The Stripe Billing feature is similar, but to use it you must have the Woo Subscriptions extension installed as well.

Billing engines

↑ Back to top

With the Woo Subscriptions extension, automatic recurring payments are initiated by your WooCommerce site and then processed by the payment gateway the customer chose during checkout. This is called an “on-site” billing engine.

An alternative approach is to have the payment gateway itself initiate the recurring payment. This is an “off-site” billing engine, and it’s how Stripe Billing works.

The advantages to using an on-site billing engine are:

  • More features. Many of the advanced features of the Woo Subscriptions plugin are only available for subscriptions that use the on-site billing engine.
  • Less complexity. Your site is the “source of truth” for what payments should be made and when. There’s no second system that needs to be kept in sync.
  • More supportable. Because all the recurring billing data is stored on your site, it’s much easier to fix if anything were to go wrong.
  • Widely available. Stripe Billing is only available for WooPayments merchants in the U.S., whereas Woo Subscriptions can be used by merchants in any country.
  • No extra fees. Woo Subscriptions can be purchased for a single, flat price per year, but Stripe Billing charges a fee on every subscription transaction you run.

The sole advantage of the off-site billing engine is:

  • Reliability. If your site were to go offline for an extended period of time (e.g., multiple days), an off-site billing engine could still take recurring subscription payments.

NOTE: If you would like to be notified if/when your site goes offline, the Jetpack plugin includes uptime monitoring for free. You can learn more about this feature here.

Requirements

↑ Back to top

To use the Stripe Billing feature of WooPayments:

If you do not meet these criteria, the Stripe Billing option will not be available.

Additional fees

↑ Back to top

Enabling the Stripe Billing option may incur additional fees on orders that contain any subscription product or renewal. Please see our fees page for full details.

NOTE: If you enable mixed checkout, any additional fees for using Stripe Billing will apply to an entire order — not just the subscription line item(s).

To see the subscription fee for a specific transaction:

  1. Navigate to your site’s administrator menu.
  2. Locate your WooPayments transactions at Payments > Transactions.
  3. Find a charge that’s associated with a subscription using the Stripe Billing engine.
  4. Click the transaction to open the transaction details.
  5. The fee is shown in the timeline.

NOTE: Subscriptions powered by the on-site billing engine built into the Woo Subscriptions extension are not charged an extra fee.

Enabling Stripe Billing

↑ Back to top

If you meet the criteria above, you can choose which billing engine to use.

To enable the Stripe Billing option:

  1. Navigate to your site’s administrator menu.
  2. Locate your WooPayments settings at Payments > Settings.
  3. Scroll down to the Advanced settings section at the bottom of the WooPayments settings page.
  4. Check the box next to “Enable Stripe Billing for future subscriptions.”
  1. Click Save Changes at the bottom of the page.

Once the setting is enabled, any new subscriptions paid for with WooPayments will be powered by the off-site Stripe Billing engine.

NOTE: The setting is called “Enable Stripe Billing for future subscriptions” for a reason. Specifically, if you have pre-existing subscriptions that use the Woo Subscriptions on-site billing engine, there is neither a way to migrate those over to Stripe Billing, nor do we plan to provide such a feature.

Viewing the subscriptions

↑ Back to top

To find subscriptions that are using the Stripe Billing engine:

  1. Navigate to your site’s administrator menu.
  2. Go to WooCommerce > Subscriptions in your dashboard.
  3. Look for any subscription with a question mark icon after the date in the Next Payment column.
  1. Hovering over the question mark will show a popup: “This date should be treated as an estimate only. The payment gateway for this subscription controls when payments are processed.” T
    • This message is normal for Stripe Billing subscriptions.
  2. Click the subscription number to open the subscription’s details.
  3. You’ll see a WooPayments Subscription ID beginning with sub_ in the details box.
    • This confirms that the subscription you’re looking at is powered by the off-site Stripe Billing engine.

Incompatible settings

↑ Back to top

When Stripe Billing is enabled, the settings for the Woo Subscriptions extension are still shown in their normal location under WooCommerce > Settings > Subscriptions.

However, some of the settings and other Woo Subscriptions features will not work for subscriptions that use the Stripe Billing engine. Those are:

1 Free subscriptions can be purchased, but will always use the on-site engine.
2 The billing schedule will always be determined by the product configuration.
3 Line items, amounts, and dates cannot be changed.

Disabling Stripe Billing

↑ Back to top

You can disable the Stripe Billing setting at any time. To disable Stripe Billing:

  1. Navigate to your site’s administrator menu.
  2. Locate your WooPayments settings at Payments > Settings.
  3. Scroll down to the Advanced settings section at the bottom of the WooPayments settings page.
  4. Uncheck the box next to “Enable Stripe Billing for future subscriptions.”
    • After disabling Stripe Billing, subscriptions that were initiated using Stripe Billing will be automatically migrated to the on-site billing engine powered by Woo Subscriptions.
    • A notice about migrating to the on-site billing engine will appear when you uncheck the Stripe Billing option.
  1. Click Save Changes at the bottom of the page.
  2. This will start the migration process.
    • Depending on the number of pre-existing Stripe Billing subscriptions you had that need to be migrated, the process could take some time.
  1. The alert box will indicate when the migration is complete:
  1. Once the migration is complete, all of the subscriptions that were previously using Stripe Billing will instead be using the on-site billing engine built into Woo Subscriptions.

No other action is necessary, and all subscribers will continue to renew automatically just as before. The migration process happens entirely behind the scenes, and your customers should not notice any difference in behavior.

Viewing migration logs

↑ Back to top

If you need to view the migration log files (for example, if our support staff asks for them), you can do that like so:

  1. Go to WooCommerce > Status > Logs in your site’s WP Admin dashboard.
  2. Use the dropdown to find a log beginning with woopayments-subscription-migration- and a date.
    • For example, to find the log file created for migration on November 19, 2023, use the dropdown to search for woopayments-subscription-migration-2023-11-19.
  3. Once you’ve selected a log, click the View button to load it.
  4. Select the entire log contents and copy them to the clipboard.
  5. Open a new text file on your computer and paste the log contents in.
  6. Attach that file to your email response to our support staff.

Frequently asked questions

↑ Back to top

What happens to Stripe Billing subscriptions if I disable WooPayments as a gateway?

↑ Back to top

Disabling the WooPayments gateway only affects the payment options shown in the WooCommerce checkout form. Because existing subscriptions renew without going through the checkout form, they will not be affected. Meaning, they will continue to renew automatically via WooPayments.

That said, if you do disable the gateway, no new Stripe Billing subscriptions will be created. This is because Stripe Billing subscriptions must be paid for via WooPayments, but that cannot happen with the gateway disabled. Any subscription purchases made with another gateway will use the on-site Woo Subscriptions billing engine.

What happens to Stripe Billing subscriptions if I deactivate the WooPayments plugin?

↑ Back to top

If you attempt to deactivate the WooPayments plugin while your site has Stripe Billing subscriptions, a popup warning will be shown:

If you deactivate, any Stripe Billing subscriptions that were not cancelled prior to the plugin being deactivated will continue to collect payments from customers. This is due to the the off-site billing engine that Stripe Billing uses.

Furthermore, because WooPayments is deactivated, your site will no longer generate the corresponding WooCommerce orders or send the associated emails to customers. As you can imagine, this situation is almost never advisable.

NOTE: If you do not want renewal payments to keep being charged, you should cancel all Stripe Billing subscriptions before deactivating WooPayments!

If you have taken your site offline, or, for some other reason, you cannot reactivate the WooPayments plugin and cancel existing subscriptions, please contact us for help.

What happens to Stripe Billing subscriptions if I deactivate the Woo Subscriptions plugin?

↑ Back to top

They will keep renewing until they are cancelled due to the off-site billing engine. For this reason, we strongly suggest cancelling all Stripe Billing subscriptions before deactivating the Woo Subscriptions plugin.

You may even wish to cancel all subscriptions — Stripe Billing or not — particularly if you plan to stop selling subscriptions altogether.

Of course, if Woo Subscriptions is deactivated, no new subscriptions can be created either, since subscription products will no longer be available.

Which other extensions are compatible with Stripe Billing subscriptions?

↑ Back to top

Most extensions that work with Woo Subscriptions will be compatible with Stripe Billing subscriptions as well. However, keep in mind the incompatible settings listed above.

As an example, AutomateWoo is mostly compatible, but if you try to use it to edit the line items of a Stripe Billing subscription, that will not work.