Advanced Subscription

Presentation

advanced-subscription-logo

Advanced Subscription module for PrestaShop will increase your customer loyalty by purposing an automatic and secure schedule order creation method for your customers. In more, it will save your time by avoiding you to contact them for a remind.
This is very simple : your customer chooses one or several products, then click on the Subscribe button and choose a schedule. Once their subscription is active and valid, there nothing else to do. Orders will be created automatically following your customers schedules.

Payment methods compatible with recurring payments

The only payment methods available for the recurring orders generated by Advanced Subscription are the ones shipped with the module. However, they can’t be used for classic non-recurring orders.
As an example, the fact that the Stripe payment module is available within Advanced Subscription doesn’t implies its addition to the payment methods list offered for the conventional orders. You will have to install a Stripe payment module for that.

The list of the available payment methods for the subscription isn’t final. We are constantly working on adding new ones to meet your needs and these of your customers. Some payment solutions like Paypal are refusing to offer recurring payment with variable amounts, which is preventing us from adding this payment method. Instead, we recommend you to use Stripe, whose commissioning is immediate and free, without engagement and without mensual fees. Only a 1.4% + 0.25€ commission is applied to each of your transactions.

Install Advanced Subscription

To install Advanced Subscription, see our tutorial on how to install a module here.

Configure Advanced Subscription

Rules

Renewal planning

renewal-planning
This option allows you to define the renewal planning.
In case you chose a fixed date, an input will appear to let you choose the day.

If renewal falls on weekend, use preceding Friday

use-preceding-friday
This option allows you to avoid an order creation on weekend. The order will be created on the Friday preceding the renewal date.

Prevent your subscribers from making changes in their next scheduled delivery if their renewal day is planned in minus than …

prevent-your-subscribers-form-making-changes
This option allows you to avoid your customers to edit or cancel their next scheduled order if the date is closer than the given number of days.

Minimum period to apply between two orders

minimum-period-to-apply-between-two-orders
This option allows you to define the minimum number of days between 2 orders.

Let your subscriber change his renewal day

let-your-subscriber-change-his-renewal-day
This option allows your customer to change its renewal day, respecting the minimum delay between 2 orders.

Allow your subscribers to register vouchers

allow-your-subscribers-to-register-vouchers
This option allows your subscribers to use vouchers.
Vouchers can be generated using the Cart Rules of PrestaShop.

Allow your subscriber to place an immediate order

allow-your-subscriber-to-place-an-immediate-order
This option allows your customer to immediately create its first order when creating the subscription.

Allow your subscriber to postpone their next order

allow-your-subscriber-to-postpone-its-next-order
This option allows your customer to defer some or all of their next deliveries.

Enabled months for orders creation

enabled-month-for-orders-creation
This option allows you to select the month enabled for order creation.
If a month isn’t selected here, there won’t be any subscription related order created during this month.

Page for the Terms and Conditions

page-for-the-terms-and-conditions
This option allows you to define which CMS contains your terms and conditions regarding subscriptions.
A block will be displayed to your customers on their Subscriptions page, containing a link to this CMS page and a box to check as an agreement of the terms, that your customers will have to check before being able to enable their subscription.

Enable automatic notifications by e-mail

enable-notifications
This option allows you to automatically send notifications to your users by email regarding their upcoming renewal.
You will be able to define the number of days preceding the order creation required to send the notification, the sending time, and use the preceding Friday if the date of renewal falls on weekend.

Incentives

Incentive rules based on

incentives-rules-based-on
This option allows to select on what your incentive rules will be based.
You can choose between Order total, Product quantity, or Order quantity, but can’t select them all. If you change this option after creating some rules, you will loose these rules.

Customers group

customers-group
This option allows you to choose which customer group will be eligible to the incentive rules you will create. This will create a table and insert a tab corresponding to the selected customer group, so you can create your rule.
Each time you add a group, you will create a new tab, and can create different rules for the selected customer group.
You can also copy the rules created in a customer group by using the “Duplicate into this group” option, which will clone the settings from the current tab into a new tab corresponding to the selected customer group.

Incentive Configuration

tab-interface

Available from

available-from
This option allows you to define the required order total, product quantity, or the ID of the order from where to start enabling this incentive rule.

Reduction amount or Reduction percentage

reduction-amount-or-reduction-percentage
This field allows you to define the reduction to apply to this incentive rule.

You can’t select both methods at the same time.

Free shipping

free-shipping
This option allows you to offer the shipping when the customer is eligible to the incentive rule.

Payment modules

Several payment modules are defaultly shipped with the module. Each of them is listed above :

Bank Wire
This module is an extension of the default Bank Wire module from PrestaShop, allowing you to offer this payment method to your subscribers. As it is an extension, it inherits the configuration from the default module, which means that your bank informations have to be filled in the configuration of the Bank Wire module.

Cash on Delivery
This payment allows your subscriber to pay for its products when he gets its delivery. There isn’t any field to configure for this module.

Stripe
The “Configure” button allows you to configure Stripe for Advanced Subscription.
You will have to fill the required using the keys that you can find in your Stripe Account (on Stripe website).

When you are in Development mode, the Test Secret and Publishable keys are used, so the card used during the payment of the subscription won’t be debited.
When you select Production module, the Live Secret and Publishable keys are used, so the card used during the payment of the subscription will be debited.

Payfort
The “Configure” button allows you to configure Payfort for Advanced Subscription.
You will have to fill the required fields using the keys that you can find in your Payfort Account (on Payfort website).

