My Cart

User Manual - Advanced Subscription Products

The Advanced Subscription Products extension allows organizing the sale of product-purchase and membership subscriptions on a Magento 2 store. The Admin gets able to create subscription plans which vary in fee types (trial, initial, % of regular), installments, payment schedules, subscription extending options and more. The plans can then be assigned to the products and fine-tuned considering the peculiarities of a product. Most types of products are supported. The Admin manages the subscriptions purchased with the help of specially-designed grids, and keeps customers informed on any updates to their subscriptions with the help of configurable email notifications. The Customer gets able to top up the Cart both with subscriptions and one-off products. The subscriptions of the same shipping date though made within different orders are expected for receipt on that very, same, date. On top of that, the extension enables customers with some powerful subscription monitoring and editing options, which could be accessed and exercised at any time.     

API documentation

 

Installing M2 Advanced Subscription Products

NOTE: To proceed with the installation of our additional modules, it is essential to first have the Advanced Subscription Products module installed. Kindly refrain from installing additional modules if the Advanced Subscription Products module is not yet installed.

To employ Stripe,  Authorize.net from ParadoxLabs, Adobe Payment Services, Braintree and/or Adyen payment methods with latest versions of the extension (starting 2.11.0), the following operations are expected:

  1. Install the official plugin for Magento 2
  2. Install Advanced Subscription Products official module
  3. Install the add-on for integration with M2 Advanced Subscription Products *

* Add-ons are included into the installation package of the extension.

The above sequence is critical if you are planning to install the add-ons with the help of the Command Line. When Composer is used, following the above sequence of steps is not important.

 

Refrain from installing packages for those payment methods you are not using. 

 

Command Line Installation

1. Backup your web directory and store database

2. Download the Advanced Subscription Products installation package

3. Upload the contents of the Advanced Subscription Products installation package to your store root directory

4. In the SSH console of your server, navigate to your store root folder:

cd path_to_the_store_root_folder

run the following command:

php bin/magento module:enable Aheadworks_Sarp2

To enable GraphQL, proceed with the following command:

php bin/magento module:enable Aheadworks_Sarp2GraphQl

To enable Adyen, Braintree or/and Stripe, install first the official modules of the payment gateways

and then proceed with the following commands to enable integration with M2 Advanced Subscription Products:

php bin/magento module:enable Aheadworks_Sarp2Adyen 
php bin/magento module:enable Aheadworks_Sarp2Stripe
php bin/magento module:enable Aheadworks_Sarp2FreePayment
php bin/magento module:enable Aheadworks_Sarp2Braintree (for Magento 2.3.*)
php bin/magento module:enable Aheadworks_Sarp2BraintreeByPaypal (for Magento 2.4.*)
php bin/magento module:enable Aheadworks_Sarp2Reports (optional - more details in the report section)
php bin/magento module:enable Aheadworks_Sarp2AuthNetCim
php bin/magento module:enable Aheadworks_Sarp2QuickView
php bin/magento module:enable Aheadworks_Sarp2Aps
php bin/magento module:enable Aheadworks_Sarp2Paypal
php bin/magento module:enable Aheadworks_Sarp2CustomerGroup
php bin/magento module:enable Aheadworks_Sarp2Psigate

then:

php bin/magento setup:upgrade

after:

php bin/magento setup:static-content:deploy -f

5. Flush store cache; log out from the backend and log in again

Make sure the installation is done from under the FTP administrator account. Otherwise, set 775 permissions to the store root directory after the extension is deployed.

Composer Installation

1. If you are installing an extension from Aheadworks for the first time, you need to add our composer repository to your Magento store:

Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

Run the following command:

composer config repositories.aheadworks composer https://dist.aheadworks.com/

On successful execution of the command you will be able to use the composer to install the extensions.

To install the extension:

2. Login to your ssh console and navigate to your store folder:

cd path_to_the_store_root_folder

3. Run the following command to install the latest version of the extension:

composer require aheadworks/module-sarp2

if you need to install a specific version, run this command:

composer require aheadworks/module-sarp2:<version>

 

Specify the version of the extension in <version>

When prompted, enter Public Key (Username) and Private Key (Password):

Public Key | Advanced Subscription Products for Magento 2

Both Public Key (Username) and Private Key (Password) can be found in My Projects and Licenses in your personal account on our site:

Access keys management | Advanced Subscription Products for Magento 2

 

Need to integrate M2 ASP to a payment method or GraphQL?

Make sure the official module of the payment gateway is installed and proceed with a corresponding command:

composer require aheadworks/module-sarp2-adyen 
composer require aheadworks/module-sarp2-stripe
composer require aheadworks/module-sarp2-free-payment
composer require aheadworks/module-sarp2-braintree (for Magento 2.3.*)
composer require aheadworks/module-sarp2-braintree-by-paypal (for Magento 2.4.*)
composer require aheadworks/module-sarp2-graph-ql
composer require aheadworks/module-sarp2-aps
composer require aheadworks/module-sarp2-paypal

4. Enable the extension:/p>

php -f bin/magento module:enable Aheadworks_Sarp2

Need to enable a payment method or GraphQL?

Make sure the official module of the payment gateway is enabled and proceed with a corresponding command:

bin/magento module:enable Aheadworks_Sarp2Adyen 
bin/magento module:enable Aheadworks_Sarp2Stripe
bin/magento module:enable Aheadworks_Sarp2FreePayment
bin/magento module:enable Aheadworks_Sarp2Braintree (for Magento 2.3.*)
bin/magento module:enable Aheadworks_Sarp2BraintreeByPaypal (for Magento 2.4.*)
bin/magento module:enable Aheadworks_Sarp2GraphQl
bin/magento module:enable Aheadworks_Sarp2Aps
bin/magento module:enable Aheadworks_Sarp2Paypal
bin/magento module:enable Aheadworks_Sarp2CustomerGroup
bin/magento module:enable Aheadworks_Sarp2Psigate

Next, register the extension:

bin/magento setup:upgrade

Recompile the Magento store if you are in the Production mode:

bin/magento setup:di:compile

To verify that the extension is enabled, run this command:

bin/magento module:status

Clean store cache, by running the following command:

bin/magento cache:clean

Log out and Log in the backend again.

Want to use the  Hyvä theme module?

To install the Hyvä theme module, you need to install the module via composer using command:

composer require hyva-themes/hyva-compat/magento2-aheadworks-sarp2 

To upgrade the extension:

5. To update or upgrade an extension:

Download the updated extension file. Take note of the module-name and version. Export the contents to your Magento root.

If a composer package exists for the extension, run one of the following.

Update per module name:

composer update aheadworks/module-sarp2

Updater per version:

composer require aheadworks/module-sarp2:<version>

>When updating to version 2.11.0, if you are planning to keep on using Stripe, install the patch to integrate the official Stripe module with M2 Advanced Subscription Products:

composer require aheadworks/module-sarp2-stripe

Need Stripe when updating to V 2.11.0?

aheadworks/module-sarp2-stripe: 1.0.4 require stripe/module-payments:>=2.5.4

Need Stripe when updating to V 2.13.0?

aheadworks/module-sarp2-stripe: 1.0.4 require stripe/module-payments:>=2.5.4

Need Adyen when updating to V 2.13.0?

aheadworks/module-sarp2-adyen: 1.1.2 require adyen/module-payment:>=6.6.9

Run the following commands to upgrade store, deploy it, and clean the cache.

bin/magento setup:upgrade --keep-generated 
bin/magento setup:static-content:deploy
bin/magento cache:clean

 

 

 

Set up cron

If you have already configured cron jobs for your Magento installation then you can skip this step. Read the following instructions on setting cron job for your Magento store: Magento user guide.

In most cases, it is enough to run the following command in the SSH console of your server: 

crontab -e

And insert the following lines:  

*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento cron:run 
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/update/cron.php
*/3 * * * * php -c <ini-file-path> <your Magento install dir>/bin/magento setup:cron:run

Remember to confirm the Save request on exit.

 

Uninstalling M2 Advanced Subscription Products

Since Magento introduced declarative Database you need to be very carefull when uninstalling or disabling the module.

NOTE: Please be very careful when uninstalling/disabling this module. This module uses a declarative DB scheme. Once the module is uninstalled the DB tables will be lost.

Manual Removal

1. Disable the module and the integration patches (if any) by executing the following commands:

php bin/magento module:disable Aheadworks_Sarp2
php bin/magento module:disable Aheadworks_Sarp2Adyen
php bin/magento module:disable Aheadworks_Sarp2Stripe
php bin/magento module:disable Aheadworks_Sarp2FreePayment
php bin/magento module:disable Aheadworks_Sarp2GraphQl
php bin/magento module:disable Aheadworks_Sarp2AuthNetCim
php bin/magento module:disable Aheadworks_Sarp2QuickView
php bin/magento module:disable Aheadworks_Sarp2Reports
php bin/magento module:disable Sarp2Braintree
php bin/magento module:disable Sarp2BraintreeByPaypal 
php bin/magento module:disable Sarp2Aps
php bin/magento module:disable Aheadworks_Sarp2Paypal
php bin/magento module:disable Aheadworks_Sarp2CustomerGroup
php bin/magento module:disable Aheadworks_Sarp2Psigate
php bin/magento setup:upgrade

2. Remove the files of the extension and integration patches from the following folders:

app/code/Aheadworks/Sarp2
app/code/Aheadworks/Sarp2Adyen
app/code/Aheadworks/Sarp2Stripe
app/code/Aheadworks/Sarp2FreePayment
app/code/Aheadworks/Sarp2GraphQL
app/code/Aheadworks/Sarp2AuthNetCim
app/code/Aheadworks/Sarp2QuickView
app/code/Aheadworks/Sarp2Reports
app/code/Aheadworks/Sarp2Braintree
app/code/Aheadworks/Sarp2BraintreeByPaypal 
app/code/Aheadworks/Sarp2Aps
app/code/Aheadworks/Sarp2Paypal

Automatic Removal (via Composer)

1. Disable the extension and the integration patches by executing the following commands:

bin/magento module:uninstall Aheadworks_Sarp2
bin/magento module:uninstall Aheadworks_Sarp2Adyen
bin/magento module:uninstall Aheadworks_Sarp2Stripe
bin/magento module:uninstall Aheadworks_Sarp2FreePayment
bin/magento module:uninstall Aheadworks_GraphQL
bin/magento module:uninstall Aheadworks_Sarp2AuthNetCim
bin/magento module:uninstall Aheadworks_Sarp2QuickView
bin/magento module:uninstall Aheadworks_Sarp2Reports
bin/magento module:uninstall Sarp2Braintree
bin/magento module:uninstall Sarp2BraintreeByPaypal
bin/magento module:uninstall Sarp2Aps
bin/magento module:uninstall Aheadworks_Sarp2Paypal
bin/magento module:uninstall Aheadworks_Sarp2CustomerGroup
bin/magento module:uninstall Aheadworks_Sarp2Psigate

 

 

 

 

