If you’re using WooCommerce Payments, you have two options to sell subscription products:
- The subscriptions functionality built into WooCommerce Payments, or…
- The separate WooCommerce Subscriptions extension.
These two offerings are both powered by much of the same code. This makes it possible for most extensions that add features to WooCommerce Subscriptions to also add those same features to WooCommerce Payments’ built-in subscriptions.
The following extensions are confirmed to be compatible with WooCommerce Payments:
- All Products for WooCommerce Subscriptions
- AutomateWoo
- AutomateWoo – Refer A Friend add-on
- WooCommerce Subscriptions Downloads
- Gifting for WooCommerce Subscriptions
- Product Bundles
- Composite Products
- Conditional Shipping and Payments
- Follow-Ups
- EU VAT Number
- Stripe
- PayPal Payments
- Braintree for WooCommerce
- Sensei products
- Shipment Tracking
- Gift Cards
- WooCommerce Points and Rewards
- Back In Stock Notifications
That said, some other extensions perform a check to see if the WooCommerce Subscriptions plugin is active. Of course, if you’re using the subscriptions functionality built into WooCommerce Payments, the WooCommerce Subscriptions plugin will not be active, and this check will fail. In these cases, the extension may need to be updated to support WooCommerce Payments.
Developer updates
↑ Back to topNOTE: This section provides example code intended for use by developers.
If you’ve tested your extension with both WooCommerce Subscriptions and the WooCommerce Payments subscriptions functionality, it can be updated to load when either one is available.
The recommended approach is shown here:
if ( class_exists( 'WC_Subscriptions' ) || class_exists( 'WC_Subscriptions_Core_Plugin' ) ) { // Load any subscriptions functionality }
If you need to check for a specific version of the subscriptions code:
if ( class_exists( 'WC_Subscriptions_Core_Plugin' ) && version_compare( WC_subscriptions_Core_Plugin::instance()->get_plugin_version(), '3.1.0', '>=' ) ) { // Load any subscriptions functionality for version 3.1.0 or later }