Unlike Stripe, there isn’t a Development mode allowing your to test the module. Once keys are entered, transations will debit the used credit card.

Cron tasks

Cron task URL

cron-task-url
The URL here given is the URL to use to create your cron task on your server.
You can also execute this cron task manually by using the provided button.

If you enabled the multi-shop feature, you will have to execute a cron task for each shop.

Cron task manager

cron-tasks-manager
This option allows you to enable the compatibility between Advanced Subscription and the Cron Task Manager module from PrestaShop, which allows you to easily create cron task in a module. Once this option is enabled, a cron task is automatically created in the Cron Task Manager. You can manage it by editing the “Advanced Subscription” task.

Visual options

Include Bootstrap

include-bootstrap
This option allows you to include the Bootstrap CSS library, which has to be enabled for the module to work properly, but only if your theme doesn’t include it already.

Tax Rate

tax-rate
This option allows you to define which Tax Rate must be used to display the price with taxes.
You can use the Current product tax rate, which is the tax rate configured for the visited product, or impose a tax rate (this list is automatically retrieved from the tax rates available on your shop.

Save Time Block

save-time
This option allows you to display a “Save time” block on the product page.

Example :

save-time-example

Text to be displayed in the “Save Time” block

text-related-to-the-save-time-box
This option allows you to define the text that will be displayed in the “Save Time” block.
You can define the text for each language installed on your shop.

Save Money Block

save-money
This option allows you to display a “Save Money” block on the product page.

Example :

save-money-example

Text to be displayed in the “Save Money” block

text-related-to-the-save-money-box
This option allows you to define the text that will be displayed in the “Save Money” block, and you can use the “%amount%” variable to display the discount that your customer is eligible for.
You can define the text for each language installed on your shop.

Display a “No subscription yet” block

Display-a-no-subscription-yet-block
This option allows you to display a block indicating “No subscription yet” on the “Subscriptions” page to the customers that haven’t subscribed yet.

“No subscription yet” CMS Page

No-subscription-yet-cms-page
This option allows you to define which CMS Page content will be displayed in the “No subscription yet” block on the “Subscriptions” page for the customers that haven’t subscribed yet.

Member Card

Step 1

step-1
This step allows you to define the product that will be used as the member card, by using the search field offered.
There’s no need to create combinations or to set the price of this product, as this will be done below.

Step 2

step2
This step allows you to choose the customer group that will contain your members.
The group has to be created before, using PrestaShop Customers Groups. You can’t create a new one from here.

Step 3

step3
This step allows you to define the renewal periods and the corresponding price for your member card. The member column will show you how many customers subscribed for the given renewal period.

To activate a period, you must firstly check the box next to the frequency.

Advanced Styles (CSS)

advanced-styles
This field allows you to add CSS rules in the module’s files, so you can personalize the display more precisely.

Tutorial : Create your first subscription

In this tutorial, we are going to set up our first subscription, and its incentive rule.
Make sure you correctly installed the module, and configured Stripe.

First, we will define the renewal conditions. To do so, please go to the “Rules” tab of the configuration of Advanced Subscription.
In our case, we are going to define a fixed date of renewal, which will be the 15 of each month, and use the preceding Friday in case the date falls on a weekend.
To do so, select “Fixed” for the “Renewal planning” option, and indicate 15 in the input appearing next to the option. Don’t forget to check the “If renewal falls on weekend, use preceding Friday”, so we don’t create our orders on weekends.

Regarding the “Prevent your subscribers from making changes in their next scheduled delivery if their renewal day is planned in minus than” option, it is up to your preference. In this tutorial, we will use 3 days.

config-rules-1

As we are using a fixed date, we want to allow our customers to place an immediate order, so if a customer want to subscribe the 16th of a month, he will be able to proceed (his next renewal will be the 15th of the next month, as you configured it). We also want our customers to be able to postpone their order, so we will check the associated box too.

Finally, we will enable all the month for the orders creation, as our subscription is on a monthly basis, and we will offer this product every month of the year.

config-rules-2

We are now going to enable the subscription on a product of our shop. To do so, go to the Catalog -> Products tab.
Firstly, on your products listings, you can see that a new column has appeared, which is “Allow subscription”. This column allows you to quickly enable subscription for your products.

listing-product

If you want to access the subscription settings, like the incentives or the trial mode, you can edit the product page, or use the new view available at the “Catalog” -> “Subscriptions” tab.

However, you can’t configure the subscription exclusivity on the “Subscriptions” view.

When editing the product page, you will have access to these subscription settings, simply enable what you are needing. In our case, we are going to allow the subscription, allow the incentive, and define a mensual frequency (“1 month” checkbox).

config-product

Regarding the “Subscriptions” view, it will allow you to get an overview about your ongoing subscriptions, the current number of the subscribers, the stock available, and the basics settings (except the exclusivity) for each product that you can quickly edit by clicking on the Green or Red cross.

subscription-view

We are now going to create an incentive rule for our new subscription. To do so, go to the “Incentives” tab of the Advanced Subscription configuration.

In this tutorial, we are going to add a rule which offers the shipping for all our customers if the Order total is over 15€.

To do so, we will base our incentive rule on the Order total, and select the Customer group.

config-incentive-1

Set the “Available from” field to 15€, and check the “Free shipping” box.

config-incentive-2

Your rule is now created and visible on the front office.

result-front