Compatibility

Module Version 

Magento Version 

PHP

2.17.3  and earlier versions

2.3.Х - 2.3.6

2.4.0 - 2.4.3

7.4 and earlier versions

As of version 2.18.0

2.3.7-p3+

2.4.0 - 2.4.4

7.4, 8.1

As of version 2.19.0

2.4.0 - 2.4.5

7.4, 8.1

As of version 2.19.2

2.4.4 - 2.4.5

8.1

As of version 2.19.3

2.4.4 - 2.4.6

8.1

 

 

Introducing M2 Advanced Subscription Products

The Advanced Subscription Products module comes with a set of powerful features out of the box:

  • Editing options and quantity of products within the subscription: permanently or one-time-only;
  • On-the-fly editing, extending and renewing of active subscriptions from front-end; 
  • Combined shopping cart for single and recurring purchases;
  • Support of Advanced Pricing for subscriptions
  • Free shipping for subscriptions only
  • Support of various payment gateways and other payment options;
  • Cohesive processing of same-day subscription orders; 
  • Installments Mode for product custom options;
  • Separate scheduling of subscription trial and regular fees;
  • Simple, virtual, configurable, bundle, and downloadable products can be configured as subscriptions;
  • Email notifications on updates to subscription payments and subscription status;
  • Web API and GraphQL support;
  • Integration with Reward Points;
  • Support of Recalculation of Price Totals for recurring orders.

Extension Logic

With the help of the present module, the Admin can create and manage subscription plans, as well as monitor and cancel the existing subscriptions. Plans can be assigned to one or several products. Each product can have multiple subscription options (plans) assigned to thereof at the product configuration level. Subscriptions are added to each product individually or in bulk. Subscriptions created with the help of the Magento 2 Subscription & Recurring Payments module can be configured and managed with the present extension too. The cohesive processing of same-day orders combines subscription products of the same delivery dates under a single order and thereby cuts away unnecessary expenditures on delivery. Customers are free to update, edit, extend, renew and cancel purchased subscriptions from a single tab in My Account.  

Integrations

What's New?

The latest versions of the extension (2.22.0) enable the following:

  • GraphQL update
  • PayPal Payflow Pro Support
  • GraphQL additional endpoints

Are there any known issues?

  1. Currently, checkout with multiple addresses is not supported.
  2. Downloadable products with $0 price and multiple custom options are known to work incorrectly. 
  3. A bug in Magento 2.3.2 reveals itself in an error in response to an attempt to edit configurable products added to Cart (or ordered products). Editing products within a subscription is not be possible if your Magento store is of version 2.3.2.
  4. There have been reported cases when payment cards request the 3D Secure password, even for recurring payments made with Stripe. 
  5. Product Price on the Subscription Profile page is not displayed correctly, when the subscription is purchased against a Tier price.
  6. After adding an item to the cart and creating an order the initial fee specified for a subscription may change slightly (within $ 0.1). Changes in the initial fee depend on the number of options in the bundle and the qty of products in these options.
  7. On the order page bundle’s child product price does not convert in the selected currency, but the total price of the bundle is displayed correctly.
  8. Products don't appear on the Category page with Bundle products. The issue is reproduced for a bundle product with the subscription type “Subscription only“. We recommend setting up products with the Subscription type “Optional” or disabling these products. 

 

 

 

M2 Subscription Products on Backend

Extension Settings

To configure the extension go to Stores > Configuration > AHEADWORKS EXTENSIONS > Subscription and Recurring Payments 2. The config page comes in five sections: General, Product Page, Engine, Email Settings and Subscription Editing.

General Settings

The General section includes the following parameters:

  • Shipping Method For Subscription Orders - select the default shipping method for subscriptions: flat rate (fixed) or table rate (best way) (is used when the shipping method from the initial order cannot be applied);
  • Enable Extension Log - set to Yes if you need to log subscription updates, as well as the actions of the Customer and Admin;
  • Use Product Advanced Pricing – set to Yes to use product special, group and tier prices to calculate the prices of the subscriptions by default;
  • Recalculation of Totals enables application of the lowest possible price to recurring orders. Use Recalculation of Totals – set to Enable to  recalculate totals upon forming recurring subscription orders to offer the best price to customers.
  • Disable Guest Checkout For Subscription - If the option is set to No (by default), guest checkout will be available for subscription products. If it is set as Yes, a popup will come up on the screen and ask for registration or authorization. Pay attention that if the magento option Allow Guest Checkout is set to No, guest checkout will be unavailable in both cases.

Extension Settings | Advanced Subscription Products for Magento 2

How logging is arranged?

If logging is enabled, all the information about subscription-related transactions (events) will be added to a text file on a server. This information does not contain any customer personal data. It is listed as entity ID's, including subscription and customer ID's, the number of payment attempts left for the related subscription, subscription status, etc.

The extension logs the following:

/var/log/aw_sarp2/engine.log

/var/log/aw_sarp2/payment.log

 

How Advanced Pricing options affect subscription prices?

When Use Product Advanced Pricing is set to Yes the following takes place:

  • Initial fee

The Initial Fee of a subscription remains unchanged, Advanced Pricing options do not affect initial fees.

If you are planning to make discounts on the total price of a subscription, including its Initial Fee, consider configuring a Cart Price rule.

  • Trial and Regular prices

When the Trial and/or Regular prices of a subscription are set as percent (%) of the original price, these % values are applied to the amounts of the Advanced Pricing options to calculate the Trial and Regular prices. Rounding is then applied to the resulting amounts, if set in the settings of the plan.

When a Regular Subscription price is set as a fixed amount, the lower of the two (fixed Regular subscription price and Advanced Pricing option) is used as the price of the subscription.

The fixed Trial subscription price is disregarded. It is up to the Merchant to set it to a reasonable amount, which can be higher or lower than the Advanced Pricing option.

Learn more on Advanced pricing of products in the official Magento 2 user guide.

Engine Settings

The Engine section has the following parameters to set:

  • Merge same-day subscriptions - set to Yes to group subscriptions with the same delivery date and time (within a cron run) into single orders (so that customers can save on shipping);
  • Number of Attempts to Charge Failed Subscriptions - a selector for a whole numeric value (ranging 1-10) to indicate the number of reattempts to charge a subscription fee in case of failure (per day). 

Engine Settings | Advanced Subscription Products for Magento 2

How same-day subscriptions are merged?

The options are applied to subscriptions of shippable products which the same shipping addresses. In case of different shipping methods, the one set as "Shipping Method For Subscription Orders" will be used. Make sure to set up default shipping method for subscription orders (the option above).

Product Page

The Product Page section contains the following settings:

  • Show Subscription Plan Selector As - decide between the two modes of Subscription Plan Selector as it will appear on the storefront page: Radiobutton or Dropdown;  
  • Subscribe and Save Text - suggest a title for the hint to appear between the one-off purchase option and the list of subscription options (empty by default, not displayed when empty);
  • Tooltip for Subscribe and Save - suggest a description of the hint to appear in a bubble when clicking or tapping on the question mark icon next to the hint (empty by default);
  • Subscription Plan Description on Product Page - the Classic/Advanced switcher to define the format of the Regular and Trial Payments passage in the subscription details block on the following pages:
    • Product Page
    • Cart Page
    • Order Success Page
    • Order Page (backend/frontend)
    • Subscription Page (frontend)
    • Order Email notification (native Magento)

Product Page | Advanced Subscription Products for Magento 2

The Subscribe and Save Text and Tooltip for Subscribe and Save text-fields support HTML.

 

If there are lot of options of subscriptions for a product, the list of thereof may take a lot of space on the product page. For convenience reasons opt for the Dropdown mode in the Show Subscription Plan Selector As. The Radiobutton mode is used by default. 

 

What will I see in the alternative format of the details of a subscription?

1. Details of repeated trial payments are displayed in the following way: “{Trial payment price} / Day”, “/ Week”, “/ Month”.

Example

Original Format

Alternative Format

Trial payments (Weekly)      20 $ starting from {date}

Trial payments      20$ / Week starting {from date}

2. If the number of payments is given, then the format is the following: “{Trial payment price} / {Repeat Trial Payments} for (Number of Trial Payments) {Repeat Trial Payments} starting from {date}”.

Example

Original Format

Alternative Format

Trial payments (Weekly)      2 x 20 $ starting from {date}

Trial payments      20$ / Week for 2 weeks starting from {date}

3. If the value of Number of Payments is 1, the format is the following: “{Trial payment price} / {Repeat Trial Payments} for 1 {Repeat Trial Payments}

4. If the value of Repeat Trial Payments is “Every Xth {period}”, the format is the following: “{Trial payment price} / {Repeat Trial Payments} for {Number of Trial Payments } * {Repeat Trial Payments (numeric part of the value)} {period}”.

Example

Original Format

Alternative Format

Trial payments (Every 5th day)      2 x 20 $ starting from {date}

Trial payments      20$ / Every 5th day for 10 days starting {from date}

Same format is true for the details on regular payments.

Read more on the variable used herein in the Creating/Editing Subscription Plans Chapter.

Email Settings

The Email Settings section contains the following parameters:

  • Email Sender - the name of the default email sender;
  • Successful Billing Email - enable/disable email alerts about successful subscription billing;
  • Billing Successful Email Template - the email template for successful subscription billing alerts;
  • Failed Billing Email - enable/disable email alerts about failed subscription billing;
  • Billing Failed Email Template - the email template for failed subscription billing alerts;
  • Send BCC to Admin - the email addresses of the admins to receive blind copies of the emails on subscription billing failure (use commas to separate addresses, leave empty to disable the feature);
  • Send Failure Alert to Admin - the email addresses of the admin to receive notifications on the order cancellation because of failed shipping or payment;
  • Failure Alerts For Admin Templates - the email templates for admin about failure alert ;
  • Subscription Created Email Template - the email template for admin about created subscriptions;

Email Settings | Advanced Subscription Products for Magento 2

  • Subscription Cancelled by Admin Email - enable/disable email alerts about canceled subscription (by Admin);
  • Subscription Cancelled by Admin Template - the email template for canceled subscription alerts (by Admin);
  • Subscription Cancelled by Customer Email - enable/disable email alerts about canceled subscription (by Customer);
  • Subscription Cancelled by Customer Template - the email template for canceled subscription alerts (by Customer);
  • Send Reminder About Next Billing, Days - the number of days before the next billing when the corresponding email reminder must be sent;
  • Next Billing Email Reminder Template - the email template for next billing reminders;
  • Send Secure Link to - enable/disable to create a secure link and email it to customers automatically, so customers by using this link are able to see the subscription details without the necessity to log in.

Email Settings | Advanced Subscription Products for Magento 2

 

