Subscriptio
Documentation
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.
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.
This plugin integrates with WooCommerce Membership (also developed by RightPress) to offer online memberships with recurring payments.
To install Subscriptio simply:
- Make sure you have WordPress 3.5+ installed
- Download the plugin from CodeCanyon
- Unzip the downloaded file and locate a file named subscriptio.zip under Plugin
- Log in to your WordPress administrator zone
- Go to Plugins --> Add New --> Upload
- Upload file subscriptio.zip
- Activate the uploaded plugin
In case FTP upload is required:
- Download the plugin from CodeCanyon
- Extract the archive
- Locate a folder named subscriptio under Plugin
- Upload this folder to wp-content/plugins
- In administrator zone, go to Plugins and activate this plugin
- Allows to sell subscriptions with WooCommerce
- All subscription related actions are handled automatically
- 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
- WordPress 3.5+
- WooCommerce 2.0+
- WooCommerce Membership extension if online memberships with recurring payments are going to be sold
- Payment gateway with support for Subscriptio if automatic payments are desired
As soon as you install Subscriptio, you will find the following menu links in the admin interface:

- Subscriptions - view and control customer subscriptions
- Transactions - view transactions, their outcome and take action if needed
- Settings - control how Subscriptio behaves
Click on the Subscriptions menu link on the WordPress admin menu. The following list of all subscriptions (both active and inactive) will be displayed:

Clicking on the subscription ID will take you to the subscription edit page. Clicking on product, user or last order will take you to product, user and order edit pages correspondingly.
You can hide any subscription list column by clicking on the Screen Options button and unchecking the checkboxes of the columns that you do not want to see in the list.
Searching Subscriptions
You can filter subscriptions by month when they were created and by subscription status. To filter by a particular status, you can also click on any of the status flags next to any subscription.
You can search subscriptions by filling in a search field and clicking on Search Subscriptions. You can use a free search or search with a context.
Free search searches in ID, Product Name, Product ID, Variation ID, User Full Name and Related Order IDs fields.
To search with a context, append a context keyword at the beginning of your search term followed by a colon, e.g. subscription:123 will search for a subscription with an ID of 123. The following context keywords are available:
- subscription - searches subscription ID
- user - searches user ID
- name - searches user full name
- order - searches related order IDs
- product - searches product ID
- variation - searches variation ID
Subscription Edit Page
Clicking on the subscription ID will take you to the subscription edit page:

Subscription edit page is divided into four sections:
- General Details - block that displays main subscription information, like its ID, status, recurring amount, dates of important previous actions (like when subscription was started or paused), dates of scheduled future events, payment and shipping methods, IDs of related orders and multiple fields related to customer. Shipping address (if any) can be edited in place by clicking on the [edit] link.
- Subscription Items - list of subscription products that belong to this subscription. In current version one individual subscription product or subscription variation (with any quantity) results in one subscription (i.e. multiple subscription products can't be pooled into one subscription). Shipping cost (if product requires shipping) is displayed on a separate line. Shipping cost for renewal orders is pre-calculated separately at the time when the initial order is placed, which means that if customer buys a bulky non-subscription item together with a subscription, they won't need to pay that much for a small subscription item and correct shipping rate will be selected.
- Subscription Actions - allows to select and process subscription actions like pausing or cancelling subscriptions. Transactions can also be moved to Trash and deleted, however, this is not recommended for live subscriptions - it's better to just cancel them and keep for future reference.
- Transactions List - displays a list of transactions related to current subscription. Newest appear at the top, different transaction outcomes (transaction result) are indicated by different transaction background colors.
Click on the Transactions menu link under Subscriptions on the WordPress admin menu to access a list of all subscription transactions:

Clicking on the subscription, order or product IDs will take you to subscription, order and product edit pages correspondingly.
You can hide any transaction list column by clicking on the Screen Options button and unchecking the checkboxes of the columns that you do not want to see in the list.
Possible transaction actions:
- New Order - new subscription created
- Payment Received - payment successfully received (either actual payment or detected order status change to processing or completed)
- Renewal Order - renewal order generated for an upcoming payment due date
- Suspension - subscription suspended automatically due to non-payment
- Automatic Cancellation - subscription cancelled automatically due to non-payment
- Manual Cancellation - subscription cancelled manually by shop manager or customer
- Order Cancellation - corresponding order was cancelled, therefore subscription is cancelled as well
- Expiration - max subscription length reached, subscription expired
- Payment Due - scheduled payment due action invoked, processing automatic payments (if possible), determining what to do with unpaid subscriptions
- Payment Reminder - scheduled payment reminder sent to customer
- Subscription Deleted - corresponding subscription was deleted completely by shop managed
- Pausing Subscription - subscription paused by shop managed or customer
- Resuming Subscription - subscription resumed by shop managed or customer
- Address Changed - shipping address changed by shop managed or customer
Possible transaction results:
- success - action completed successfully
- error - error occurred while processing action (needs attention)
- failed - action failed due to other reasons but error (e.g. insufficient funds for automatic payment)
- processing - action is still being performed - if a transaction stays in this state for more than thirty seconds or so, then something wrong happened while processing this action (e.g. PHP fatal error occurred during execution).
Searching Transactions
You can filter transactions by month when they occurred, by transaction type (action taken) and by transaction outcome (result). To filter by a particular action or result, you can also click on any of the links/flags next to any transaction.
You can search transactions by filling in a search field and clicking on Search Transactions. You can use a free search or search with a context.
Free search searches in ID, Subscription ID, Order ID, Product ID and Variation ID fields.
To search with a context, append a context keyword at the beginning of your search term followed by a colon, e.g. order:123 will search for all transactions related to order with an ID of 123. The following context keywords are available:
- subscription - searches subscription ID
- order - searches order ID
- product - searches product ID
- variation - searches variation ID
Click on the Settings menu link under Subscriptions on the WordPress admin menu to access plugin settings. A subscription flow illustration is displayed at the very top of the page as a reference:

This is followed by several sections of settings fields.

- Generate renewal orders - how many days prior to Payment Due date renewal orders must be generated. Make sure this period is shorter than any billing cycle and trial length. Setting this to 0 will generate renewal order just before Payment Due action is performed.

- Enable payment reminders - whether to send payment reminders to users or not
- Send reminders before - how many days before next action (payment due, suspension, cancellation) should reminders be sent (separate multiple values by comma)

- Enable overdue period - whether non-payment on a payment due date should be followed by a grace (overdue) period or not
- Overdue period length - how many days should subscription be kept in overdue state before it is suspended or cancelled

- Enable suspensions - whether non-payment on a payment due date (or after overdue period ends, if any) should be followed by a suspension period or not
- Suspension period length - how many days should subscription be kept suspended before it is cancelled

- Allow customers to cancel subscriptions - whether customers should be allowed to manually cancel their subscriptions from the My Account page

- Allow customers to pause subscriptions - whether customers should be allowed to manually pause and resume their subscriptions from the My Account page
Any WooCommerce product can be turned into a subscription product. To do so, open any product and look for the "Subscription" checkbox (next to regular "Virtual" and "Downloadable" checkboxes). Subscription variations are controlled individually.
This is how to set up a subscription product:

- Subscription - check to make this product a subscription product
- Price is per - configure subscription billing cycle
- Free trial - configure an optional free trial of any length
- Sign-up fee - change a one-off signup fee
- Max length - maximum subscription length after which subscription should be expired
First billing cycle starts as soon as the first payment is received or corresponding order is marked processing or completed.
Days, weeks, months and years are supported as time units plus developers can define their own time units. Month consists of 30 calendar days, year consists of 365 calendar days.
Subscriptio changes product and cart item prices in multiple places on your store to indicate that a subscription is being purchased and to give customers more information about billing cycle, setup fees etc. Some examples of product prices after these changes:
- $9.99 / month
- $14.95 / 2 weeks with a sign-up fee of $19.99
- $49.95 / year with a free trial of 14 days

Cart item total will indicate price paid now and recurring price individually:

Customers can view and manage their subscriptions via standard WooCommerce My Account page:

Clicking on the subscription ID or button View will take customer to individual subscription page:

User can view subscription details, find related orders as well as edit subscription shipping address or cancel subscription (if allowed in settings).
Clicking on the Edit Address will display a standard WooCommerce address edit form. Clicking on other action buttons will display a prompt to make sure that user really wants to proceed with a given action.
The following emails are added to a list of WooCommerce emails and can be managed under WooCommerce > Settings > Emails:
- Subscription new order - can be sent when new subscription renewal order is generated
- Subscription processing order - can be sent when subscription renewal order is marked processing
- Subscription completed order - can be sent when subscription renewal order is marked completed
- Subscription payment reminder - can be sent at a predefined intervals before payment due, suspension and cancellation dates
- Subscription payment overdue - can be sent when subscription enters a grace period and its status is changed to overdue due to non-payment
- Subscription suspended - can be sent when subscription is suspended due to non-payment
- Subscription cancelled - can be sent when subscription is cancelled automatically or manually by shop manager or customer
- Subscription expired - can be sent when subscription is expired automatically because of maximum length reached
- Subscription paused - can be sent when subscription is paused by shop manager or customer
- Subscription resumed - can be sent when subscription is resumed by shop manager or customer
Copies of each email can be sent to shop manager if configured under settings.