Subscriptio is a WooCommerce extension that allows you to sell subscriptions. Subscriptio adds recurring payments capability to WooCommerce so you can sell products like magazine subscriptions, online memberships, e-learning packages and any other tangible or intangible products.
Please note: Subscriptio is in transition to version 3.0 which has been redesigned and reengineered from the ground up. For new installations version 3.0 is already available while on existing installations version 2.3.10 will be loaded instead (old version comes with the new one and system loads one of them dynamically). Existing installations will only be able to migrate to the new version starting from version 3.1 – we do this to give it more time to mature and fix any potential bugs before making it available to clients with existing subscriptions. You can check this page for status updates and upgrade instructions.
Both simple and variable products can be configured as subscriptions and allow you to set payment cycle, free trial length, subscription length and a setup fee. When a customer purchases a subscription, a subscription flow is started, which consists of the following actions in a chronological order:
- Order placed
- Payment received (skipped in case of trial with no setup fee)
- Subscription activated (or enters an optional trial period)
- Renewal order generated
- Payment reminders sent
- Attempt to process automatic payment (if payment gateway supports Subscriptio)
- Subscription marked as overdue (grace period; optional)
- Overdue payment reminders sent (optional)
- Subscription suspended (optional)
- Cancellation warnings sent (optional)
- Subscription cancelled if no payment is received
- Subscription expired (if not cancelled by the time maximum subscription length is reached)
Both shop managers and customers can pause and resume subscriptions as well as cancel them. However, it is possible to disable this possibility for customers. There are more configuration options like when reminders should be sent, length of the suspension period etc. Plus there are many hooks and filters for developers to use.
Features
- Allows to sell subscriptions with WooCommerce
- All subscription related actions are handled automatically
- Supports Stripe and PayPal for automatic subscription payments
- Both simple and variable products can be turned into subscriptions
- Set any billing cycle length and max subscription length
- Allows to charge a one-off signup fee in addition to recurring total
- Allows to configure subscription trial period of any length
- Subscriptions can be paused, resumed and cancelled manually
- Multiple settings fields to make this plugin work as you want it to work
- Subscriptions are purchased as regular WooCommerce products
- Possible to purchase subscription and non-subscription products during single checkout
- Possible to purchase multiple subscriptions and any quantity of each subscription
- Subscription list and subscription management tools for customers
- Related subscriptions displayed for each order that contains subscriptions
- Related orders displayed for each subscription
- Super easy to use yet powerful admin subscription management area
- All subscription transactions logged and displayed
- Sell any tangible or intangible products
- Sell online memberships with recurring changes (requires additional extension)
- Lots of hooks and filters for developers
Payment Handling
Subscriptio supports semi-automatic billing and fully automatic billing. In case of semi-automatic billing, customers receive an email at the beginning of each billing cycle, click on a Pay Now link and make their payments manually. In case of fully automatic billing, payments are processed automatically and does not require any action to be taken.
For semi-automatic billing, Subscriptio works with all WooCommerce payment gateway extensions.
For fully automatic billing, Subscriptio requires some specific functionality implemented in the payment gateway extension that allows Subscriptio to process recurring payments at its own discretion.
Subscriptio comes with two built-in payment gateway extensions that enable fully automatic billing out of the box – Stripe and PayPal Express Checkout. They have all the functionality required by Subscriptio and they work as regular payment methods too.
Please note that the built-in PayPal Express Checkout extension requires Reference Transactions to be enabled for your PayPal account to process recurring payments which may require you to pay a monthly fee to PayPal – please check with PayPal support if in doubt.
Changelog
Version 3.0.6, 18 September 2020 ------------------------------------------------------------------------------------ * Fix - Error on the activity log page related to actor id * Fix - Sign-up fee on product page is not displayed if recurring price is zero * Fix - Plurals don't work for recurring amount for years (always shows 'year') * Tweak - Other minor bug fixes and improvements Version 3.0.5, 5 July 2020 ------------------------------------------------------------------------------------ * Fix - Issue with renewal date calculation after free trial finishes * Fix - Uncaught Error: Call to a member function get_meta() on null * Tweak - Option to enable/disable the display of empty subscriptions list in frontend * Tweak - Option to enable/disable multiplying of sign-up fee based on quantity * Tweak - Empty subscriptions list is now displayed in frontend by default * Tweak - Prevent removal of inactive accounts of customers with subscriptions * Tweak - Prevent automatic removal of orders related to subscriptions * Tweak - Prevent automatic anonymization of orders related to subscriptions * Tweak - Show "per month" instead of "per 1 month" * Tweak - Other minor bug fixes and improvements * Dev - New function subscriptio_get_customer_enabled_subscriptions * Dev - New function subscriptio_customer_has_enabled_subscription Version 3.0.4, 28 February 2020 ------------------------------------------------------------------------------------ * Fix - Scheduled payment problems related to site URL scheme mismatch * Tweak - Other minor bug fixes and improvements * Dev - New constant RIGHTPRESS_TESTING_MODE_ENABLED to enable testing mode * Dev - New filter rightpress_testing_mode_day_override to facilitate testing Version 3.0.3, 21 December 2019 ------------------------------------------------------------------------------------ * Fix - System preventing subscription cancellation when initial order is cancelled * Tweak - Other minor bug fixes and improvements Version 3.0.2, 18 December 2019 ------------------------------------------------------------------------------------ * Fix - Multiple PayPal payment attempts result in multiple subscriptions * Fix - Subscriptions paid via PayPal shown as using manual payments Version 3.0.1, 17 December 2019 ------------------------------------------------------------------------------------ * Fix - Wrong payment gateway class name in PayPal EC callback handler * Fix - Minor fixes in the bundled 2.3.10 version Version 3.0, 16 December 2019 ------------------------------------------------------------------------------------ * Warning - Version 2.3.10 will be loaded on pre-existing installations by default * Warning - Please read the upgrade guide http://url.rightpress.net/subscriptio-3-0 * Feature - Plugin code fully rewritten to make it more flexible and maintainable * Feature - New measures taken to make the plugin even more stable and reliable * Feature - New familiar order-like subscription editing interface * Feature - Subscription items and recurring totals can now be edited by shop manager * Feature - Subscriptions can now be created manually by shop manager * Feature - Non-subscription products can be added to subscription by admin * Feature - Shop manager can add private/public notes to subscriptions * Feature - New manual cancellation handler cancels at the end of the prepaid term * Feature - Option to reactivate subscriptions that are set to be cancelled * Feature - Failed automatic payments can now be retried automatically * Feature - New email Customer New Subscription * Feature - New email Customer Payment Failed * Fix - Email subject is not changed in the actual email * Fix - Taxes not calculated on renewal orders under some conditions * Tweak - PayPal Adaptive Payments payment gateway extension removed (deprecated since 2016) * Tweak - Plugin now uses database transactions when they are supported by database engine * Tweak - "Send copy of this email to admin" now simply adds admin email as BCC email * Tweak - Custom post types now use custom sets of capabilities * Tweak - Main admin capability changed to manage_subscriptio * Tweak - Improved compatibility with new versions of WordPress, WooCommerce and PHP * Tweak - Min supported WordPress version set to 4.9 * Tweak - Min supported WooCommerce version set to 3.5 * Tweak - Min supported PHP version set to 5.6 * Tweak - Other minor bug fixes and improvements * Dev - Any previous customizations or integrations must be considered outdated * Dev - Majority of templates, functions, action and filter hooks have changed Version 2.3.10, 13 December 2019 ------------------------------------------------------------------------------------ * Fix - Improved Stripe migration script to avoid memory/timeout issues * Fix - Stripe not saving source id when cart total is zero (free trial) Version 2.3.9, 30 August 2019 ------------------------------------------------------------------------------------ * Warning - Please read if you use Stripe - http://url.rightpress.net/stripe-sca * Warning - This is the final non-breaking release before 3.0 (due in September) * Warning - Upgrade guide for 3.0 will be posted here - http://url.rightpress.net/subscriptio-3-0 * Feature - Added support for the official WooCommerce Stripe Payment Gateway extension * Tweak - Deprecated bundled proprietary Stripe payment gateway extension * Tweak - Added migration script to switch from proprietary to official Stripe extension * Tweak - Min supported WordPress version changed to 4.4 * Tweak - Min supported WooCommerce version changed to 3.0 * Tweak - Other minor bug fixes and improvements Version 2.3.8, 29 April 2017 ------------------------------------------------------------------------------------ * Fix - Stripe payment gateway bug related to stored cards Version 2.3.7, 15 April 2017 ------------------------------------------------------------------------------------ * Fix - Limits for subscriptions are also limiting regular products * Fix - Built-in Stripe payment gateway issues with currencies that have no decimals * Tweak - Other minor bug fixes and improvements Version 2.3.6, 5 April 2017 ------------------------------------------------------------------------------------ * Fix - Manual payments via PayPal EC gateway do not work under some circumstances * Fix - Month name display issue in built-in Stripe payment gateway extension * Fix - Shipping fee is displayed when renewal order shipping fee is disabled * Fix - Payment gateways not available to guest users when cart total is zero * Fix - Default WooCommerce emails are not suppressed properly * Fix - Undefined variable $context * Fix - PHP notice when executing bulk action * Tweak - Improved compatibility with WooCommerce 3.0 Version 2.3.5, 3 January 2017 ------------------------------------------------------------------------------------ * Fix - Stripe token not saved when customer is not logged in during payment * Fix - Zero tax rates are not displayed on renewal orders * Fix - Shop manager can't access and save settings * Tweak - Other minor bug fixes and improvements Version 2.3.4, 22 December 2016 ------------------------------------------------------------------------------------ * Fix - Issues related to free trial handling Version 2.3.3, 21 December 2016 ------------------------------------------------------------------------------------ * Fix - Incorrect recurring total when using a sign up fee (bug in last version) Version 2.3.2, 24 November 2016 ------------------------------------------------------------------------------------ * Fix - Error on thank you page when using subscription limits * Tweak - Option to apply sale price to initial order only * Tweak - Other minor bug fixes and improvements Version 2.3.1, 26 September 2016 ------------------------------------------------------------------------------------ * Fix - Product id set to variation id in variable order item meta * Fix - Tax class determined incorrectly for variable products in some cases * Fix - Invalid argument supplied for foreach() warning * Tweak - Option to use PayPal Adaptive Payments for existing subscriptions only * Tweak - Other minor bug fixes and improvements Version 2.3, 2 September 2016 ------------------------------------------------------------------------------------ * Feature - Event Scheduler class replaced by a more reliable one * Feature - PayPal Express Checkout payment gateway extension * Feature - Payment details can now be captured for free trials * Feature - Tabbed navigation in My Account now supported * Feature - WPML compatibility * Feature - Partial RTL support * Fix - Wrong date set in some occasions when manually changing event dates * Fix - Wrong product quantities in multi-product renewal order * Fix - Renewal order item tax data missing * Fix - Downloadable product downloads issue * Fix - Issues related to subscription emails * Fix - Plain text email new line issue * Fix - Subscription emails always sent to admin even when set not to * Fix - Renewal orders not created due to fatal error on some setups * Fix - Multi-product subscription issues related to billing cycle lengths * Fix - Variable product subscription checkbox can't be unchecked * Fix - Date picker does not display arrows * Fix - Problems activating memberships based on multi-product subscriptions * Fix - Subscription items list only shows first subscription in emails * Fix - Cart is empty error when submitting manual payment for renewal order * Fix - Error displayed when searching subscriptions and transactions lists * Tweak - Better handling of order resuming and repeated failed payments * Tweak - Order again functionality now disabled on renewal orders * Tweak - Subscriptions list in My Account is now responsive * Tweak - Price suffix is no longer displayed when not needed * Tweak - Option to disable specific card types in Stripe settings * Tweak - Updated RightPress automatic updates class * Tweak - PayPal Adaptive Payments extension now deprecated * Tweak - Other minor bug fixes and improvements * Dev - New action hook subscriptio_created_renewal_order * Dev - New filter hook subscriptio_renewal_order_tax * Dev - New filter hook subscriptio_renewal_order_subtotal * Dev - New filter hook subscriptio_renewal_order_total * Dev - New filter hook subscriptio_renewal_order_line_subtotal * Dev - New filter hook subscriptio_renewal_order_line_subtotal_tax * Dev - New filter hook subscriptio_renewal_order_line_total * Dev - New filter hook subscriptio_renewal_order_line_tax Version 2.2.2, 28 February 2016 ------------------------------------------------------------------------------------ * Fix - Order resuming issues (new order placed on top of unpaid one) * Fix - Payment due date prevents payments from being made earlier * Fix - Warning related to item meta in renewal orders * Tweak - Added function existence check for mb_detect_encoding * Tweak - Updated RightPress automatic updates class * Tweak - Other minor bug fixes and improvements Version 2.2.1, 24 January 2016 ------------------------------------------------------------------------------------ * Tweak - Updated automatic updates class * Dev - Added filter to disable sslverify (payments failing on misconfigured servers) Version 2.2, 4 January 2016 ------------------------------------------------------------------------------------ * Feature - Plugin now supports automatic updates * Fix - Several issues with PayPal payment gateway resolved * Fix - PayPal logo is not displayed on checkout for PayPal payment gateway * Tweak - Stripe payment gateway now supports multiple languages * Tweak - Changed language file directory name from woocommerce to subscriptio * Tweak - Other minor bug fixes and improvements Version 2.1.3, 9 November 2015 ------------------------------------------------------------------------------------ * Fix - Non-unique taxonomy term slug issue * Fix - Problems with renewal order subtotal for subscriptions created prior to 2.0 Version 2.1.2, 1 November 2015 ------------------------------------------------------------------------------------ * Fix - Product object fatal error in WooCommerce 2.3 * Fix - Subscription not created in multi-product mode * Tweak - Payment Due date now displayed on View Subscription page * Tweak - Better loading of styles/scripts for improved compatibility * Tweak - Better language file loading: WP_LANG_DIR . "/woocommerce/" now supported * Tweak - Other minor bug fixes and improvements Version 2.1.1, 11 September 2015 ------------------------------------------------------------------------------------ * Feature - Added error logging for PayPal Gateway for easier debugging * Fix - Trial notice appears for non-subscription products * Fix - PHP Notice displayed on product page for not logged in users in some cases * Tweak - Removed all instances of sslverify = false due to security concerns * Tweak - Other minor bug fixes and improvements Version 2.1, 25 August 2015 ------------------------------------------------------------------------------------ * Feature - Subscription trials can now be limited * Feature - A number of subscriptions per user can now be limited * Feature - Downloadable product access now blocked if subscription is inactive * Feature - Shop managers can now manually adjust scheduled subscription events * Feature - Option to display lowest absolute price for variations * Tweak - Subscription can now be cancelled if the initial order gets refunded * Tweak - Improved display of variation subscription products * Tweak - Improved compatibility with The Events Calendar * Tweak - Other minor bug fixes and improvements * Dev - New methods for developers to access data about subscribers Version 2.0.2, 11 June 2015 ------------------------------------------------------------------------------------ * Feature - New options for controlling PayPal Gateway Preapproval operation * Fix - PayPal Gateway Preapproval operation issues * Tweak - Other minor bug fixes and improvements Version 2.0.1, 26 May 2015 ------------------------------------------------------------------------------------ * Fix - "Can't use method return value in write context" bug Version 2.0, 22 May 2015 ------------------------------------------------------------------------------------ * Feature - PayPal payment gateway with support of automatic payments * Feature - Subscriptions can now have multiple subscription products * Feature - Pausing subscriptions can now be limited (count and duration) * Feature - Shipping on renewal orders can now be enabled/disabled * Feature - Method to prevent WooCommerce from cancelling renewal orders prematurely * Feature - Option to change "Add to Cart" label for subscription products * Fix - problems related to custom item/order meta data * Fix - Recurring amount double-multiply on change of quantity * Fix - Variable subscription product price formatting issues * Fix - Original price for discounted products is not displayed * Fix - Internationalization of dates on My Account page * Fix - Tax suffix display issues * Tweak - Updated Stripe API version * Tweak - Other minor bug fixes and improvements * Dev - New set of action hooks that run before subscription status change Version 1.0.10, 8 April 2015 ------------------------------------------------------------------------------------ * Fix - Payment Due reminders not being sent in some cases * Fix - Problems with Stripe refunds for renewal orders * Tweak - Other minor bug fixes and improvements Version 1.0.9, 9 March 2015 ------------------------------------------------------------------------------------ * Feature - Added support for WooCommerce 2.2 style refunds * Fix - Issues with subscription price display including/excluding tax * Tweak - Stripe no longer issues refunds on order status change to cancelled and refunded * Tweak - Improved compatibility with WooCommerce 2.1+ * Tweak - Removed support for WooCommerce 2.0 Version 1.0.8, 2 March 2015 ------------------------------------------------------------------------------------ * Tweak - Renewal orders with zero total are now automatically marked processing * Tweak - Improved compatibility with latest versions of WooCommerce Version 1.0.7, 3 February 2015 ------------------------------------------------------------------------------------ * Fix - Stripe gateway error "Received unknown parameter: statement_description" * Fix - Typo in multiple email templates Version 1.0.6, 19 December 2014 ------------------------------------------------------------------------------------ * Fix - New user accounts can't be created during checkout * Fix - Typo in get_time_zone function * Tweak - Improved compatibility with PHP 5.2 * Tweak - Improved checkout page Javascript to handle empty billing fields gracefully Version 1.0.5, 3 December 2014 ------------------------------------------------------------------------------------ * Fix - Subscription products can't be turned back to regular products * Fix - More frontend navigation issues when URL rewrite is used * Fix - Stripe extension prevents test transactions when SSL is off Version 1.0.4, 23 October 2014 ------------------------------------------------------------------------------------ * Fix - PayPal payment cancellation results in fatal error * Fix - Subscription status not always set on checkout * Tweak - Improved handling of New Order, Processing and Completed emails for renewals * Tweak - Changed default renewal order payment status from on-hold to pending * Tweak - Improved compatibility with WooCommerce version 2.2 (order statuses) * Tweak - Improved compatibility with WooCommerce versions 2.0.X * Tweak - Other minor bug fixes and improvements Version 1.0.3, 9 October 2014 ------------------------------------------------------------------------------------ * Fix - New subscriptions fail because of shipping settings * Fix - Frontend navigation issues when URL rewrite is used for permalinks Version 1.0.2, 23 September 2014 ------------------------------------------------------------------------------------ * Feature - Stripe payment gateway extension for automatic payments * Tweak - Other minor bug fixes and improvements Version 1.0.1, 1 September 2014 ------------------------------------------------------------------------------------ * Fix - "Can't use method return value in write context" bug * Tweak - Improved function that determines system's time zone Version 1.0, 30 August 2014 ------------------------------------------------------------------------------------ * Initial release
Requirements
- WordPress 4.9+
- WooCommerce 3.5+
- PHP 5.3+
- Payment gateway with support for Subscriptio if automatic payments are desired (this product comes bundled with Stripe and PayPal payment gateway extensions with support for subscriptions)