Notifications are sent in bulk on each cron launch. Notifications on canceled subscriptions are also sent on cron launch. It does not matter who canceled the subscription, the Admin or the Customer - the notification thereof will follow on cron launch.

 

How invoice emails are sent?

In order to send invoice emails to customers, view the required invoice in Sales > Invoices and click on Send Email.

 

Notifications for free trial subscriptions

First notification that announces the customer successfully subscribed:

Dear {customer name}

You have successfully subscribed to {product name}.

Your subscription ID is {subscription ID}. You can access your subscription by following this link {secure link}.

If you need any assistance, please feel free to contact us at {store details}.

Second email flow - in case subscription was created from backend with ‘Free Trial’:

Customer successfully subscribed

Dear {customer name}

You have successfully subscribed to {product name}.

Your subscription ID is {subscription ID}

Now you only need to input valid payment details to benefit from the subscription offer. You can do that by following the secure link {secure link}.

If you need any assistance, please feel free to contact us at {store details}.

When no payment details were input

Dear {customer name},

We will have to suspend your subscription in case no valid payment details shall be input shortly.

You can follow this link {secure link} to input you valid payment details and benefit from the subscription offer.

Feel free to contact us for more information on the matter at {store details}.

Reminder about next billing 

Dear {customer name},

The next billing date for the products listed below is {billing date}

{product name}

Total amount (including shipping) will be {total amount}

Please do not forget to input valid payment details to continue enjoying the benefits of the subscription offer. You can do so by following this secure link {secure link}.

Feel free to contact us for more information on the matter at {store details}.

Thank you for being our subscriber!

When secure link is disabled

Dear {customer name}

You have successfully subscribed to {product name}.

Your subscription ID is {subscription ID}. You can track your order status by creating an account.

Email Address: [email protected] (customer’s email)

If you need any assistance, please feel free to contact us at {store details}.

Please note: in case the secure link is allowed for guest users only then we send regular link to subscriptions and users should be forced to sign in.

Subscription Editing Settings

The 'Subscription Editing' section allows configuring the following parameters:

  • Switch to Another Plan - by choosing 'Yes' you will allow registered buyers to swap active subscription plans at any time they wish;
  • Change Shipping Address - by choosing 'Yes' you will allow registered buyers to change their shipping address linked to an active subscription at any time they wish;
  • Allow Editing Next Payment Date - by choosing 'Yes' you will allow registered buyers to edit the date of next payment related to an active subscription at any time they wish;
  • Earliest Next Payment Dates, Days - type in the number of days towards earliest next payment within a subscription (Set to 1 to allow choosing "tomorrow", and then on likewise);
  • Allow Next Payment Date Editing for Membership - choose 'Yes' to allow registered shoppers to edit the date of the next payment within their Membership subscriptions;
  • Allow editing product options and quantity - choose 'Yes' to allow registered shoppers to edit the options and/or the quantity of the products within a subscription;
  • Allow one-time editing of product options and quantity - choose 'Yes' to enable registered shoppers with the One-Time mode of editing the options and/or the quantity of the products within a subscription;
  • Allow Customer To Cancel Subscriptionset to ‘Yes’ to allow customers to cancel/renew subscriptions by default. The value set herein can be overridden for each subscription plan on the Plan page on Backend. When customers are not allowed to cancel subscriptions, the Cancel/Renew buttons are not displayed on the My Subscriptions grid;
  • Allow Adding Products To Nearest Subscription - set to 'Yes' to allow customers to add products from the cart to the nearest subscription;
  • Allow Adding Products To Subscription - enable to allow customers to add a new subscription to their existing subscription plan, if it meets a number of conditions;
  • Allow Customer To Skip Product From Next Payment - set to ‘Yes’ to allow customers to exclude a particular subscription product from their next subscription payment. 

Subscription Editing Settings | Advanced Subscription Products for Magento 2

The Allow Editing and Allow One-Time Editing options define the mode of editing of products within a subscription: Permanently or For Next Order Only (one-time), the functionality of which is disclosed as follows:

  • When "Allow editing product options and quantity" is set to Yes and "Allow one-time editing of product options and quantity" is set to No, the changes customers make to the options of a product or to its quantity will be accepted permanently for all subsequent orders within the subscription.
  • When both configuration options are set to 'Yes', both modes are available to the Customer. The choice of one is embodied via a popup, which is shown to the Customer on completion of the updates to the subscription. When the 'For Next Order Only' mode is selected in the popup, all changes to the configuration of the product and/or its quantity within the subscription will be applied to the upcoming subscription order only, all subsequent orders of the subscription will be processed against the settings of the previously delivered subscription.

What will happen in case of multiple updates to a subscription made in the One-Time mode during the period between the subscription orders?

If the Customer makes changes to a subscription multiple times within the period between the two subsequent orders (for example, Nth and N+1st) and each time opts for the "One time only" alternative, he or she will receive the next order (N+1st) as per the most recent changes made, and then all changes to the options of the products within the subscription will be rolled back to their state as per the previously received order (Nth).

 

When "Allow editing product options and quantity" is set to No the "Allow one-time editing of product options and quantity" setting is not available and hidden from the list of settings. 

Subscription Plans Grid

Having configured the main settings of the extension, proceed to create subscription plans for products. Go to Sales → SARP 2 by Aheadworks → Plans.

The plans are aggregated into the Subscription Plans grid. Subscriptions data is presented in the following columns:

  • ID - the identification number of the subscription;
  • Name - the descriptive name of the subscription;
  • Status - the status of the subscription (enabled/disabled);
  • Initial Fee - the indicator of an initial fee set for the subscription (yes/no);
  • Trial Period - the indicator of a trial period set for the subscription (yes/no);
  • Total Number of Payments - the number of payments which will happen within the subscription;
  • Number of Trial Payments - the number of trial payments which will happen within the subscription;
  • Membership ModelYes if the model of subscription is Membership, No otherwise;
  • Offer to continue subscription – Yes if the subscription can be extended, No otherwise.

Subscription Plans Grid | Advanced Subscription Products for Magento 2

With the 'Actions' box above the grid, you can manage your subscription plans one by one or in bulk.

Creating/Editing Subscription Plans

To edit a plan, click on the name thereof in the Subscription Plans grid.

Will plan editing affect existing subscriptions?

Plan editing will not affect existing subscriptions. Changes, made to a subscription plan, will be applied only to subscriptions purchased after plan editing, with the exception: Email settings of the plan will be applied to existing subscriptions as well. That is, all active subscriptions will always request data for emailing from the corresponding subscription plan.

To create a new plan, click on the Add Plan button at the top right of the page.

The New Plan page will come in six sections: General, Regular Period Schedule, Trial Period Schedule, Additional Pricing Settings, Continue Subscription Settings and Storefront Description.

General Settings

The 'General' section allows setting the following parameters:

  • Enabled - set to Yes to enable the subscription plan;
  • Name - suggest the name of the plan;
  • Sort order - the whole numeric value to tell the relative order in which the subscription will feature on the list of subscriptions in the store (0 - top position).
  • Enable Initial Fee - set to Yes to enable an initial fee for the plan;  
  • Enable Trial Period - set to Yes to enable a trial fee for the plan;
  • Allow Customer to cancel Subscription - set to ‘Yes’ to allow customers to cancel/renew the subscription plan. Tick the “Use value from Config Settings” check-box to use the default value of Allow Customer to Cancel Subscription as set in the Configuration.  When customers are not allowed to cancel the subscription, the Cancel/Renew buttons are not displayed on the My Subscriptions grid.

General Settings | Advanced Subscription Products for Magento 2

Scheduling Settings

The 'Schedule' section allows defining the number of payments and payment frequency both for regular and trial periods. 

Regular Period Schedule

The block allows configuring the following parameters:

  • Number of Payments - the whole numeric value to tell the number of payments within the subscription period;
  • Repeat Payments - the frequency of payments selector with options: Daily, Weekly, Monthly and Every (further configurable);
  • Send Reminder About Next Billing (in days) - the number of days before the next billing when the corresponding email reminder is to be sent (untick the "Use value from Config Settings" to indicate a custom value);
  • Membership Model - the Yes/No toggle to enable or disable an extra cycle when the subscription comes to an end (Compare: when a product-purchase subscription expires buyers have to resubscribe should they wish to continue the subscription).

You can create infinite subscription plans by leaving the 'Number Of Payments' field empty.

Scheduling Settings | Advanced Subscription Products for Magento 2

Trial Period Schedule

The section (see above) allows configuring the following parameters:

  • Number of Trial Payments - the whole numeric value to tell the number of payments within the subscription period;
  • Length is the same as for regular payments - the Yes/No toggle to unfold/fold up the Trial Period Scheduling options;

Trial Period Schedule | Advanced Subscription Products for Magento 2

Additional Pricing Settings and Storefront Description 

The Additional Pricing Settings section allows the following:

  • Set the regular payment price (as a % of the product price);
  • Set the trial payment price (as a % of the product price), if the trial period is enabled;
  • Define the price rounding logic (up to XX.99, XX.90, or X9.00, down to XX.99, XX.90, or X9.00, or don't round).

Additional Pricing Settings and Storefront Description  | Advanced Subscription Products for Magento 2

Continue Subscription Settings 

The Continue Subscription Settings section shows the following options for subscription plan configuration:

  • Offer to continue subscription - the Yes/No toggle to enable or disable the option to extend the subscription (both on the front and backend);
  • When to send (in days) - the whole numeric value to indicate the number of days when a notification on subscription extending option is to be sent to a customer;
  • What to send - a drop-box to select an email template for the notification (AW_Offer to Continue Subscription Template by default)

'When to send' values:

Negative number will send the email in X days before the last billing.

Zero will send the email on the day of the last billing.

Positive number will send the email in X Days after the last billing. Warning! The value here can not be bigger than the length of the regular period.

 

How purchased subscriptions react to any alterations herein? 

The settings in this section, when altered, will apply both to new and existing subscriptions.

 

Continue Subscription Settings  | Advanced Subscription Products for Magento 2

The default "Offer to Continue Subscriptions Template" contains an active link which takes a customer to the My Account area on the storefront and performs the Extend Subscription operation. The link remains active only for the length of the billing cycle as per the expired subscription. The link is inserted into the email by the following variable: {var extendLink}. The variable can be added manually to any subscription-related email.

Email template, an example of code with the 'extendLink' variable inserted:

{{depend extendLink}} 
Your subscription ends soon.
<a href="{{var extendLink}}" target="_blank">Click here to extend it.</a>
{{/depend}}

Storefront Description

The section comes with the following parameters:

  • Store View - the selector of a store-view;
  • Title - the text-box to contain the title of the subscription plan as per the store view.

To add a store view and suggest a plan title for it, click the Add button below the Store View selector. 

Should no title be indicated for a store view, the Plan Title will be used as configured in the General Settings.

Storefront Description | Advanced Subscription Products for Magento 2

Examples of Subscription Plan Settings

Free 10-day Trial

I want to sell subscription tickets to yoga classes, and supply each subscription with a 10-day free trial, so that customers could come and try the classes to make sure they are very good and worth paying for. Customers will have to enter their card when purchasing the subscription with a free trial. An initial fee on registration of a customer for the class is to be set (paid once for a subscription). When purchasing the subscription customers will be charged only the initial fee. When the free 10-day trial elapses, customers will be charged the first payment within the subscription. That will be the date to start the regular payments period. No charge will follow, if customers cancel the subscription within the trial period (first 10 days). 

Enabled Initial fee - yes;

Enable Trial Period - yes;

Number of payments - 12 (annual subscription);

Regular Payment / Repeat payments - Every 1st month (monthly payment);

Membership Model - no (to collect an initial fee with next purchase of the subscription);

Number of Trial Payments - 1;

Trial Payment / Repeat payments - Every 10th day;

Regular Payment Price (% of product price) - 80;

Trial Payment Price (% of product price) - 0;

Adding Subscription Plans to Products

There are two ways to add a subscription plan to a product:

  • individually;
  • as part of a mass action.

Note, that more than one subscription can be added to a product.

Downloadable products with a $0 price and multiple custom options are known to work incorrectly.

These issues are going to be fixed in one of the upcoming releases.

Adding subscription plans to individual products

Go to Catalog → Products and open a product page. Scroll down to the 'Subscription Configuration' section. This is where you can configure subscription plan settings for the given product.

Adding subscription plans to individual products | Advanced Subscription Products for Magento 2

First, define the subscription model (use the 'Subscription' box for this purpose):

  • No - the product will be available only as a one-off purchase;
  • Optional - the product will be available both as a subscription and one-off purchase;
  • Subscription only - the product will be available only as a subscription.

Is there difference in assigning subscriptions to child and parent products?

Admin is able to configure the subscriptions for complex (parent-) products only. It means that a block before Subscription Options will be available only for parent products, and it will be hidden for child products. For child products, it is advised to reassign only the price of a subscription plan, if need be.

Next, decide if the Advanced Pricing options set for the product are to be used to calculate the subscription fees and prices. Use the Use Product Advanced Pricing toggle to do so. Tick the “Use Config Settings” check-box to use the default value of the given parameter.

To finalize the plan, tweak the following options of the subscription:

  • Website - If you run several websites, you can configure plan parameters for each. Use the 'Website' box to select a website.
  • Plan - Choose a subscription plan from the 'Plan' box. You can use same plan for many products.
  • Initial fee - The amount of the initial fee, if enabled in the Plan Settings. By default, 0.00. Set the initial fee manually. 
  • Trial - The amount of the product fee during the trial period, if enabled in the Plan Settings. By default, the fee is calculated from the trial fee values as set in the Plan Settings.  
  • Regular - The amount of the regular subscription fee as a % of the product price (see Plan Settings). By default, the regular fee is calculated from the regular fee values as set in the Plan Settings.

Tick the Use plan settings checkbox for automatic (default) trial and regular fees calculation. Tick it away to alter the values of the fees.

 

What price will be displayed on the product page?

Regular subscription fee will be displayed on the product page (and in widgets) instead of the product price.

There could be assigned more than one subscription plan to a product. The product page will feature the regular fee of the plan with the highest sort order.

Installments Mode - The mode of subscription fee calculation when the price of a custom option (if any is added to the product) is split between regular subscription payments.

Example of Installments Mode use
The product has the following parameters:

  • regular subscription fee: $1
  • Custom option price: $12
  • Number of payments: 12 (monthly)

Installments mode switched off:

each payment is: $1 (regular fee) + $12 (custom option) = $13 every month, $156 in total for 12 months.

Installments mode switched on:

each payment is: $1 (regular fee) + $12 (custom option) / 12 (number of regular payments) = $2 every month, $24 in total for 12 months.

Click Save in the top right of the page to apply the configuration.

 

Adding subscription plans to bundle products

To create a Bundle Product follow Catalog → Products at the Add Product dropdown click on Bundle Product.

Bundle Products Support | Advanced Subscription Products for Magento 2

Configure a bundle product as a simple product.

Then, Sarp2: Subscription Configuration must be specified. 

Select the type of subscription: no, optional, subscription only.

Set up Use product advanced pricing and add Subscription options.

 Subscription options | Advanced Subscription Products for Magento 2

After all these steps have been completed click on the Save button.

After order confirmation, Customers can check information about subscriptions in My Account → My Subscriptions. Here Customers can see subscriptions' detailed data and manage it.

My subscriptions

Adding subscription plans to grouped products

To create Grouped Products, navigate to Catalog → Products → Add Product → Grouped Product. Once created, open the grouped product and scroll down to the Subscription Options section. 

Here, similar to simple products, specify the Purchase type: One-Time Purchase or Subscription, Subscription Only, or One-Time Purchase Only (No Subscription).

Next, set up Use Product Advanced Pricing and add Subscription Plans

Note that for grouped product types, prices are taken from the plan settings. It's not possible to set a fixed price due to the nature of grouped products. Therefore, select relevant subscription plans or create new ones specifically for grouped products, where you'll specify the subscription price.

Note: Grouped products don’t have initial fee.

Once all these steps are completed, click on the Save button.

Customers can change how many of each item they want from a grouped product. Then, the system calculates the total for those items and applies the discount from the subscription plan. 

 

Example:

Groped product: Yoga Set (a Strap for $14, a Brick for $5, and a Roller for $19)

Customer order: 2 Straps, 1 Brick, and 0 Rollers

Subscription Plan: 20% from price for trial and 50% from price for regular payment (no rounding)

Trial price calculation: (2 x $14 + $5) x 20% = $6.60

Regular price calculation: (2 x $14 + $5) x 50% = $16.50

Grouped product subscriptions

 

When a customer adds a grouped product to the Cart, each item of the grouped product is displayed separately with the Subscription status. 

Subscription status in grouped product Magento 2

After order confirmation, customers can check information about subscriptions in My Account → My Subscriptions. Here, they can view detailed subscription data and manage it accordingly.

 

Adding subscription plans to products in bulk

Go to Catalog → Products, choose products to which you would like to add subscriptions, click the 'Actions' box and select 'Update attributes'. 

Adding subscription plans to products in bulk | Advanced Subscription Products for Magento 2

This will take you to the 'Update Attributes' page. Scroll down to the subscription editing fields.

Update Attributes page | Advanced Subscription Products for Magento 2

Assign a subscription type and set other parameters in the same fashion as for individual products (see above). Click the 'Save' button in the top right corner to save changes. You will be redirected to the 'Products' page. 

Configuring Free Shipping for Subscriptions

How to configure free shipping for subscriptions

Free Shipping for Subscriptions is implemented with the help of Cart Price Rules. Do that on the New Cart Rule page in the Actions section (Marketing → Cart Price Rules → Edit / New Rule → Action).

The section brings forward the following configuration options:

  • Condition block: native Magento 2 options of Product Attributes and Cart Item Attributes, as well as the condition of subscription existence. The latter is the enhancement brought forward by the given module.
  • Free Shipping dropdown: No, For matching items only, For shipment with matching items.

Thereby, with M2 ASP (starting version 2.12.0) installed on the store, a Cart Price rule can have two tiers of conditions:

  • the native Magento 2 cart price condition, which specifies when the rules is to be applied, and
  • the free shipping condition, which specifies which cart items are to be shipped free of shipping charge

Every time the cart price condition enables the Cart Price Rule, the free shipping condition will work both for the initial subscription order and all the recurrent subscription orders. Once the cart price condition is not performed, the free shipping condition is dropped and is not performed too. This can happen, for example, when the Customer edits the details of the purchased subscription, which happen to be the values of the cart price condition of the Cart Price Rule which was implemented on purchase of the subscription.

Configuring Free Shipping for Subscriptions | Advanced Subscription Products for Magento 2

Free shipping can be set both for products with optional and permanent subscriptions. For products with permanent subscriptions, Cart Price rules are applied to the subscriptions only. For products with optional subscriptions, consider that a product can be bought both/either as a one-off purchase and on subscription terms.

Free shipping for products with optional subscriptions

For products with optional subscriptions, mind the following alternative configurations of the Cart Price rule:

Configuration A

Condition

Free Shipping Result

If ALL of these conditions are TRUE:

SKU is <…Product SKU…>
For matching items only Shipping is free for the product, whether it was acquired as a one-off purchase or on subscription terms (on first subscription orders AND all recurrent orders).

Free shipping for products with optional subscriptions | Advanced Subscription Products for Magento 2

 

Configuration B

Condition

Free Shipping Result

If ALL of these conditions are TRUE:

Subscription is Yes

SKU is <…Product SKU…>
For matching items only One-off purchases do not support free shipping. Subscription orders are shipped free (on first subscription orders AND all recurrent orders).

 

Free shipping for products with optional subscriptions | Advanced Subscription Products for Magento 2

 

How to use coupons and other discounts in SARP?

The present version of the extension (2.15.0) applies discounts and discount codes to FIRST ORDERS ONLY. It means that if the Customer places an order which has a subscription product the rule works only for the first subscription order.

Using Coupons for Free Shipping

Consider the following logic of using coupons when setting up free shipping in a Cart Price rule:

  • Coupon = No Coupon -> the rule works for all subsequent orders
  • Coupon = Specific Coupon -> the rule works for first order only

Thereby, if you want to provide customers with coupons for free shipping, remember, that the rule works only for first subscription order. To configure coupons, go to Marketing → Cart Price Rules →  Edit / New Rule → Rule Information.

Can orders with multiple subscriptions have free shipping?

It is the logic of the present extension that multiple subscriptions can be purchased alongside one-off products in the same order. Free shipping then applies not to the whole order, but to the respective subscription as specified in the applicable Cart Price Rule. Other Cart Price rules or discount coupons can also be applied to the given heterogeneous order. Their application will not interfere with the application of the respective free shipping, unless there has been set up a coupon which discards the application of subsequent rules (see Discard Subsequent Rules in Marketing → Cart Price Rules → Edit / New Rule → Actions).

 

Can coupons and other discounts be applied to free shipping subscriptions?

The present version of the extension (2.15.0) applies discounts and discount codes to FIRST ORDERS ONLY. It means that if the Customer places an order which has a subscription product applicable for free shipping, and applies a discount coupon to that same order, free shipping will be implemented for first and all subsequent orders, whereas the discount will work only for first order.

 

For configurable products the generic parent SKU is to be specified (Not Child or Parent only).

 

Sample cases and scenarios for subscriptions and free shipping

Case A

Subscription Product_1 (with free shipping) and Subscription Product_2 (without free shipping) in one subscription plan:

  • delete Subscription Product_1 →  no free shipping
  • delete Subscription Product_2 → free shipping

Case B

No.

Cart Price condition Free Shipping condition Subscription Plan Result
1 Subtotal < $10

Subscription = Yes

Free Shipping = For matching items (only)

free trial and regular price > $10 Trial shipment(s) - free, regular shipments – to be paid for
2 Subtotal > $10

Subscription = Yes

Free Shipping = For matching items (only)

free trial and regular price > $10 Trial shipment(s) – to be paid for, regular shipments - free
3 Shipping Address =  New York

Subscription = Yes

Free Shipping = For matching items (only)

Address is edited (new State = Alabama) New recurring order is created with non-free shipping

“For matching items only”, explained

The following examples explain the difference between the two settings for the Free Shipping drop-box (Marketing →  Cart Price Rules → Edit / New Rule →  Action) when subscriptions are considered for free shipping.

For matching items only | Advanced Subscription Products for Magento 2

GIVEN: There are 2 subscription products with the XXX and YYY SKUs

Edit / New Rule → Action:

If ALL of these conditions are TRUE :

SKU is XXX

Subscription is Yes

1) Free Shipping = "For matching items only" and the shipping method has a fixed price (for example, fixed rate = 5$ for 1 item):

  1. XXX in Cart/Subscription -> fixed rate = $0 in Cart and for all subsequent orders
  2. XXX subscription and XXX product in Cart -> fixed rate = $5 in Cart -> After placing the order, fixed rate = $0 for all subsequent orders by the subscription
  3. XXX and YYY in Cart -> fixed rate = $5 -> Place the order:

-> If XXX and YYY in one Subscription -> fixed rate = $5 for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete YYY product, fixed rate = $0 for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete XXX product, fixed rate = $5 (no free shipping) for all subsequent orders

-> If XXX and YYY in different Subscriptions -> Subscription with XXX product (fixed rate = $0 for all subsequent orders) and Subscription with YYY product(fixed rate = $5 for all subsequent orders)

4. Subscription with XXX product (fixed rate = $0) and Subscription with YYY product(fixed rate = $5) -> Merged order with XXX and YYY subscriptions (fixed rate = $5 in the order)

2) Free Shipping = "For matching items only" and the shipping method has a dynamic price (for example, Fedex):

  1. XXX in Cart/Subscription -> FedEx = $0 in Cart and for all subsequent orders
  2. XXX subscription and XXX product in Cart -> FedEx = "NOT free" in Cart -> After placing the order, FedEx = $0 for all subsequent orders by the subscription
  3. XXX and YYY in Cart -> FedEx = -> Place the order:

-> If XXX and YYY in one Subscription -> FedEx = "NOT free" for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete YYY product, FedEx = $0 for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete XXX product, FedEx = "NOT free" for all subsequent orders

-> If XXX and YYY in different Subscriptions -> Subscription with XXX product (FedEx = $0 for all subsequent orders) and Subscription with YYY product(FedEx = "NOT free" for all subsequent orders)

4. Subscription with XXX product (FedEx = $0) and Subscription with YYY product(FedEx = "NOT free") -> Merged order with XXX and YYY subscriptions (FedEx = "NOT free" in the order)

3) Free Shipping = "For shipment with matching items" and the shipping method has a dynamic price (for example, Fedex):

  1. XXX in Cart/Subscription -> FedEx = $0 in Cart and for all subsequent orders
  2. XXX subscription and XXX product in Cart -> FedEx = $0 in Cart -> After placing the order, FedEx = $0 for all subsequent orders by the subscription
  3. XXX and YYY in Cart -> FedEx = $0 -> Place the order:

-> If XXX and YYY in one Subscription -> FedEx = $0 for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete YYY product, FedEx = $0 for all subsequent orders

-> If XXX and YYY in one Subscription -> If delete XXX product, FedEx = "NOT free" (no free shipping) for all subsequent orders

-> If XXX and YYY in different Subscriptions -> Subscription with XXX product (FedEx = $0 for all subsequent orders) and Subscription with YYY product(FedEx = "NOT free" for all subsequent orders)

4. Subscription with XXX product (FedEx = $0) and Subscription with YYY product(FedEx = "NOT free") -> Merged order with XXX and YYY subscriptions (FedEx = "NOT free" shipping in the order)

 

Managing Subscriptions

Once the plans have been assigned to the product, it becomes available for purchase as a subscription. To monitor all active subscribers, go to Sales → SARP 2 by AheadWorks → Subscriptions.

Monitoring & bulk-editing subscriptions

Managing Subscriptions | Advanced Subscription Products for Magento 2

 

The 'Subscription' grid contains the data about all the subscribers as arranged into the following columns:

  • ID - an ID of a subscription;
  • Subscription Profile ID - an ID of a subscription profile;
  • Subscription Plan - the plan purchased by the subscriber;
  • Status - the current subscription status (active, suspended, or canceled);
  • Store view - the store view to show the subscription;
  • Created At - the date and time of subscription creation;
  • Start Date - the date when the subscriber started the subscription;
  • Next Order Date - the date of the next order;
  • Last Order - the ID of the latest order;
  • Last Order Date - the date of the latest order;
  • Last Order Grand Total - actual total for the most recent order (May also contain fees for non-subscription items and/or items from other subscriptions when charged together with the chosen one);
  • Next Order Grand Total - actual total for the next order;
  • Products - the products assigned to the subscription;
  • Customer - the name of a subscriber;
  • Email - subscriber's email address;
  • Group - the group the subscriber is assigned to.

From the 'Actions' box above the grid, you can change the status of the selected subscription(s).

How to manage subscriptions left after customers' deleting their accounts?

In case a customer deletes their account, his/her active subscriptions will not be suspended or cancelled. Instead, those subscriptions will be marked as made by guests. They can later be merged if the merging conditions (see Extension Settings section) are fulfilled. This is the only case when guest orders can be merged.

How not to miss a thing when editing subscriptions?

If you edit a subscription order and do not want the old subscription to create new orders, please make sure to cancel it manually since, out of the box, both subscriptions will continue working together.

Browsing and editing individual subscriptions

To view the details of a subscription, click on the correspondent subscription profile ID (each id in the grid is an active link to the related subscription profile page).

This is where you can browse the following:

  • Next order details;
  • Subscription status;
  • Subscription plan information;

Browsing and editing individual subscriptions | Advanced Subscription Products for Magento 2

  • Products assigned to the subscription;
  • Buyer's address, shipment and payment methods;
  • Order details to contain the subscription.

Subscription general information

Editing Next Order Date

Merchant can Edit Next Order Date from the backend, for instance, when the Customer is going on holiday and will not be at home during shipment period. To change click on the Edit link right after the next order date. 

Editing the next order date from the backend

After clicking the new page appears where you need to select the new next order date. Click on the Save button. Back button - returns to the Subscription Profile ID page without any changes. When the Merchant clicks on the Save button message appears “ Are you sure you want to save the changes?” OK - save changes. Cancel - back to the previous page.

Saving changes

Editing Subscription Plan (subscription page) 

The Merchant can in a few clicks manage the Subscription Profiles and help Customers in their requests to edit profiles. Click on the Change link, a new page appeared.

Editing subscription plan

On the new page, The Merchant can select the Subscription Plan using the Drop Down Menu. There are only plans in the dropdown that are connected to the main subscription product of the profile. After clicking on one of the buttons:

  • Save button - saves changes and returns to the Subscription Profile ID page.
  • Back button - returns to the Subscription Profile ID page without any changes.

Saving new subscription plan

Editing Shipping Address

The Merchant can change the addresses from the backend and manage the Subscription Profiles and help Customers in their requests to edit profiles. Click on the Edit button near the Shipping Addresses, new Page appears. 

Editing shipping address

The Merchant can choose an address in the Dropdown menu. If the Merchant clicks on the enter link then the link is directed to the Customer’s Account Page / Addresses Tab. 

Choosing new shipping address

Editing Product Quantity

You can change the product amount from the backend. Click on the Edit link on the product grid of the Subscription Profile.

Edit product quantity

On the new page you can configure Product and Quantity. From here apply changes: Permanently or For the next order only. Also here you can change product quantity. Do not forget to click Save. 

Configuring product and quantity

Customer's name as a link to the account

You can use a link to the customer's account in their subscription profile. After clicking on the link you will navigate to the customer's account. 

Link to the account

 

Depending on the status of the subscription a few actions are possible herein:

Active subscriptions can be cancelled. To do so, click on Cancel Subscription in the top right of the page. The page will be reloaded, the subscription will receive the status "Cancelled", and the Cancel Subscription option will change to Renew Subscription.

Cancelled subscriptions can be renewed. To renew a subscription, click on Renew Subscription in the top right of the page. The page will get reloaded, the subscriptions will receive the status "Active".

Expired subscriptions can be extended. To extend a subscription, click on the Extend Subscription in the top right of the page. The page will get reloaded, the subscription will receive the status "Active".   

What is the expiration time for the Renew action?

For memberships, the action allows renewing subscriptions while the membership is still active. When the membership is expired, the option to renew will not be displayed.

For physical products, there is no time limit and the subscription with the Canceled status can be renewed at any time, even when the initially scheduled next payment date is already in the past.

 

What is the expiration time for the Extend action?

The Extend Subscription button is displayed only for the length of the billing cycle. E.g. for a monthly subscription, the Extend action is available during a month after the final billing. 

On successful extending of a subscription the following arrangements will take place:

  • there will be added as many billing cycles as configured within the subscription plan;
  • the subscription will continue on the same schedule as before (if regular payments happened every Monday, then after extending the subscription they will take place every Monday too, disregarding on what day the subscription was extended);
  • the price of each new billing cycle will be Regular (no initial fees, no trials).

Generate free subscription from backend

Admin can create subscription orders with zero total as a free trial. This feature can be used for marketing purposes.

Admin can create a free subscription trial from the backend. So the admin could place orders on behalf of Customers without their payment details. Admin needs to configure the desired trial plan as per usual flow. Then assigns it for products, where it should be available. In the next step, Admin needs to follow a natural flow to generate an order: selects or generates a new customer, selects a product, chooses to configure it.

NOTE

The payment will be valid until the subscription is with zero total. Respectively if we set up a free trial for 6 months, orders will be with zero total for six months and all this time this payment will be valid.

If a customer wants to switch to it - it is not possible since the payment is not available for selection to customers.

Canceling Subscription 

Admin can cancel free trial subscriptions in case no valid payment details are input, after the trial period and three attempts to charge them fail.

After creating a Free subscription trial for customers from the backend using Free Trial payment and when the trial period expires, so the system makes three attempts to charge the subscription and than automatically gets canceled. If the customer did not input his valid payment details in between the tries. Customers will get an email notification about subscription cancellation.

Retry Failed Transaction 

The 'Retry Failed Transaction' functionality enables the admin to retry failed subscription payments from the backend. If the subscription status is Suspended due to the payment error (e.g. expired card) or due to the out of stock products, then the ‘Retry Failed Transaction' button appears on the subscription page in the admin panel.

Once the transaction is successful, the subscription status will be updated to Active, and all subsequent payments will be processed as usual. However, if the transaction fails, you can attempt to make the payment again.

Customer Group Rules 

This is where you may view, and edit the group rules as well as add new ones. 

The Rules are allocated into a table with 6 columns: Rule ID, Rule Name, Status, Priority, SKU, and Product Name, which represent some most important details of rule settings. The table is easily customizable and searchable with the 'Columns', 'Default View', and 'Filters' active elements on the top right of the page.

You may enable, disable, or delete available Rules individually or in bulk. Tick the boxes next to the chosen segments on the left of the table, click the 'Actions' folding list, and opt for an operation.

To add a new segment click the 'Add New Rule' button on the top right of the page. These operations will take you to the Edit/New Rule page. 


New Rule and Edit Rule Pages

The New Rule and Edit Rule pages look identical, the name suggests the operation you are to do with the Rule. This is where you may alter or add all the details of the segment and define groups for the rule.

The image below reflects some basic details you are suggested to provide for each rule. They are as follows:

  • Enabled - enable or disable the rule here;

  • Name -  provide a name for the rule;

  • Description - give details on the rule;

  • Group - determines the specific customer segment affected by the rule;

  • Product - specifies the item the rule applies to;

  • Group to assign - define the group of customers to which the rule will be assigned

  • Priority - the decimal numeric for sorting the overlaying rules. 

Prior settings of the rule sorted, you may now proceed to the Subscription Conditions block of the rule.

Conditioning the rule

The Conditions block of the Edit/New Rule page allows customizing rules.

To add a condition, click the green "Cross" button and choose an attribute for conditioning. For further configuration proceed to the 'ALL', 'TRUE', 'IS' parameters to alter them in accordance with your rule. 

To delete a condition click on the Delete (red cross) button.

Once the rule is set and saved, you will be able to check the customers who match the filter at the bottom of the page in a separate grid in the Affected Customers tab.

As soon as the rule is created and the toggle switch is enabled, the extension automatically moves Customers fit this rule to the appropriate Group.

 

 

Placing a Subscription Order

From the Orders page, you can choose a real payment method to submit an order. 

Placing a subscription order

From this page, you can open the order which was created by SARP2. Under the section “Item Ordered” in the Product column, find a line: “Subscription Profile ID: XXXXXXXXX” right below the SKU. “Subscription Profile ID: XXXXXXXXX” - is a link to a corresponding Subscription Profile page. 

subscription profile id

Note: Refunds for subscription payments and refunds for non-subscription products are the same (they have the same workflow), and the subscription payment refund will not affect the subscription in any way (it will not be canceled and subsequent payments will continue to be created)

 

M2 Subscription Products on Storefront

Subscriptions on Product Pages

All product-related subscription plans are listed above the Add to Cart button. On clicking on a plan, there will unfold some detailed information to describe the subscription.

What will I see in the description of a subscription?

  • There are two alternatives of expanding on Regular payments:
  1. If the number of regular payments is 1 (or 2 if the initial fee is enabled), the billing cycle is not mentioned at all.

Example:

Regular Offer

50 $ {price of regular payments}

 

starting from 1 June, 2020 {date}

2. If the number of regular payments is 0 or more than 1 (or 2 if the initial fee is enabled).

Example:

Regular Payments (Weekly) ({billing cycle})

3 {number of regular payments>1} х 50 $ {price of regular payments}

 

starting from 1 June, 2020 {date}

 

The {date} value is calculated in the following way: today’s date + trial period length. If the initial fee is enabled, the date is calculated: today’s date + trial period length + the length of one billing cycle (one regular payment).

Please note, that under certain conditions the word “payments” can be substituted with “offer” .

“Starting from” is located below the price and is colored in grey.

  • There are two ways of expanding on Trial Period:
  1. If the number of trial payments is 1 (or 2 if the initial fee is enabled), billing cycle is not mentioned:

Example:

Trial Offer

50 $ {price of trial payments or FREE}

 

starting from 1 June, 2020 {date}

2. If the number of regular payments is 0 or more than 1 (or 2 if initial fee is enabled):

Example:

Trial Payments (Weekly) ({billing cycle})

3 {number of trial payments>1} х 50 $ {price of trial payments}

 

starting from 1 June, 2020 {date}

 

The {date} value herein is today’s date. If the initial fee is enabled, the {date} value is calculated: today’s date + the length of one billing cycle (one trial payment).

Please note, that under certain conditions the word “payments” can be substituted with “offer” .

“Starting from” is located below the price and is colored in grey.

In addition to the above, Subscription Ends can also be expanded on in two ways:

  • if the number of regular payments is set in the Subscription Plan, the {date} value is displayed. In this case, it is calculated in the following way: start date + trial period + regular period.
  • if Subscription Plan is infinite, “Cancel Anytime” is displayed

Refer to Chapter "Extension Settings" → "General Settings" to learn more on the alternative format of the Regular/Trial Payments passage.

Subscribe on the product page | Advanced Subscription Products for Magento 2

If a 'Subscription' option was previously set to Optional, the product, which is assigned to thereof, will also be available in the one-off purchase variant.

If you need to display on the storefront the status of a subscription (for example, when customers are viewing the product they are currently subscribed to), insert the following line into the code of the relevant front page:

$this->profileManagementInterface->isCustomerSubscribedOnProduct($customerId, $productId)

This command returns TRUE or FALSE values, which indicate relevantly if the customer is or is not subscribed to the product. 

By virtue of the mixed cart functionality, customers can add any combinations of one-off purchases and subscriptions to their shopping cart.

Note that subscriptions with the same delivery date will be combined into a single order, should such settings be configured in the Extension Settings. In this case, the price of delivery will be calculated as for one subscription.

Subscriptions in Shopping Cart

If a cart contains a subscription product, only those payment methods, which are supported by the extension, will be available. More on supported methods of payment.

Currently, checkout with multiple addresses is not supported. When there is a subscription product in the cart, the option Checkout With Multiple Addresses will be hidden.

Adding Products to Nearest Subscription

If the Store Admin enables the Adding Products to Nearest Subscription option from the backend, then customers can add more regular products and subscription products to existing subscriptions in the shopping cart. In this case, the Customer can see how much he should pay the next payment period: the usual subscription payment + the cost of the goods added to the cart.

Adding Products to Nearest Subscription | Advanced Subscription Products for Magento 2

 

After adding the product, customers can check information about subscriptions in the My Subscriptions tab. Regular products will be removed from the profile after it is paid and delivered.

Subscription Profile | Advanced Subscription Products for Magento 2

‘Add to Nearest Subscription’ button in the mini-cart: 

Subscriptions in My Account

Customers can view all purchased subscriptions in the 'My Subscriptions' tab in their accounts. The My Subscriptions grid features the following columns

  • Profile ID - the identification number of the subscription purchase;
  • Status - the status of the subscription (Active, Cancelled, Expired, Finished)
  • Products - the products assigned to the subscription;
  • Subscription Plan - the name of the subscription plan;
  • Trial Plan Due Date - the date of the end of the trial period (if any); 
  • Last Payment Date - the date of the previous payment;
  • Next Payment Date - the date of the next payment;

For monthly subscriptions created on the 31st, the next payment date will be on the 31st or the next day in months with 30 days. For example, if the order was placed on October 31st, the next payment will occur on December 1st.

  • Next Payment Amount - the fee to be paid within the next payment; 
  • Actions - the active link to apply action to the subscription (Edit, Renew, Extend).

Subscriptions in My Account | Advanced Subscription Products for Magento 2

Renew Subscription

For subscriptions, with the Cancelled status only, there is a "Renew" action available. To renew a subscription, click Renew active link in the Actions column.

What is the expiration time for the Renew action?

For memberships, the action allows renewing subscriptions while the membership is still active. When the membership is expired, the option to renew will not be displayed.

For physical products, there is no time limit and the subscription with the Canceled status can be renewed at any time, even when the initially scheduled next payment date is already in the past.

 

Customers are not able to renew subscriptions for which “Allow Customer to Cancel Subscription” is set to ‘No’ (see Creating/Editing Subscription Plans or Extension Settings).

Extend Subscription

For expired subscriptions (when final billing has been applied to the subscription) the Extend active link will get available next to the Edit link in the Actions column. To extend the subscription, click the link and confirm your action with the relevant option within the confirmation popup. A success message will follow.

When and how long will the Extend link be available?

The Extend link will be active only for the length of the billing cycle.

E.g. for a monthly subscription, this feature should be available for a month after the final billing.

This limitation is for those, who can find an email on subscription expiration long after the subscription is over, and who will then try to extend the subscription. In this case an error will be displayed: "We are sorry, this subscription can not be extended anymore. Please purchase a new one."

On successful extending of a subscription the following arrangements will take place:

  • there will be added as many billing cycles as configured on the Backend for the given subscription;
  • the subscription will continue on the same schedule as before (if regular payments happened every Monday, then after extending the subscription they will take place every Monday too, disregarding on what day the subscription was extended);
  • the price of each new billing cycle will be Regular (no initial fees, no trials).

It is also possible to extend a subscription via the link in a corresponding notification email.

On approaching the expiration period, in due time as set in the Subscription Plan Settings, an email is sent to the customer to notify of subscription expiration. The email contains a "Thank you" note on the use of the subscription, an offer to extend the subscription, and a link to perform the action. Clicking on the link will take the customer to the My Account/My Subscriptions area and will invoke one of the scenarios of subscription extending as described above in this chapter. 

Edit Subscription

Active subscriptions can be edited. To edit a subscription, click on the Edit active link in the Actions column. The subscription profile page will get opened. The following information can be found on the page:

  • The products within the subscription
  • Subscription plan
  • The dates when the subscription was created and is to expire
  • The dates of first and next payments
  • First payment fee
  • Payment format and fees/installments
  • Shipping address
  • other payment details (including payment method) 

Same details can be found both on the front- and back-end, where appropriate: Order Success page, Order, Invoice, Product page and Subscription Profile page.

The subscription profile page provides for editing of some of the above controls of the subscription. This can be done by clicking on the 'Edit' active link next to the chosen control element.

The Admin can switch off editing of subscription controls. Do that in thesettings of the extension. The Edit active link will then not be displayed next to the control element. Updating of the control element of the subscription will then not be possible. 

To cancel the subscription, click on the Cancel Subscription active link above the details of the subscription. A confirmation popup will emerge for you to confirm the action. You will have to choose 'Yes' or 'No' for your final decision. When 'Yes' is clicked on the page will be reloaded, and the subscription will receive the Cancelled status. 

Customers are not able to cancel subscriptions for which “Allow Customer to Cancel Subscription” is set to ‘No’ (see Creating/Editing Subscription Plans or Extension Settings).

To remove a product from the subscription, click the Remove active link next to the chosen product. 

Edit Subscription | Advanced Subscription Products for Magento 2

To edit the options and/or quantity of the product, click on the corresponding Edit active link. You will be redirected to the Product page, where necessary changes can be made in a known way. Once done click on the Update Subscription button to apply the changes. The extension will check if the newly-arranged configuration is available in the requested quantity. In case of a negative result, a notification on thereof will appear on the Product Page. You will have to reconsider the configuration of the product options and/or its quantity and click on the Update Subscription button again.

Example of product editing within a subscription

In the example below complementary items were added to the product, and the quantity was changed from 1 to 5.

Update Subscription button | Advanced Subscription Products for Magento 2

In case of a positive result, two scenarios are possible depending on the settings in the Subscription Editing section of the configuration of the extension:

  • The changes are applied and you are redirected to the Subscription Profile page, where a respective success message is shown. The changes will be applied to all subsequent orders of the subscription.
  • A popup emerges asking "How would you like to apply the changes?" and suggesting two alternatives for choice: "Permanently" or "For the next order only".  When "Permanently" is chosen the updates will be applied to all subsequent orders of the subscription (the above scenario). When "For the next order only" is chosen the updates will be applied only to the upcoming order of the subscription, afterwards the options of the product and/or its quantity will be rolled back to those of the previous delivered order of the subscription.

Popup emerges | Advanced Subscription Products for Magento 2

To change the subscription plan, click on the corresponding Edit active link. You will get redirected to the Change Subscription page. Choose one of the plan alternatives given on the page. You can choose only one alternative at a time and check its details, which get updated automatically below the list of the alternatives.

If the option fits you click the blue 'Save Subscription' button at the bottom to save your decision.

If you are not content with the given alternatives and do not wish to swap the subscription plan, click on the grey 'Back' bottom in the top right corner of the window.  

Change the subscription plan | Advanced Subscription Products for Magento 2

To change the date of your next payment, click on the corresponding Edit active link. You will get redirected to the Change Next Payment Date page. Type in the date in the 'mm/dd/yyyy' format or chose the desired one with help of the grey calendar icon to the right of the date field. Click the 'Save' button at the bottom to save your changes, or 'Back' to cancel and return to the Subscription Profile page.

Change the date of your next payment | Advanced Subscription Products for Magento 2

To change the shipping address,  click on the corresponding Edit active link. You will get redirected to the Change Shipping Address page. Select a shipping method from the 'Please Select New Address' folding list. Alternatively, you may assign a new shipping address by clicking the '+New Address' button at the bottom. It will take you to the Address Book page where you will be able to enter all the necessary details and save them. On completing the new address, you will be automatically redirected back to the 'Change Shipping Address' page, where the newly entered address will appear in the 'Please Select New Address' folding list. To get back to the 'Subscription Profile' page click 'Back' in the top right. To save the changes, click on the Save Address button. You will then be redirected to the 'Subscription Profile' page.

Change the shipping address | Advanced Subscription Products for Magento 2

To change the payment, click on the corresponding Edit active link. You will get redirected to the Change Payment Details page. Select a payment method from the list, type in the details (if any), and click Save Payment to confirm the changes. You will get redirected to the Subscription Profile page. Use the Back button in case you do not want to make changes to the method of payment. Click on the Back button will apply no changes and will take you to the Subscription Profile page.

Change the payment | Advanced Subscription Products for Magento 2

Guest Order Success Page

Store Admin can update Order Success Page for guest customers. After the purchase, the Guest Customer on the Order Success Page will see the secure link to his Subscription Profile -  “Your subscription profile is: 00000000X”.

Guest Order Success Page | Advanced Subscription Products for Magento 2

Quick view from the category page

Quick View feature allows customers to view and subscribe to a product from the category page without having to navigate to the product page.

After clicking on the ‘Quick view’ icon, a pop-up will appear allowing you to view subscription plans, product reviews, add the product to the cart/wishlist/compare list, or add the subscription to an existing profile (if possible). Related and Up-Sells products will not be displayed.

Skip Products From The Next Payment

Skip Product From The Next Payment option allows customers to exclude a specific subscription products from their upcoming subscription payment. To exclude a specific subscription product, simply click on the 'Skip' button. Once the product has been skipped, the first/regular payments will be recalculated accordingly, and the 'Skip' button will be replaced with the 'Unskip' button.

  • It is possible to skip either physical or virtual products;

  • The Skip option will not be displayed if there is only one or two products in the profile, one of which is a one-off product;

  • The skip of the subscription product can be canceled (via the “Unskip” button) anytime until the next payment date;

  • Once a product has been skipped, it is not possible to edit it.

 

Adding Products To Subscription

Adding Products To Subscription option allows customers to add a new subscription to their existing subscription plan, if it meets a number of conditions:

  • Adding a subscription product to an existing subscription plan is only possible for registered users.

  • The subscription must have the an Active status so that another subscription can be added to it 

  • The option is applicable to physical subscriptions.  If a subscription was originally purchased with a combination of physical and virtual products, it is possible to add another physical product to the subscription.

  • Subscription and the subscription product being added must have the same plan and scope.

  • If the subscription plan includes an initial fee, it will not be charged twice upon adding a new product to the profile. However, it will be summed up in the subscription profile.

  • When adding a subscription product with a different currency (€) to a subscription that was originally made in another currency ($), the price of the new product will be converted to the currency of the subscription ($) accordingly.

After clicking on the 'Add to Subscription' button, a pop-up will appear containing all relevant active subscription profiles with limited subscription information:

Hide canceled subscriptions

Display canceled subscriptions option allows customers to hide canceled subscriptions from their subscription management page and display only active subscriptions. When the ‘Display canceled subscriptions’ checkbox is active, the grid will display canceled subscriptions, and vice versa.

Recalculation of Totals

Option Recalculation of Totals allows merchants to offer the lowest price that can currently be applied to the product.

The system only uses Discounts and Cart Price Rules that are valid at the moment of charge generation.

Recalculation of Totals / Advanced Subscription Products

Please note: Recalculation of Totals is only for native Magento Cart Price Rules, Catalog Price Rules, Advanced Pricing.

Example:

Joust Duffle Bag costs 100 dollars.

Plan discount is 25%, so Subscription Price is 75.99 dollars (because Price Rounding is set up to XX.99).

Recalculation of Totals / Advanced Subscription Products

Recalculation of Totals / Advanced Subscription Products

When Advanced Pricing is enabled from the backend, then The Subscription Plan discount is applied on top of the Advanced Pricing. 

Example:

If Advanced Price (for ex. Special Price) is 90 dollars, then Subscription Price is 90$-25% = 67,99$.

 Recalculation of Totals / Advanced Subscription Products

 Recalculation of Totals / Advanced Subscription Products

When Advanced Pricing is set to Yes and Recalculation of totals is set to Enable at the same time, then the Subscription Price for the recurring order will be calculated as follows:

Example:

Special Price is 90$,  Plan discount is 25%, Cart Price Rule discount is 50%

Cart Price Rule discount > Plan discount (50% over 25%), then the system chooses the best price

So the Subscription Price for the subsequent payment is 90$-50%=45$

Recalculation of Totals / Advanced Subscription Products

Recalculation of Totals / Advanced Subscription Products

Recalculation of Totals / Advanced Subscription Products

In case the discount is set up with Cart Price Rules, then the system will choose the best price: either Product Price + Subscription Plan Discount or Product Price + Cart Price Rule Discount. 

Recalculation of Totals / Advanced Subscription Products

Recalculation of totals works for subsequent subscription payments that are made automatically according to the plan (except for the very first order).

This means that the first order is considered initial. And the discount set in the Cart Price Rule is applied on top of the plan price.

Example of payment for the first order:

Joust Duffle Bag costs 100 dollars.

Plan discount is 25%, so Subscription Price is 75 dollars.

Cart Price Rule discount is 50%, so the total Subscription Price for the first payment should be - 100$-25%-50%= 37.99$

Recalculation of Totals / Advanced Subscription Products

Subscription Price for subsequent payments according to the plan will be calculated as follows:

Example:

Joust Duffle Bag costs 100 dollars.

Plan discount is 25%, Cart Price Rule discount is 50%.

Cart Price Rule discount > Plan discount (50% over 25%), then the system compares discounts and chooses the best price.

So Subscription Price for the subsequent payment is 100$-50%= 50$

Recalculation of Totals / Advanced Subscription Products 

Otherwise, when Plan discount is greater than Cart Price Rule discount, then Cart Price Rule discount is ignored and only Plan discount is applied to the product price.

 

 

 

 

 

 

Integrations

 

 

 

Reward Points for Magento 2

Version 2.9.2 of the extension is integrated with Magento 2 Reward Points, which enables customers to earn points from purchases containing subscriptions and to spend points towards orders with subscriptions.

It is advisable you update Reward Points to the version 1.6.1 to ensure explicit compatibility with Advanced Subscription Products.

 

 

 

Company Accounts for Magento 2

The integration with Magento 2 Company Accounts (starting from version 1.8.0) gives the store Admin access to manage Roles and Permissions for subscriptions, as well as regulate actions carried out by child-accounts regarding items/subscriptions.

To access Roles and Permissions, navigate to My Account > Roles and Permissions tab. 

Roles and Permissions | Integration of Advanced Subscription Products with Company Accounts Magento 2

The following fields are available:

  • Role Name: Company Admin/User should provide a name for the role (required field).
  • Order Limit per Role (visible only to the Company Admin): Allows the Company Admin/User to set thresholds for order subtotals. Users of this role require approval if the subtotal exceeds the set limit.
  • Permissions for the Role: The Company Admin/User decides the access levels for the role: Company Information, Company Users, Company roles, Orders, Subscriptions, and History logs. Access levels can be set for viewing, adding, and editing purposes.

If a company user lacks access to the company's subscriptions, they can only view and edit their own subscriptions.

My Subscriptions tab for user's without access to company subscriptions Magento 2

 

If a company user with active subscriptions is deactivated by a company admin, the admin or users with appropriate permissions can view and edit all subscriptions. However, subsequent payments will not process, and subscriptions will be marked as "Suspended."

 

Company admins or users with sufficient permissions can only choose shipping addresses saved by the customer who originally purchased the subscription; adding their own or selecting another user's address is not possible.

 

Store Admins and authorized users can monitor actions taken by child accounts on items/subscriptions via the History Log tab. Entries are sorted by the "Last Updated" column by default.

Logs are cleared during cron execution (frequency set in Configuration - Daily, Weekly, Monthly). If History Log is disabled, records are not cleared even if cron has been run.

History Log of Company Subscriptions made by child accounts | Integration of Company Accounts with Advanced Subscription Products for Magento 2

When the History Log is enabled, new columns "Updated At" and "Updated By" are added to the My Subscriptions grid.

Filter Company Subscriptions | Integration of Subscription and Recurring Payments with Company Accounts for Magento 2

 

Advanced Reports for Magento 2

From the Advanced Subscription Products module version 2.18.1 or new, when Advanced Reports for Magento 2 is installed on the store, it becomes possible to overview the statistics.

If you haven't installed the Advanced Reports module, please refrain from installing module-sarp2-reports package.

Note: Please, make sure you also install and enable module-sarp2-reports, which will provide the integration between Advanced Subscription Products and Advanced Reports modules. 

Dashboard: Analytics & Metrics

Dashboard reporting is a visual representation of your company's key performance indicators. It is an ability to have all valuable information and metrics concerning subscription business in one place. Merchants can quickly overview all subscription business statistics without opening too many tabs and getting deeper into each report.

From the backend go to Reports > SARP2 by Aheadworks > Dashboard.

This page consists of charts and metric widgets. Admin can change each widget by clicking on the triangle at the top right corner of the widget.

 

The extension offers analytical reports to provide you with some meaningful information on the performance of the subscription business.

1. Initial vs Recurrent Sales Report

The Initial Vs Recurrent report shows the Initial and Recurrent Orders Sales dynamics

This graph features data against such metrics as Initial Orders, Initial Qty,Initial Total, Initial Invoiced, Recurrent Orders, Recurrent Qty, Recurrent Total and Recurrent Invoiced.

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

The date range can be selected in the flexible calendar:

In the provided calendar, you can specify any date or date range either by clicking the required dates or by indicating the interval manually. Once the date has been selected, click Apply to refresh the report page.

Below the graph, you can see the reporting table providing metrics of Initial and Recurrent Orders.

 2. Growth Rate Report

The Growth Rate Report shows an increase in the number of subscriptions compared to the initial period.

This report features data against such metrics as Subscriptions at the Beginning, Subscriptions at the End and Growth Rate.

Subscriptions at the End – total amount of all active subscriptions at the end of the period.

Subscriptions at the Beginning - total amount of all active subscriptions at the beginning of the period.

Growth Rate - the percentage change of new subscribers within a specific time period. If a quantity of subscriptions at the beginning equals “0“ (zero), then the growth rate will always be “0%“ (because “0” is in the denominator of the formula).

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

The Growth Rate Report

Below the graph, you can see the reporting table providing metrics of Subscriptions at the Beginning, Subscriptions at the End and Growth Rate.

Total data show arithmetic average result of selected period. Total data depends on a selected period in the calendar (it is not an arithmetic average result in column). 

3. Churn Rate Report 

The Churn Rate Report shows churn rate from the selected start date to the selected end date. 

This report features data against such metrics as Subscriptions at the Beginning, Subscriptions at the End, Churn, Churn Rate.

Subscribers at the Beginning - the number of subscribers at the beginning of the selected period.

Subscribers at the End - the number of subscribers at the end of the selected period.

Churn - amount of canceled/expired subscriptions.

Churn Rate - the percentage of increased or decreased subscriptions.

The Total statistics below chart reflects data from the period selected in the calendar and these results don’t depend on data in the grid. 

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

 

Below the chart, you can see the reporting table providing metrics of Subscriptions at the Beginning, Subscriptions at the End, Churn, Churn Rate.

Data in the grid reflects data from the selected period aggregated by week, month, quarter, year. 

The last row in the grid shows statistics from totals and it doesn’t depend on previous rows. 

4. Number of active subscribers Report

Number of Active Subscribers Report shows the number of customers who have active subscription profiles at a certain period.

This chart features data against such metrics as Active Subscriptions, Active Customers, Average Subscriptions Per Customer.

Average Subscriptions Per Customer - number of profiles divided per number of customers.

Active Subscriptions - subscriptions for which payments are currently being processed.

Active Customers - customers who have (at least) one active subscription.

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

Totals data shows the arithmetic average result of selected period.

 

Below the chart, you can see the reporting table providing metrics of Active Subscriptions, New Subscriptions, Active Customers, Average Subscriptions Per Customer.

5. Average Revenue Per Customer Report (ARPC)

The Average Revenue Per Customer Report shows the total revenue generated by all customers during a certain period divided by the total number of customers.

This graph features data against such metrics as Total Subscriptions Revenue and Subscribers (Contributing to that Revenue).

Below the graph, you can see the reporting table providing metrics of Total Subscriptions Revenue and Subscribers (Contributing to that Revenue).

6. LTV Report (Lifetime Value)

Lifetime Value Report shows the revenue you earn from a customer, subtracting out the money spent on serving them.

This graph features data against such metrics as Churn Rate, Average Revenue Per Customer and Lifetime Value.

Churn Rate - the percentage of increased or decreased subscriptions.

Average Revenue Per Customer - the average amount received from one user per subscription.

Lifetime Value - an average amount that shows how much money each user brings until their subscription ends.

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

Below the graph, you can see the reporting table providing metrics of Churn Rate, Average Revenue Per Customer and Lifetime Value.

7. Monthly Recurring Revenue Report (MRR)

Monthly Recurring Revenue Report shows how much revenue subscriptions generate during each month. You can see if the subscription business is growing in terms of revenue and roughly estimate future sales based on the graph.

This graph features data about Total Recurring Revenue.

Recurring Revenue - total revenue from all subscription orders (including both recurrent and initial) in the period minus initial fee.

For simple segmentation, the reports come with filtering options. Those include the store view and customer group filters.

Below the graph, you can see the reporting table providing metrics of Total Recurring Revenue and Total Initial Fee.

 

 

 

Supported Payment Methods

In addition to credit card (Braintree) payment, the extension also supports the following methods: Adyen Google and Apple Pay (starting version 2.11.0)Adyen credit card payments (starting version 2.10.0), NMI by Aheadworks (starting version 2.6.0)Cash on Delivery (starting version 2.5.0), Stripe credit card payments (starting version 2.4.0), Bambora APAC by Aheadworks (starting version 2.3.0.), PayPal via Braintree,  Authorize.net from ParadoxLabs, Adobe Payment Services (starting version 2.21.0), PayPal Payments Pro and PayPal Payflow Pro (starting version 2.22.0), PSI Gate (starting version 2.23.0).

NOTE: Free trials are not available for those payment methods whose gates do not allow zero payments for usual Magento orders (Stripe, PayPal via Braintree and NMI).

Please follow the official Magento 2 guide to learn more on how to enable payment methods in the store.

1. Enable the Cash on Delivery method for customers to pay for the subscription with cash on receipt of the product.

When the Cash On Delivery method is used, the Successful Billing email notifications are not sent.

2. To employ Stripe, install the official module of the gateway and enable the integration patch. The latter is included in the installation package of M2 Advanced Subscription Products (v 2.11.0). 

For earlier versions of the present module, no integration patch is required. 

For M2 ASP versions lower than 2.11.0

When installing the official Stripe module via Composer, run the following command:

composer require stripe/stripe-php:^7
3D Secure is supported for Stripe in version 2.11.0 of M2 Advanced Subscription Products.

There have been reported cases when payment cards request a 3D Secure password, even for recurring payments. 

3. Bambora APAC by Aheadworks payment is available via a stand-alone extension or as a bundled option at check-out on purchase the present extension (extra fees apply).

4. NMI by Aheadworks payment is available via a stand-alone extension or as a bundled option at check-out when purchasing the present extension (extra fees apply).

5. To employ Adyen, install the official module of the gateway and enable the integration patch. The latter is included in the installation package of M2 Advanced Subscription Products (v 2.11.0). The sampler is included.

Adyen 3D Secure 2 is supported (v 2.13.0)

6. To employ Adyen Google Pay and Adyen Apple Pay, install the official module of the gateway and the integration patch. The latter is included in the installation package of M2 Advanced Subscription Products (v 2.11.0). 

Adyen implementation

Open Adyen backend and follow Developers > API URLs > Additional data settings. For correct work of the Advanced Subscription Products, the following checkboxes must be ticked:

Card field:

  • Card holder
  • Card bin 
  • Card summary 
  • Expiry date
  • Variant

Payment field:

  • Recurring details


7. To employ Braintree, do one of the following:

  • For Magento 2.3.* install Gene module and enable the corresponding integration patch. The latter is included in the installation package of M2 Advanced Subscription Products (v 2.11.1).
  • For Magento 2.4.* enable the corresponding integration patch (included in the installation package of M2 Advanced Subscription Products v 2.11.1) and make use of the in-built PayPal Braintree module.

8. Authorize.net from ParadoxLabs

NOTE:  We support Authorize.net only from the ParadoxLabs vendor. To integrate with ParadoxLabs, you need to install a separate module module-sarp2-authnetcim.

9. Free Payment provides free payment processing functionality for Advanced Subscription Products. Admin can create subscription orders with zero total as a free trial.

To employ Free Payment, the following operations are expected:

1. Install Advanced Subscription Products official module
2. Install the add-on for integration with M2 Advanced Subscription Products *

* Add-ons are included into the installation package of the extension.

10. Now Advanced Subscription Products 2.21.0 is integrated with Adobe Payment Services. To install Adobe Payment Services, you need to:

1. Get the module from Magento Marketplace;

2. Install the module via composer using command:

composer require magento/payment-services

3. Please, make sure you also install and enable module-sarp2-aps, which will provide the integration between Advanced Subscription Products and Adobe Payment Services.

Learn more about Adobe Payment Services.

11. Now Advanced Subscription Products 2.22.0 is integrated with PayPal Payflow Pro and PayPal Payments Pro.

  • To enable this functionality, you need to install the module via composer using command:

composer require aheadworks/module-sarp2-paypal
  • Logged-in customers, guests and administrators all have the ability to purchase a subscription using either PayPal Payments Pro or PayPal Payflow Pro.

  • Only PayPal Credit is supported.

12. PSI Gate payment method

The integration between the Advanced Subscription Products module and the third-party payment module PSI Gate streamlines subscription management and payments for your convenience. Follow these steps to ensure a smooth integration:

1. Install and activate the PSIGate (version 1.0.2) payment module compatible with your platform.
2. Configure PSIGate settings, ensuring compatibility and security measures.

Do not install patches for payment methods you are not using. That is when there is no official module of the gateway installed on the store.

 

If Cart contains a subscription product, only those payment methods, which are supported by the extension, will be available.

To configure the methods of payment, refer to Stores → Settings → Configuration → Sales → Payment Methods. The official Magento 2 guide will be of help here.

If you would like to integrate another custom payment method, it can be done via additional customization if that payment supports tokenization. 

So if you are interested in custom development, our team will help since we provide additional Customization service: https://www.aheadworks.com/magento-services/custom-development/

  

Advanced Subscription Products | Advanced Subscription Products for Magento 2

Product Page

Write Your Own Review

Already used our product?

We would appreciate your feedback. Please, leave a review.

Only registered users can write reviews. Please Sign in or create an account
Report incorrect information

Still Have Questions?

Our customer care team is here for you!

Contact Us