My Cart 0

User Manual - Advanced Subscription Products 3

 

 

Installation, Uninstallation, License Keys, Upgrading, and Downgrading Guide

 

Installing M2 Advanced Subscription Products

 

NOTE: Please ensure that the Advanced Subscription Products module is installed before proceeding with the installation of add-ons.

 

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

 

NOTE: If the store is using a firewall and not letting information from/to Advanced Subscription products, you need to add this IP: 64.23.153.101 to the IPs allowed by the firewall.

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:

      1. Login to your ssh console and navigate to your store folder:
cd path_to_the_store_root_folder
      1. Run the following command to install the latest version of the extension:
composer require aheadworks/module-sarp3

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

composer require aheadworks/module-sarp3:<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:

 

If you need to install a specific version, run this command (specify the version of the extension in <version>):

composer require aheadworks/module-sarp3:<version>

 

Need to integrate M2 Advanced Subscription Products with a payment method or GraphQL?

Note: It is recommended to install only the payment method modules and compatibility modules that you’re going to use in your store.

General modules

Module Name Official Module (Required!) Description

aheadworks/module-sarp3

 

core module, mandatory

aheadworks/module-sarp2-graph-ql

magento/module-graph-ql

GraphQL support

aheadworks/module-sarp2-reports

 

Allows integration with Aheadworks Advanced Reports.

aheadworks/module-sarp2-quick-view

 

Allows clients to view subscription options in ​a pop up on category page​s

aheadworks/module-sarp2-customer-group

 

Deprecated, allows moving customers to a certain group upon subscription purchase.

Payment method modules

Note: Ensure the official module of the payment gateway you are using is installed.

Module Name

Official Module (Required!)

Description

aheadworks/module-sarp2-aps

magento/module-payment-services-paypal

Adobe Payment Services support

aheadworks/module-sarp2-stripe

stripe/module-payments

Stripe support

aheadworks/module-sarp2-adyen

adyen/module-payment

Adyen support

aheadworks/module-sarp2-paypal

magento/module-paypal

PayPal support

aheadworks/module-sarp2-authorizenet

authorizenet/magento-module-authorizenet

Authorize.net support

aheadworks/module-sarp2-authnetcim

paradoxlabs/authnetcim

Authorize.net support. Requires an additional module from Adobe Marketplace.

aheadworks/module-sarp2-free-payment

 

Free payment, enables admin to create a subscription ​with free trial for ​a client in the backend without specifying any payment details​. Then the client should login and add their payment details until the trial period hasn't expired. 

aheadworks/module-sarp2-braintree

gene/module-braintree

Braintree support for Magento 2.3.X

aheadworks/module-sarp2-braintree-by-paypal

Suggests: paypal/module-braintree-core

Braintree support for Magento 2.4.X

aheadworks/module-sarp2-psigate

meetanshi/magento-2-psigate-direct-payment

PSIgate payment method support. Requires an additional module from Adobe Marketplace.

aheadworks/module-sarp2-mollie

 

Only credit card is supported

 

      1. Enable the extension:
bin/magento module:enable Aheadworks_Sarp2

 

How to enable a specific payment method or GraphQL?

Note: Enable only the payment method modules for which you have installed the official payment gateway module and a compatibility add-on.

Proceed with a corresponding command (associated with the specific module you intend to use):

Module

Command

GraphQL

bin/magento module:enable Aheadworks_Sarp2GraphQl

Adyen

bin/magento module:enable Aheadworks_Sarp2Adyen

Stripe

bin/magento module:enable Aheadworks_Sarp2Stripe

Adobe Payment Services

bin/magento module:enable Aheadworks_Sarp2Aps

PayPal

bin/magento module:enable Aheadworks_Sarp2Paypal

AuthorizeNet

bin/magento module:enable Aheadworks_Sarp2AuthorizeNet

Authorize.net by ParadoxLabs

bin/magento module:enable Aheadworks_Sarp2AuthNetCim

Free Payment

bin/magento module:enable Aheadworks_Sarp2FreePayment

Braintree (for Magento 2.3.*)

bin/magento module:enable Aheadworks_Sarp2Braintree

Braintree (for Magento 2.4.*)

bin/magento module:enable Aheadworks_Sarp2BraintreeByPaypal

PSIgate

bin/magento module:enable Aheadworks_Sarp2Psigate

Mollie

bin/magento module:enable Aheadworks_Sarp2Mollie

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:

      • Update per module name:
composer update aheadworks/module-sarp3
      • If needed, you can specify an exact version:
composer require aheadworks/module-sarp3:<version>

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.

 

Integrate License Keys

When the license for Advanced Subscription Products for Magento 2 is purchased and integrated into your project, four License Keys will be generated. One key is designated for production, while three are for testing environments. Each key allows you to connect one store with Advanced Subscription Products.

You can find these keys from My Account > My Projects and Licenses in the relevant project.

After installing Advanced Subscription Products, navigate to Stores > Configuration > Aheadworks Extensions > Advanced Subscription Products in your Magento Admin. In the Integration Details section, you'll find:

      • License Key - insert the key from My Projects and Licenses.
Note: Utilize Test Keys for staging and the production key for the live environment. Test keys have limitations - only 10 subscriptions can be created and managed.
      • Magento Access Token - grants access to your Magento stores ( will be generated automatically)
      • Bypass HTTP Authorization - set Yes for test keys. This bypasses HTTP Authorization commonly used in development mode/staging.

If set to Yes, two additional fields appear:

      • HTTP Authorization Username - enter the HTTP Authorization username associated with the website.
      • HTTP Authorization Password - enter the corresponding password.

Make sure to configure the settings correctly to avoid any issues. If HTTP Authorization is enabled on the store and Bypass HTTP Authorization isn't configured, the extension won't function correctly.

Please click the "Connect" button to connect your website with Advanced Subscription Products. 

Remember to Disconnect your website each time during deployments.

Integrate License Keys to enable Advanced Subscription Products for Magento 2 extension

 

Manage Keys During Deployments

If the key is already active on another store, inserting it on a new domain will trigger an error. When deploying from a stage server using test keys to production without clicking the disconnect button, an error will occur during setup:upgrade, resulting in a loss of connection and deletion of the public key stored in the database. A note will appear on all Magento pages, indicating the need to configure Subscription and Recurring Payments module. 

What to do: 

Change the key to another test or production key based on the data migration during deployment. 

If you click Disconnect before deployment, then after deployment, click the Connect button to activate everything on the new server.

In short:

      1. When data has been duplicated after deployment, it's essential to insert a new key.
      2. During data migration, click Disconnect, and after deployment, click Connect.

 

Upgrade to M2 Advanced Subscription Products Version 3

Before initiating the upgrade process, ensure that your current Advanced Subscription Products Version 2 is at least 2.15.0 to avoid potential issues. 

Please note that the upgrade is possible only through Composer.

When upgrading to version 3, do not remove version 2.2x.x . You can upgrade to version 3 only from the current version of the Advanced Subscription Products extension.

To install the extension:

      1. Login to your ssh console and navigate to your store folder:
cd path_to_the_store_root_folder
      1. Run the following command to install the latest version of the extension:
composer require aheadworks/module-sarp3

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

composer require aheadworks/module-sarp3:<version>

Next, register the extension:

bin/magento setup:upgrade

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

bin/magento setup:di:compile

Clean store cache, by running the following command:

bin/magento cache:clean

 

Downgrade to Advanced Subscription Products Version 2

Note: Before downgrading, make sure to disconnect your License Keys to avoid any loss of data.

      1. Login to your ssh console and navigate to your store folder:
cd path_to_the_store_root_folder
      1. Run the following command:
composer remove --no-update aheadworks/module-sarp3

composer update aheadworks/module-sarp3

Next, upgrade setup:

bin/magento setup:upgrade

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

bin/magento setup:di:compile

Clean store cache, by running the following command:

bin/magento cache:clean

 

Uninstalling M2 Advanced Subscription Products

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.

 

NOTE: Advanced Subscription Products for Magento 2 is a SaaS service, which means ALL subscriptions will stop processing once the module is uninstalled.
      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 Aheadworks_Sarp2Braintree
bin/magento module:uninstall Aheadworks_Sarp2BraintreeByPaypal
bin/magento module:uninstall Aheadworks_Sarp2Aps
bin/magento module:uninstall Aheadworks_Sarp2Paypal
bin/magento module:uninstall Aheadworks_Sarp2CustomerGroup
bin/magento module:uninstall Aheadworks_Sarp2Psigate

 

Introduction to Advanced Subscription Products

General information

The Advanced Subscription Products is a Software as a Service (SaaS) solution that enables you to sell products through a subscription model on a Magento 2 store. Subscriptions are securely stored on our servers, ensuring optimal store performance.

Admins can easily create diverse subscription plans with Advanced Subscription Products, incorporating various fee types (trial, initial, % of regular), installments, payment schedules, subscription extension options, and more. These plans can be easily assigned to products, allowing customization according to each product's specific characteristics. The extension supports most types of products.

Admins can manage the subscriptions purchased with the help of specially-designed grids, and keep customers informed on any updates to their subscriptions with the help of configurable email notifications. Customers can add both subscriptions and one-off products to their cart. Subscriptions with the same shipping date, even from different orders, can be delivered together, saving on delivery costs. Additionally, customers can benefit from powerful subscription monitoring and editing options, accessible at any time.

Advanced Subscription Products comes with the following features:

    • Editing options and quantity of products within the subscription: permanent or one-time-only editing;
    • On-the-fly editing, extending and resuming 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;
    • An option to apply the Lowest Possible Price for recurring orders.

API documentation

Extension Logic

Initial setup:

  • Configure general settings
  • Create subscription plans
  • Assign these plans to the products

Now, you're all set to start selling products as subscriptions.

Once set up and running, Advanced Subscription products create recurring orders on schedule, according to the Subscription plans. All subscriptions are securely stored on our servers, ensuring optimal performance without burdening your store's resources. 

Each subscription is saved in the subscription profile.

A customer can have multiple subscriptions (subscription profiles).

Customers can manage their subscriptions in My Account > My Subscriptions on your site.

Not logged in customers receive a secure link to a special page where they can manage their subscriptions virtually to the same extent as registered customers.

 

Compatibility

 

Module Version Magento Version
As of version 3.0.0 2.4.4 - 2.4.6

The PHP version depends on your current Magento version. Please, refer to your Magento version release notes.

Advanced Subscription Products is Hyvä-compatible. 

 

Integrations

 

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 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 price 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. 
  9. Subscriptions made with the Mollie payment method are not merged due to Mollie's native behavior of sending a new payment token for each subscription.

 

 

General Settings

To configure the extension, go to Stores > Configuration > AHEADWORKS EXTENSIONS >Advanced Subscription Products. The configuration page comes in six sections: 

 

Integration Details

In the Integration details section, you can activate our Magento 2 Subscription extension and connect it to your store - it’s an essential step for the extension to function

More information in the Manage License Keys article.

 

General Settings

The General section includes the following parameters:

  • Fallback Shipping Method - select the default shipping method for subscriptions: flat rate (fixed) or table rate (the best way). This shipping method will be used when the shipping method from the initial order cannot be applied. For example, if you have a setting to offer free shipping for the orders with total greater than $100: The initial order can contain more products and its total will be greater than $100, but a single recurring order can be less than $100. This is when the extension will use this backup shipping method. 
  • Enable Extension Log - set to Yes if you need to log subscription updates, as well as the actions of the Customer and Admin.
    The logs are saved on the server in the text files and don’t contain any sensitive customer 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 paths of the log files are: 
    • var/log/aw_sarp2/engine.log
    • var/log/aw_sarp2/payment.log
  • Use Product Advanced Pricing – set to Yes to use special, group and tier prices to calculate the prices of the subscriptions.

    How Advanced Pricing options affect subscription prices?

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

  • Initial Fee Price

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

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

 

  • Trial Period and Regular prices

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

 

Formula

Trial Period Price = Advanced Pricing * Trial Percent

 

For example: 

Advanced Pricing = $50

Trial Percent = 10%

 

Trial Price Calculation: $50 * 10% = $5

 

Formula

Regular Price = Advanced Pricing * Regular Percent

 

For example: 

Advanced Pricing = $50

Regular Percent = 50%

 

Regular Price Calculation: $50 * 50% = $25

 

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.

 

For example:

Advanced Pricing = $50

Regular Price = $25

Regular Price ($25) < Advanced Pricing ($50)

 

Subscription Price will be $25.

 

The fixed Trial period 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 about Advanced pricing of products in the official Magento 2 user guide.

 

  • Apply Lowest Possible Price on Recurring Orders - enable this option to ensure that customers receive the best available price for their subscription products. When enabled, all Discounts, Cart Price Rules and Advanced Pricing active on the day of a new charge will be applied, ensuring the lowest price is used. Please note: the option Apply Lowest Possible Price on Recurring Orders is only for native Magento Cart Price Rules, Catalog Price Rules, Advanced Pricing.

Here's how recalculations occur when various options such as discounts, Advanced Pricing, and Apply Lowest Possible Price on Recurring Orders are available for an order during charge generation.

Example 1: Plan Discount Only

Conditions:

Joust Duffle Bag costs $100. 

Plan discount: 25%

Calculation of Subscription Price:

$100 - 25% = $75.99 (because Price Rounding is set up to XX.99).

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

Example 2: Plan Discount + Advanced Pricing

Conditions:

Joust Duffle Bag costs $100. 

Advanced Price: $90 

Plan discount: 25%.

Calculation of Subscription Price:

$90 - 25% = $67,99.

 

Example 3: Plan Discount + Advanced Pricing + Apply Lowest Possible Price on Recurring Orders 

Conditions:

Joust Duffle Bag costs $100. 

Advanced Price: $90 

Plan discount: 25% 

Cart Price Rule discount: 50% 

Apply Lowest Possible Price on Recurring Orders: Enabled

Calculation of Subscription Price:

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

Note: An option to Apply Lowest Possible Price on Recurring Orders works for subsequent subscription payments that are made automatically according to the plan (except for the very first order - initial order).

For the initial order the discount set in the Cart Price Rule is applied on top of the plan price.

Example 4: Plan Discount + Cart Price Rule (for initial order and recurring orders)

Conditions:

Joust Duffle Bag costs $100. 

Plan discount: 25% 

Cart Price Rule discount: 50% 

Apply Lowest Possible Price on Recurring Orders: Enabled

Calculation of Initial Order Price:

$100 - 25% - 50%= 37.99$

Calculation of Recurring Order Price:

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

$100 - 50% = $50

And vice versa, when Plan discount is greater than Cart Price Rule discount, then Cart Price Rule discount is ignored and Plan discount is applied to the product price.

 

  • Disable Guest Checkout - 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.
  • Out of stock handling – the feature allows you to manage what happens when a product in a subscription order is out of stock:
    • Suspend Subscription – if a product is out of stock, the entire subscription will be suspended until the product becomes available again.
    • Skip out of stock products and recalculate totals – this option skips the out-of-stock item in the subscription order and recalculates the total based on the available products. The subscription continues without interruption for the rest of the products.

Extension Settings | Advanced Subscription Products for Magento 2

 

Scheduler

The Scheduler section has the following parameters to set:

  • Merge Same-Day Subscription Orders - 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);

How are the same-day subscriptions merged?


The options are applied to subscriptions of shippable products with 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 a default shipping method for subscription orders (the option above).

Merging subscriptions is only possible for registered users. 

The same payment method should be applied for subscriptions, and customers should have their credit card details saved in their account.

Subscriptions made with the Mollie payment method won't be merged.

 

  • Number Of Attempts to Charge Failed Subscription - a dropdown to select the number of daily retries for charging a subscription fee in case of failure (numeric values 1-10). 
  • Payment Delay Handling - a dropout to set how to manage the dates of subsequent orders if there's a delay in payment for current order:
    • Shift Following Orders (default) - when a payment is delayed, future orders are automatically rescheduled based on the new payment date (i.g. if a payment expected on Monday is processed on Wednesday, future orders will occur on Wednesdays).
    • Mantain Schedule - despite a delayed payment, this option keeps future orders on the original schedule (i.g. if a payment due on Monday is processed on Wednesday, subsequent orders will still take place on Mondays as initially planned).
    • Scheduler Settings | Advanced Subscription Products for Magento 2

 

Product Page

The Product Page section contains the following settings:

  • Subscription Plan Selector - decide between the two modes of Subscription Plan Selector as it will appear on the storefront page: Radiobutton or Dropdown;  

Radiobutton switcher for subscription Magento 2

Radiobutton

Dropdown switcher for subscription Magento 2

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). HTML is supported;

Tooltip for Subscribe And Save | Advanced Subscription Products for Magento 2

  • Subscription Plan Display Style - 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)

Classic switcher of advanced Subscription Products for Magento 2

Classic switcher

 

Advanced Switcher for Subscription and Recurring Payments on Magento 2

Advanced switcher

  • Subscription is Selected by Default - When enabled, the default plan will be automatically selected upon opening the product page. If no default plan is set, the first plan will be selected by default.

Product Page settings | Advanced Subscription Products for Magento 2

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”.

Classic Format

Advanced Format
Classic format of trial payments | Advanced Subscription Products for Magento 2 Advanced format of trial payments | Advanced Subscription Products for Magento 2

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}”.

Classic Format

Advanced Format

Classic Format of details of repeated trial | Advanced Subscription Products for Magento 2

Advanced Format of details of repeated trial | Advanced Subscription Products for Magento 2

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

Classic Format

Advanced Format

Classic Format of details of Repeat Trial Payments set for every X period | Advanced Subscription Products

Advanced Format of details of Repeat Trial Payments set for every X period | Advanced Subscription Products

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 to send email alerts for successful subscription billing, or Disable Magento 2 newsletter subscription success email notifications;
  • 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 Template - the email templates for admin about billing failure;
  • Subscription Created Email Template - the email template for admin about created subscriptions;

Email Settings | Advanced Subscription Products for Magento 2

  • Subscription Canceled by Admin Email - enable/disable email alerts about canceled subscription (by Admin);
  • Subscription Canceled by Admin Template - the email template for canceled subscription alerts (by Admin);
  • Subscription Canceled by Customer Email - enable/disable email alerts about canceled subscription (by Customer);
  • Subscription Canceled by Customer Template - the email template for canceled subscription alerts (by Customer);
  • Send “Upcoming Billing Reminder” Email in - the number of days before the next billing when the corresponding email reminder must be sent. Set to 0 to disable the notification. Notifications will not be sent for subscriptions with a billing cycle shorter than the specified number of days.
  • Next Billing Email Reminder Template - the email template for next billing reminders;
  • Send Secure Link to - automatically generate a secure link and send it to customers via email, allowing them to view subscription details without logging in. This feature can be enabled for all customers, only guests, or disabled altogether. Use the {secure link} variable to include the link. Note: If secure links are allowed to guest users only, a regular link to subscription is sent, and users should sign in to access it.

 Email Settings | Advanced Subscription Products for Magento 2

 

Notifications are sent in bulk on each cron launch. This includes notifications for subscriptions canceled by both the Admin and the Customer.

Magento enables sending invoice emails to customers. Simply navigate to the required invoice in Sales > Invoices and click on Send Email.

 

Notifications for free trial subscriptions

Variables used: {customer name}, {product name}, {subscription ID}, {secure link}, {store details}, {total amount}.

First notification that announces the customer subscribed successfully:

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 Subscription Plan - by choosing 'Yes' you will allow registered buyers to swap active subscription plans at any time they wish.

When switching to a new plan, any pending payments under the old plan are canceled. The first payment for the new plan is scheduled for the same date as the next payment under the old plan. Subsequent payments for the new plan will follow the new plan's payment schedule. 

Example:

Plan 1:

Regular Payments = 5

Membership = Yes

Repeat - daily

Start date = May 1

 

Plan 2:

Trial Payments - 3

Regular Payments = 7

Membership = Yes

Repeat - weekly

 

The customer subscribed to Plan 1. After two payments, including the initial fee, three remain, with the next due on May 3rd. They switched to Plan 2. Upon switching, pending payments under Plan 1 are canceled, and the first payment under Plan 2 is scheduled for May 3rd, maintaining the same payment date. Trial payments are skipped.

Proration is not supported at the moment.

 

  • Edit 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.
  • Enable Next Payment Date Editing - by choosing 'Yes' you will allow registered buyers to edit the date of next payment related to an active subscription at any time they want.
  • Enable Next Payment Date Editing for Services - set this option to "Yes" to allow registered shoppers to edit the date of the next payment date for subscription plans that are set to "Services" mode. When a client reschedules the payment date for a subscription to a later time, the 'Services' mode will remain active during this period.
  • Earliest Available Payment Date (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).
  • Enable Product Editing -  choose 'Yes' to allow registered shoppers to edit the product options and/or the quantity within a subscription.
  • Enable One-time Product Editing - set 'Yes' to enable registered users to edit product options and quantity within subscriptions, with the choice to apply changes permanently or to the next order only.

When "Enable Product Editing" is set to No the "Enable One-time Product Editing" setting is not available and hidden from the list of settings.

The options "Enable Product Editing" and "Enable One-time Product Editing" determine how products within a subscription can be edited: either permanently or for the next order only (one-time). Here's what each mode entails:

  1. When "Enable Product Editing" is enabled (set to Yes) and "Enable One-time Product Editing" is disabled (set to No), any changes made by customers to product options or quantity will be permanently accepted for all future orders within the subscription.
  2. If both configuration options are enabled (set to 'Yes'), customers will have the choice between both modes. They will encounter a popup upon completing updates to the subscription, where they can select either mode. Opting for the "For Next Order Only" mode in the popup means that any changes made to the product configuration or quantity within the subscription will only apply to the upcoming order. Subsequent orders will follow the settings of the previously delivered subscription.

Enable Product Editing popup with the option to do it for the next order only or permanently

If a customer makes multiple updates to a subscription in the One-Time mode between two subsequent orders (for example, Nth and N+1st), and each time selects the "For the next order only" option, they will receive the next order (N+1st) based on the most recent changes made. However, after receiving the N+1st order, all changes to the product options within the subscription will revert to their state as per the previously received order (Nth).

Allow subscription editing | Advanced Subscription Products for Magento 2

  • Enable Subscription Cancellation – set to ‘Yes’ to allow customers to cancel/resume subscriptions by default. This value can be overridden for each subscription plan on the Plan page on Backend. When set to “No”, the Cancel/Resume buttons are not displayed on the My Subscriptions grid.
  • Enable Adding To Nearest Subscription - set to 'Yes' to allow customers to add one-off and subscription products from the cart to the nearest subscription (to save on shipping). This displays an 'Add to Nearest Subscription' button on the cart page and mini-cart modal, allowing customers to easily include items in their upcoming subscription orders.

Add new product to nearest subscription option in mini cart

  • Enable Adding To Subscription - set to 'Yes', this feature enables customers to add a new subscription to an existing one under certain conditions. These conditions include having a subscription that matches the selected plan on the product page. If the customer has multiple subscriptions with this plan, they will be prompted to choose the specific subscription to which the new product will be added.

Enable subscription editing features | Advanced Subscription Products Magento 2

  • Enable Skipping Product in Next Payment - set to ‘Yes’ to allow customers to exclude a particular subscription product from their next subscription payment. 

Skip Next Delivery for Subscription product Magento 2

 

Quick View

In the ‘Quick View’ section, you have the option to enable product previews directly on the category page. The following fields are available for configuration:

  • Enable Quick View on Category Pages - by setting Yes, a small eye icon  Eye icon for Quick View on Category Pages  is added next to subscription products. When customers click on it, they can instantly view product details in the popup window, select options, and add items to their cart without needing to visit the product page.

Quick View of the product page content on storefront | Advanced Subscription Products

  • Tooltip for Quick View Icon - define the message to display in a tooltip when users click or hover over the eye icon, providing guidance or additional information about the Quick View functionality (default is empty). HTML formatting is supported.
  • Quick View Content - select the elements to be shown in the popup window upon activation:
    • Image and price
    • Image, price and short description
    • Show all

Quick View section on backend | Advanced Subscription Products for Magento 2

 

 

Creating/Editing Subscription Plans 

 

Subscription Plans Grid

Having configured the main settings of the extension, proceed to create subscription plans for products. Go to Sales → Advanced Subscription Products 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;
  • Plan Name - the descriptive name of the subscription;
  • Status - the status of the subscription (enabled/disabled);
  • Initial Fee - the indicator of an initial fee price set for the subscription (yes/no);
  • Trial Period - the indicator of a trial period set for the subscription (yes/no);
  • Number of Regular 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;
  • Services Mode– set Yes to automatically enable an extra cycle when the subscription comes to an end.

What is services mode?

Services differs from physical subscriptions by providing access to exclusive content, privileges, and community engagement rather than tangible products. Unlike standard subscriptions, services mode offers an automatic renewal cycle, saving buyers from the hassle of resubscribing when their membership expires.

 

  • Subscription Renewal Enabled – Yes if the subscription can be extended.

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 a Subscription Plan

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. When customers switch plans, the new settings apply automatically.

 

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 seven sections: General, Storefront Description, Trial Period Schedule, Regular Period Schedule, Additional Pricing Settings, and Automatic Subscription Renewal Reminder.

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;
  • 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;
  • Enable Subscription Cancellation - set to ‘Yes’ to allow customers to cancel/resume the subscription plan. The Use value from Config Settings check-box enables the default value set in the Configuration. When customers are not allowed to cancel the subscription, the Cancel and Resume buttons are not displayed on the My Subscriptions grid.

General Settings | Advanced Subscription Products for Magento 2

Storefront Description

The section comes with the following parameters:

  • Store View - the selector of a store-view;
  • Plan name on storefront - 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. 

If no name is specified for a store view, the default plan name configured in the General Settings will be used.

storefront description of subscription plan 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; Setting to No allows specifying a different period length. For example, you can configure your subscription plan with a 15-day trial period followed by monthly payments.

Trial Period Schedule | Advanced Subscription Products for Magento 2

 

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; You can create infinite subscription plans by leaving this field empty or setting it to 0.
  • Repeat Payments - the frequency of payments selector with options: Daily, Weekly, Monthly and Every (further configurable).
  • Send “Upcoming Billing Reminder” Email in - 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);
  • Services Mode - 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).

Regular Period schedule of subscriptions | Membership extension for Magento 2

 

Additional Pricing Settings

The Additional Pricing Settings section allows the following:

  • Set the Regular Payment Price (as a % of one-off product price). Can be overridden on the product level;
  • Set the Trial Period Payment Price (as a % of one-off product price), if the trial period is enabled. Can be overridden on the product level;
  • 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

Automatic Subscription Renewal Reminder

The Automatic Subscription Renewal Reminder section shows the following options for subscription plan configuration:

  • Enable Subscription Renewal Email - the Yes/No toggle to enable or disable the option to send email with the offer to extend the subscription (both on the front and backend);
  • Days Before/After Subscription End - set the whole numeric value to determine when to send the renewal email to the customer. This can't exceed the length of the regular period. Use negative numbers to send the email before the subscription ends, zero for the day of the last billing, and positive numbers for days after the last billing.
  • Renewal Email Template - a drop-box to select an email template for the notification (AW_Offer to Continue Subscription Template by default).

How purchased subscriptions react to any alterations herein? 

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

Automatic Subscription Renewal Reminder | 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}}

 

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);

Services Mode - 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 Period 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 Options 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 Purchase Type box for this purpose):

  • One-Time Purchase Only (No Subscription) - the product will be available only as a one-off purchase;
  • One-Time Purchase or Subscription - 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:

  • Default Plan - If there are multiple subscription plans available for a product, you can designate a default plan that will be automatically selected.
  • 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 Price - The amount of the initial fee, if enabled in the Plan Settings. By default, 0.00. Set the initial fee price manually. 
  • Trial Period Price - 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.  

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

  • Regular Subscription Price - 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.

What price will be displayed on the product page?

Regular subscription price 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 price: $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.

What happens if a subscription product is edited or deleted?

SKU and Name 

The product name and SKU are taken from the initial order. If the SKU or name is later changed in the product, it won’t be reflected in the subscription. The subscription will continue to function properly with the original name and SKU. However, if the customer edits the product within the subscription (e.g., quantities or variants), your edits to the product name and SKU will then apply.

Price

If the subscription price is changed, it will be applied only after the previously scheduled payment has been processed. Use case:

  1. On the 10th of January, a customer subscribes to Product A using a monthly subscription plan S for $10.
  2. Admin changed product price of plan S to $15 on the 20th of January.
  3. As the next payment has already been scheduled, the customer will be charged $10 on the 10th of February.
  4. Further payments will be $15 on 10th of March, April and so on.

However, if the customer changes their shipping address or payment method between steps 1 and 2, the new price will take effect on the step 3.

If the price of the product is changed:

In this scenario, the scheduled payment will reflect the new price, but the customer won't see it until they make changes to their subscription, such as adjusting the next payment date or when the payment is processed.

Out of Stock / Disabled / Deleted

If the subscription includes one or several products, and at least one of them is Out of Stock / Disabled / Deleted status, then the subscription is canceled after several attempts to make a payment.

Change a child product to another one in configurable or bundle

When you change a child product within a configurable setup, the subscription will continue functioning, but the quantity will be deducted from the original product that was replaced. If you delete the original product, the subscription will fail during the next payment. But if product variants or quantities are edited within the subscription, the new product will be substituted, and its quantity will be utilized instead.

When modifying bundle products in an active subscription, you can only adjust the item quantity and specify whether the changes apply permanently or just to the next order. The contents of the bundle itself cannot be changed.

When editing a subscription (e.g., adjusting the plan, payment method), the product itself isn't replaced. The modification affects only the price.

 

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, in the Subscription Options section, select the Purchase type: One-Time Purchase Only (No Subscription), One-Time Purchase or Subscription, Subscription Only.

Set up Use Product Advanced Pricing and add Subscription Plans.

Bundle Products | Advanced Subscription Products 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.

Bundle products subscription on storefront

Adding subscription plans to simple bundle products

To create a Simple Bundle Product, follow Catalog → Products, and in the Add Product dropdown, click on Bundle Product.

Adding a Simple Bundle | Advanced Subscription products and Simple Bundle Products for Magento 2

Then, at the New Product page use yes\no toggle to Switch to Simple Bundle

Switch to Simple Bundle | Advanced Subscription products and Simple Bundle Products for Magento 2

The pop-up alert will appear. Click “continue” to confirm your action.

Pop up alert switch to Simple Bundle | Advanced Subscription products and Simple Bundle Products for Magento 2

Note: After switching to Simple Bundle, If you have already had bundle options added, they will be deleted.

Scroll down to the Bundle Items section and add the required bundle items.

Bundle Items | Advanced Subscription products and Simple Bundle Products for Magento 2

Set up Use Product Advanced Pricing and add Subscription Plans.

After that, scroll down to the Subscription Options section. In the option Purchase type you can choose preferred type of the purchase:

  • One-Time purchase Only (No subscription required)
  • One-Time purchase or Subscription
  • Subsсription Only

Then, decide whether to use Product Advanced Pricing or Config Settings (Use yes/no toggle or check box) and add the most suitable Subscription Plans.

Subscription Options | Advanced Subscription products and Simple Bundle Products for Magento 2

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

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 subscription Magento 2 storefront

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

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 Plans.

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. Additionally, with Advanced Subscription Products, you can use the "Subscription" condition to specify discounts related to subscription products in cart price rules.
  • Free Shipping dropdown: No, For matching items only, For shipment with matching items.

Thereby, with M2 Advanced Subscription Products 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 are 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

 

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 extension 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 the 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)

  1. 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)

  1. 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)

  1. 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)

 

Adding Free Product to Subscriptions

To learn how to configure the rules go to Add Free Product to Cart for Magento 2 user manual.

Dashboard

To customize the rules of the promotional campaigns and monitor their performance navigate to Marketing > Add Free Product to Cart > Rules.

This is where you will find some financial metrics related to the performance of the campaigns and the Scenarios grid.

Dashboard | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

To visualize how to Add Free Product to Subscription consider the following example of promo campaign:

The rule conditions on the backend: 

Campaign: Offer the Affirm Water bottle or Sprite Foam Yoga Brick for just 1 USD to customers who intend to buy a Travel Set subscription.

Scenario: Buy X Get Y  

Rule: Every time the customer adds a Travel Set subscription to the cart, the store will offer one of the promo items for just 1 USD (Affirm Water bottle or Sprite Foam Yoga Brick). These promo items should be offered via a popup, and not auto-added to the cart.

Buy X Get Y rule settings | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

Application of the scenario by the customer from the storefront

On the Storefront we can see the Promo text displayed next to the price of the item related to the promo offer.

Promo Text next to the Price | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

Once the promo item is added to the cart the promo product is offered to customer via popup.

Special Offer popup | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

Once the customer adds the promo product to cart, in the Cart Summary they will see the subtotal, the discounted price and the total order price.

Shopping Cart with Promo Items | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

Application of the scenario by the store admin from the backend

When the store admin adds a product that falls under the promo scenario to the subscription, the Add Promo Products button appears.

Adding Promo Items to Subscription | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

If the store admin decides to add a promotional item, a pop-up containing those items will appear.

Note: While applying the scenario from the backend, the "Add promotional product" button and popup with promo items will appear even if the admin has selected the auto-add product to cart option when configuring the rule.

Promo Items popup | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

The selected promo item will be added to the subscription.

Promo Item added to the Subscription | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

The spend X get Y and buy X get Y free scenarios follow the same flow.

When applying the Coupon scenario, the general steps remain the same, but a special coupon code must be entered:

  •  by the customer at the checkout on the storefront;

Entering coupon code on the storefront | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

  • by the store admin on the backend.

Entering coupon code on the backend | Add Free Product to Subscription | Advanced Subscription Products for Magento 2

 

Adding Discounts to Subscriptions

The extension also enables merchants to apply discounts to subscription products through Cart Price Rules

To set this up go to Marketing > Promotions > Cart Price Rule. Here you can either select an existing rule or create a new one. 

Cart Price Rules | Adding Discounts to Subscription | Advanced Subscription Products for Magento 2

After configuring rule conditions, scroll down to the Actions section. 

In the Apply to Subscriptions dropdown menu, select one of the following options:

  • No –The rule applies only to one-time purchases;
  • Subscriptions and One-Time Purchases – The rule applies to both subscription products and one-time purchases;
  • Subscriptions Only –The rule applies exclusively to subscription products.

Apply to Subscriptions | Adding Discounts to Subscription | Advanced Subscription Products for Magento 2

If you select anything other than No, additional options will appear:

  • Apply to Subscription Orders Starting From – Define the first subscription order to receive the discount. For example, if set to "3," the discount will begin with the third subscription order;
  • Apply to Every Nth Order – Set the interval for the discount. For instance, selecting "2" will apply the discount to every second subscription order;
  • Number of Orders to Apply – Specify how many subscription orders will receive the discount. To apply the discount indefinitely, enter "0".

Once the discount is configured, click Save.

Discount Application Options | Adding Discounts to Subscription | Advanced Subscription Products for Magento 2

 

 

Subscriptions Management 

 

 

Monitoring & bulk-editing 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 → Advanced Subscription Products by Aheadworks → 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;
  • Customer - the name of a subscriber;
  • Email - subscriber's email address;
  • Group - the group the subscriber is assigned to;
  • 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;
  • 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 Date - the date of the next order;
  • Next Order Grand Total - actual total for the next order;
  • Products - the products assigned to the subscription;
  • Reason – the reason for subscription cancellation/suspension;
  • Last Updated by Customer – The date and time of the most recent update made by the customer;
  • SKUs – The stock-keeping units of the products in the subscription.

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 canceled. 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.

In the Columns filtering option, the store admin can customize the columns displayed in the subscription grid. When clicked, it opens a dropdown menu where you can select or deselect various columns to show or hide in the grid. 

Click Cancel to discard the changes you’ve made. Click Reset to return to default column settings.

Filtering Subscriptions Grid Columns | Advanced Subscription Products for Magento 2

The Export option allows store admins to download filtered data from the subscription grid in either CSV or Excel XML format.

Exporting the Subscriptions Grid Data | Advanced Subscription Products for Magento 2

 

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 dropdown 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

Note: When modifying configurable products, the admin can adjust not only the product quantity but also parameters like size and color.

Editing Configurable Product | Advanced Subscription Products for Magento 2

However, for bundle products in an active subscription, you can only modify the item quantity and choose whether the changes are permanent or apply to the next order. The bundle contents cannot be changed.

 

Manage subscription status in customer’s 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 canceled. 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 "Canceled", and the Cancel Subscription option will change to Resume Subscription.

Canceled subscriptions can be resumed. To renew a subscription, click on Resume 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 Resume action?

For services mode, the action allows resuming subscriptions while the services mode is still active. When the services mode period is expired, the option to resume will not be displayed.

For physical products, there is no time limit and the subscription with the Canceled status can be resumed 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).

 

Create free trial subscriptions from backend

Admins have the option to offer free trial subscription orders with a zero total, which can be a powerful tool for marketing purposes.

To set up a free subscription trial from the backend, admins can follow these steps:

  1. Configure the desired trial plan as usual.
  2. Assign the trial plan to products where it should be available.
  3. Proceed to generate an order using the standard workflow: select or create a new customer, choose a product, and configure it accordingly.

This allows admins to place orders on behalf of customers without requiring their payment details.

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.

 

Cancel free trial 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 then 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.

Retry failed transaction of subscription Magento 2

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.

Apply Lowest Possible Price on Recurring Orders

Option Apply Lowest Possible Price on Recurring Orders 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.

Order Total | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

Please note: Apply Lowest Possible Price on Recurring Orders 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).

Subscription Options | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento

Item without discount | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

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$.

Lowest price applied | Advanced Subscription Products for Magento 2

Lowest price applied | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

When Advanced Pricing is set to Yes and Apply Lowest Possible Price on Recurring Orders 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$

Advanced Pricing settings | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

Special Price on the Storefront | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

Advanced Price checkout view | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

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. 

Discount settings | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

An option to Apply Lowest Possible Price on Recurring Orders 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$

Cart Price Rule checkout view | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

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$

Subscription Price checkout view  | Apply Lowest Possible Price on Recurring Orders | Advanced Subscription Products for Magento 2

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.

Placing a Subscription Order from Backend

Admins have the ability to place a subscription order on behalf of a customer. To do so, navigate to Sales > Subscriptions > Create New Subscription. On the New Order page, select the desired products and a customer for the order. Finally, choose a valid payment method to complete and submit the order.

Placing a subscription order

From this page, you can open the order which was created by Advanced Subscription Products for Magento 2. Under the section “Items 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).

 

Subscriptions 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}
  1. 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}
  1. 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.

 

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.

Quick View from Category Page | Advanced Subscription Products Magento 2

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.

Quick View window | Advanced Subscription products Magento 2

 

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.

 

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 their Subscription Profile -  “Your subscription profile is: 00000000X”.

Guest Order Success Page | Advanced Subscription Products for Magento 2

 

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.

Add product to subscription magento 2

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

add product to subscription Magento 2

 

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: 

add product to next subscription magento 2

 

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;
  • Plan - the name of the subscription plan;
  • Trial End 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, Resume, Extend).

Subscriptions in My Account | Advanced Subscription Products for Magento 2

Resume Subscription

To resume a subscription with the Canceled status, simply click on the "Resume" action link found in the Actions column.

To view canceled subscriptions, a Show canceled subscriptions box should be checked.

Resume previously canceled subscription Magento 2

What is the expiration time for the Resume action?

For services mode, the action allows resuming subscriptions while the service mode is still active. When it is expired, the option will not be displayed.

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

 

Customers are not able to resume subscriptions for which “Allow Customer to Cancel Subscription” is set to ‘No’ (It can be set up in the extension configurations under the "Subscription Editing" section).

 

Extend Subscription

For expired subscriptions (when final billing has been applied to the subscription) the Extend active link will become 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 open. 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 the settings 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. 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 Canceled 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 From Subscription active link next to the chosen product. 

Remove product frm subscription | Subscription and Recurring Payments 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 Plan 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 'Save Changes' 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 the 'Back' button 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 the Edit link next to the Next Payment Date. 

Editing the next payment date | Advanced Subscription Products for Magento 2

You will get redirected to the Change Next Payment Date page. Type in the date in the 'dd/mm/yyyy' format or choose 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

Additionally, if you want to skip the upcoming payment, simply click the Skip This Date button. This allows you to skip the next delivery in the subscription cycle. For example, in a monthly subscription, if your next payment date is October 1st, it will shift to November 1st.

Skipping Next Payment Date | Advanced Subscription Products for Magento 2

After selecting the Skip This Date option, a popup will appear, confirming the new next payment date. Click Yes to confirm the change or No to cancel.

Skip the Next Payment Date Popup | 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 'Add 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 save the changes, click on the Use Selected 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.

If the payment attempt fails for any reason, customers can retry failed payments by logging to their account > My Subscriptions > Subscription’s edit page > Payment Details . Here they will find the “Retry” button, which allows them to instantly make another payment attempt.

Advanced Subscription Products for Magento 2 | Retry failed payment attempt

When a customer has multiple subscriptions made with the same credit card, it's possible to edit payment information in bulk for all these subscriptions. This feature is currently available for Adyen, Mollie, and Stripe. It streamlines the process by allowing customers to make changes without having to edit each subscription individually.

When editing payment details, customers are presented with a pop-up allowing them to choose which subscriptions the changes apply to. They can opt to apply the edits to This subscription only or to All connected subscriptions (made with the same credit card, sharing the same token ID and payment method name).

Change payment details in bulk | Advanced Subscription Products for Magento 2

 

Skip Products From The Next Delivery (Period) 

The Skip Next Delivery option (for physical products) or Skip Next Period option (for virtual products) enables customers to exclude specific subscription products from their upcoming delivery or billing cycle. To skip a product, simply click the "Skip Next Delivery (or Skip Next Period)” button and confirm the action in the popup. Once skipped, the first/regular payments will be recalculated accordingly, and the button will change to "Include in Next Delivery".

  • It is possible to skip either physical or virtual products;
  • The Skip Next Delivery option won't appear if there are only one or two products in the profile, one of which is a one-off product;
  • Customers can cancel the skip at any time before the next payment date by clicking the Include in Next Delivery button;
  • Once a product is skipped, it cannot be edited.

 Skip next delivery of recurring orders Magento 2

 

Hide canceled subscriptions

Show canceled subscriptions option enables customers to hide canceled subscriptions from their subscription management page, displaying only active subscriptions. When the checkbox is selected, canceled subscriptions will appear in the grid; otherwise, only active subscriptions will be shown.

Hide canceled subscriptions in My subscriptions Magento 2

 

Integrations

  

Reward Points for Magento 2

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

When the Advanced Subscription Products is in integration with Advanced Reports for Magento 2, 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 > Advanced Subscription Products 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.

Advanced Reports for Subscription Products Magento 2 

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.

Initial vs Recurrent sale reports Magento 2

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:

The date range calendar in Initial vs recurrent payments report Magento 2

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.

graph for Initial vs recurrent payment report Magento 2

 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). 

Growth Rate Report data Magento 2 Admin

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.

Churn Rate Report for Advanced Subscription Products Magento 2 

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. 

Grid in Churn rate report | Advanced Subscription Products for Magento 2

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.

Number of active subscribers Report Magento 2 

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

Chart with all active subscribers Magento 2

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).

Average Revenue Per Customer Report Magento 2

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

table of Total Subscriptions Revenue and Subscribers Magento 2

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.

Lifetime Value Report for Advanced Subscription Products Magento 2

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

graph in Lifetime Value Report | Advanced Subscription products for Magento 2

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.

Monthly Recurring Revenue Report for Magento 2

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

graph in Monthly Recurring Revenue Report | Advanced Subscription Products for Magento 2

8. Monthly Recurring Revenue Growth Report (MRR)

Monthly Recurring Revenue Report gives insights into the revenue generated from your subscriber base each month. In comparison with MRR Report, MRR Growth Report provides more detailed information regarding the growth and decline in monthly recurring revenue over time.

The MRR uses accrual accounting method which recognizes revenue when it is earned rather than when it is received. MRR isn’t equal monthly revenue from subscriptions, it is a specific metric that may correlate with it. 

The report includes the following metrics:

  • Reactivation - the revenue received from subscriptions that were previously canceled or churned but were reactivated during the month.
  • Expansion - the additional revenue generated from existing customers, such as upgrades to their subscription plan or an increase in the quantity of products purchased.
  • New - the revenue brought in by new customers who subscribed for the first time ever during the month.
  • Churn - the revenue lost due to cancellations by customers.

Note: If a customer is charged during the month and then cancels, their churn will be attributed to the following month.

  • Contraction - total reduction in Monthly Recurring Revenue compared to the previous month. This occurs when a customer remains subscribed but pays less due to a plan downgrade, discount, or reduced quantity of items in their subscription.
  • Net MRR - the overall revenue growth or decline, calculated using the formula: Net MRR = Total Growth and Existing - Total Loss.

Monthly Recurring Revenue Growth Report Graph | Advanced Subscription Products for Magento 2

For simple segmentation, the reports come with filtering options. 

Below the graph, you'll find a comprehensive reporting table displaying all the metrics described above along with two additional ones:

  • Total Loss - this metric represents the overall reduction in revenue resulting from churn and contraction events.
  • Total Growth - this metric reflects the total revenue growth generated from new subscribers, expansion, and reactivation.

Monthly Recurring Revenue Growth tab | Advanced Subscription products and Advanced Reports for Magento 2

 

Simple Bundle Products for Magento 2

When the Advanced Subscription Products is integrated with Simple Bundle Product, it simplifies the creation of bundle products by minimizing the number of configuration options. With this extension, store admins can create and add bundles to subscriptions without additional customization. Customers can now select only the quantity of already configured bundles and add them to their cart without any prior customization.

To create a Simple Bundle Product, follow Catalog → Products, and in the Add Product dropdown, click on Bundle Product.

Adding a Simple Bundle Product | Advanced Subscription products and Simple Bundle Products for Magento 2

Then, at the New Product page use yes\no toggle to Switch to Simple Bundle

Switch to Simple Bundle | Advanced Subscription products and Simple Bundle Products for Magento 2

The pop-up alert will appear. Click “Сontinue” to confirm your action.

Pop Up alert switch to Simple Bundle | Advanced Subscription products and Simple Bundle Products for Magento 2

Note: After switching to Simple Bundle, If you have already had bundle options added, they will be deleted

Scroll down to the Bundle Items section and add the required bundle items.

Bundle Items | Advanced Subscription products and Simple Bundle Products for Magento 2

Set up Use Product Advanced Pricing and add Subscription Plans:

To do that, scroll down to the Subscription Options section. In the option Purchase type you can choose preferred type of the purchase:

  • One-Time purchase Only (No subscription required)
  • One-Time purchase or Subscription
  • Subsсription Only

Then, decide whether to use Product Advanced Pricing or Config Settings (Use yes/no toggle or check box) and add the most suitable Subscription Plans.

Subscription Options | Advanced Subscription products and Simple Bundle Products for Magento 2

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

Simple Bundle Products on the Storefront

Simple Bundle Items are displayed as a list, where each item is linked to its respective detail page. 

Simple Bundle Products on the Storefront | Advanced Subscription products and Simple Bundle Products for Magento 2

All the modifications have already been made by store admins on the backend, so all that is required from the customer is to decide on the quantity of the simple bundle and add the product to the cart.

 

NMI Payment for Magento 2

NMI payments for Magento 2 extension, integrated with Advanced Subscription Products, ensures secure, fast, and user-friendly payment experience with a variety of settings using NMI gateway.

To learn how to configure NMI Payments follow the NMI Payment for Magento 2 user manual.

Thanks to the NMI Payment integration, while creating a new subscription order for a customer, the store admin will have two additional options when selecting payment methods:

  • Select a previously stored card, which will be labeled as Stored Cards (Aheadworks Nmi) or any custom name given in one of the settings mentioned above;
  • Enter a new credit card, which will be labeled as Credit Card (Aheadworks Nmi).

Choosing payment method | Advanced Subscription Products and NMI Payment for Magento 2

If a subscription order is created for a new customer, only the Credit Card (Aheadworks NMI) option will appear since the new customer has not yet saved any cards.

Choosing payment method for a new customer | Advanced Subscription Products and NMI Payment for Magento 2

NMI payment integration on the storefront

When the Magento 2 Vault is enabled by store admin, the Save for later checkbox will be available during the checkout process. This option allows customers to save their credit card data for further use. 

Save for later option | Advanced Subscription Products and NMI Payment for Magento 2

The saved card will be displayed at the checkout.

Saved Card display in the checkout | Advanced Subscription Products and NMI Payment for Magento 2

In addition to the checkout process updates mentioned above, the integration now allows customers to switch their payment method to NMI Payment directly from the My Subscriptions page on the storefront.

To make this change, customers should navigate to the My Subscriptions page and select the subscription they want to update by clicking the active Edit link.

My Subscriptions page | Advanced Subscription Products and NMI Payment for Magento 2

Next, they should scroll to the Payment Details section and select the Edit option.

Payment Details | Advanced Subscription Products and NMI Payment for Magento 2

On the Change Payment Details page, customers can choose the Credit Card (Aheadworks NMI) option, enter their card information, and then click the Back button to return to the subscription details page.

Change Payment Details | Advanced Subscription Products and NMI Payment for Magento 2

Add Free Product to Cart for Magento 2

When the Advanced Subscription Products is integrated with the Add Free Product to Cart extension, store admins can set rules that allow them to provide free products or special discounts alongside subscription purchases, as well as use the subscriptions themselves as promotional items. These products can be either added to cart automatically or displayed to the customers via pop-up.

To learn how to configure the extension go to Add Free Product to Cart for Magento 2 user manual.

To customize the rules of the promotional campaigns and monitor their performance navigate to Marketing > Add Free Product to Cart > Rules.

This is where you will find some financial metrics related to the performance of the campaigns and the Scenarios grid.

Dashboard | Advanced Subscription Products and Add Free Product to Cart for Magento 2

To visualize how the integration with the Add Free Product to Cart extension works consider the following example of promo campaign:

The rule conditions on the backend: 

Campaign: Offer the Affirm Water bottle or Sprite Foam Yoga Brick for just 1 USD to customers who intend to buy a Travel Set subscription.

Scenario: Buy X Get Y  

Rule: Every time the customer adds a Travel Set subscription to the cart, the store will offer one of the promo items for just 1 USD (Affirm Water bottle or Sprite Foam Yoga Brick). These promo items should be offered via a popup, and not auto-added to the cart.

Buy X Get Y rule settings | Advanced Subscription Products and Add Free Product to Cart for Magento 2

Application of the scenario by the customer from the storefront


On the Storefront we can see the Promo text displayed next to the price of the item related to the promo offer.

Promo text next to the price | Advanced Subscription Products and Add Free Product to Cart for Magento 2

Once the promo item is added to the cart the promo product is offered to customer via popup.

Special Promo popup | Advanced Subscription Products and Add Free Product to Cart for Magento 2

Once the customer adds the promo product to cart, in the Cart Summary they will see the subtotal, the discounted price and the total order price.

Shopping Cart with Promo Items | Advanced Subscription Products and Add Free Product to Cart for Magento 2

Application of the scenario by the store admin from the backend

When the store admin adds a product that falls under the promo scenario to the subscription, the Add Promo Products button appears. 

Add Promo Items to subscription | Advanced Subscription Products and Add Free Product to Cart for Magento 2

If the store admin decides to add a promo item, a pop-up containing those items will appear.

Note: While applying the scenario from the backend, the "Add promotional product" button and popup with promo items will appear even if the admin has selected the auto-add product to cart option when configuring the rule.

Add Promo Item popup | Advanced Subscription Products and Add Free Product to Cart for Magento 2

The selected promo item will be added to the subscription.

Promo Item added to the subscription | Advanced Subscription Products and Add Free Product to Cart for Magento 2

The spend X get Y and buy X get Y free scenarios follow the same flow.

When applying the Coupon scenario, the general steps remain the same, but a special coupon code must be entered:

  •  by the customer at the checkout on the storefront;

Entering the coupon code on the storefront | Advanced Subscription Products and Add Free Product to Cart for Magento 2

  • by the store admin on the backend.

Entering the coupon code on the backend | Advanced Subscription Products and Add Free Product to Cart for Magento 2

 

 

Events for Marketing Platforms

This section describes events that can be used for sending emails. Currently, only Klaviyo is supported.

 If you have specific integration needs, please don't hesitate to contact us.

 

Klaviyo Setup

Follow these steps to configure events:

      1. Purchase Klaviyo Extension:
      2. Access Keys:
        • Go to My Profile > My Purchases, open “Access Keys,” and copy your credentials.
      3. Configure Store Credentials:
        • Navigate to your store’s root directory (/var/www/html/).
        • Open the auth.json file and enter the copied credentials in the “username” and “password” fields.
      4. Install Klaviyo Extension:

Run the following command in the console:

composer require klaviyo/magento2-extension

Follow up by running all necessary setup commands to complete the installation.

    5.Install Required Add-ons:

        • Install the following add-ons on your store:
          • module-sarp3-events
          • module-sarp3-events-klaviyo
      1. Create Klaviyo Account:
        • Sign up for a test account at Klaviyo.
      2. Retrieve API Keys:
        • In your Klaviyo account, go to Settings > Account > API Keys:
          • Copy the Public API Key.
          • Generate and copy the Private API Key (note that you can view this only once).
      3. Configure Klaviyo in Store:
        • In your store’s admin panel, navigate to Stores > Configuration > KLAVIYO > General.
        • Enable Klaviyo and enter the copied API keys, then save the changes.
      1. Setup OAuth Integration:
        • Go to Stores > Configuration > KLAVIYO > Setup OAuth.
        • Enter a name in the Integration Name field and save the settings.
      2. Activate Integration:
        • In your store’s admin panel, navigate to System > Extensions > Integrations.
        • Click Activate.

Events

Event name

Event code

Property

Subproperty

Property type

Reference

 

Subscription Created

subscription_created

         
   

subscription_details

 

object

"SubscriptionDetails" object

 

Upcoming Billing

subscription_upcoming_billing

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

next_billing_date

 

string

dd/mm/Y

 

Billing Successful

subscription_billing_successful

         
   

subscription_details

 

object

"SubscriptionDetails" object

 

Billing Failed

subscription_billing_failed

         
   

subscription_details

 

object

"SubscriptionDetails" object

 

Subscription Cancelled

subscription_cancelled

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

link_to_reactivate

 

string

   

Subscription Reactivated

subscription_reactivated

         
   

subscription_details

 

object

"SubscriptionDetails" object

 

Subscription Paused

subscription_paused

         
   

subscription_details

 

object

"SubscriptionDetails" object

 

Subscription Rescheduled

subscription_rescheduled

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

old_payment_date

 

string

yyyy-MM-dd HH:mm:ss

 
   

new_payment_date

 

string

yyyy-MM-dd HH:mm:ss

 

Subscription Ended

subscription_ended

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

link_to_reactivate

 

string

   

Orders Merged

subscription_orders_merged

         
   

subscriptions

 

array

Array of "SubscriptionDetails" objects

 
   

subscription_product_names

 

array

   

Changed Plan

subscription_changed_plan

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

changes

 

object

   
     

from

object

"Plan" object

 
     

to

object

"Plan" object

 

Changed Address

subscription_changed_address

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
     

changes

 

object

 
       

from

object

"Address" object

       

to

object

"Address" object

Changed Payment Method

subscription_changed_payment_method

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

changes

 

object

   
     

from

string

   
     

to

string

   

Changed Products

subscription_changed_products

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

changes

 

object

   
     

from

object

"Product" object

 
     

to

object

"Product" object

 
     

is_permanently

bool

   

Item Removed

subscription_item_removed

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

item

 

object

"Product" object

 

Item Added to Nearest Delivery

subscription_item_added_to_nearest_delivery

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

items

 

array

Array of "Product" objects

 

Item Added to Subscription Profile

subscription_item_added_to_subscription_profile

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

items

 

array

Array of "Product" objects

 

Item Skipped

subscription_item_skipped

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

item

 

object

"Product" object

 

Item Skipped: Undo

subscription_item_skipped_undo

         
   

subscription_details

 

object

"SubscriptionDetails" object

 
   

item

 

object

"Product" object

 

 

Event object

Property

Subproperty

Property type

Reference

SubscriptionDetails

   

object

 
 

plan

 

object

"Plan" object

 

products

 

array

Array of "Product" objects

 

secure_link

 

string

Secure link to subscription profile

 

addreses

 

object

 
   

shipping

object

"Address" object

   

billing

object

"Address" object

Plan

   

object

 
 

name

 

string

 
 

is_initial_fee_enabled

 

bool

 
 

is_trial_period_enabled

 

bool

 
 

regular_repeat

 

string

 
 

trial_repeat

 

string|null

 
 

regular_repeat_in_days

 

int

 
 

trial_repeat_in_days

 

int|null

 
 

subscription_start_date

 

string

yyyy-MM-dd HH:mm:ss

 

initial_fee

 

float|null

 
 

number_of_regular_payments

 

int

 
 

number_of_trial_payments

 

int|null

 
 

number_of_trial_payments

 

int|null

 
 

regular_payment_amount

 

float

 
 

trial_payment_amount

 

float|null

 
 

is_service

 

bool

 
 

currency

 

string

 

Product

   

object

 
 

ProductId

 

int|string

 
 

ProductName

 

string

 
 

SKU

 

string

 
 

Quantity

 

float

 
 

ProductOptions

 

array

Array of "ProductOption" objects

ProductOption

       
 

label

 

string

 
 

value

 

string|int

 

Address

   

object

 
 

first_name

 

string

 
 

last_name

 

string

 
 

middle_name

 

string|null

 
 

country

 

string

 
 

city

 

string

 
 

region

 

string

 
 

street

 

string

 
 

postcode

 

string

 
 

telephone

 

string

 

UserProperties

   

object

 
 

email

 

string

 
 

active_subscriber

 

bool

Has customer at least one active subscription

 

active_subscriptions

 

array

Array of active subscriptions product names

 

inactive_subscriptions

 

array

Array of inactive subscriptions product names

 

active_plans

 

array

Array of active subscriptions plan names

 

inactive_plans

 

array

Array of inactive subscriptions plan names

 

 

Supported Payment Methods

In addition to credit card (Braintree) payment, the extension also supports the following methods: Adyen Google and Apple Pay, Adyen credit card payments, NMI by Aheadworks, Cash on Delivery, Stripe credit card payments, Bambora APAC by Aheadworks, PayPal via Braintree, Authorize.net from ParadoxLabs, Adobe Payment Services, PayPal Payments Pro and PayPal Payflow Pro, PSI Gate, Mollie.

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).

 

NOTE: If the payment attempt fails for any reason, customers can retry failed payments by logging to their account > My Subscriptions > Subscription’s edit page > Payment Details . Here they will find the “Retry” button, which allows them to instantly make another payment attempt.

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, enable the integration add-on and connect Stripe with Advanced Subscription Products. Follow this detailed instruction.

3D Secure is supported for Stripe in 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.

Adyen 3D Secure 2 is supported.

 

6. To employ Adyen Google Pay and Adyen Apple Pay, install the official module of the gateway and the integration patch.

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. 
  • For Magento 2.4.* enable the corresponding integration patch and make use of the in-built PayPal Braintree module.
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.

 

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.

During the Free Payment method, the store Admin creates a subscription without adding sensitive payment information. Next, the Admin sends a link to the customer, allowing them to insert their card details and activate the subscription. This approach ensures compliance with PSI regulations.

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. Advanced Subscription Products is integrated with Adobe Payment Services. To install Adobe Payment Services, you need to:

  • Get the module from Magento Marketplace;
  • Install the module via composer using command:
composer require magento/payment-services
  • 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. To employ Mollie, install the official module and connect it to your Magento 2 environment.

 

12. Advanced Subscription Products 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 Credit Card is supported (when the payment is selected, it will be required to enter credit card details on the checkout directly).

 

13. 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/

 

Stripe Payment Method

Advanced Subscription Products is integrated with the Stripe payment method.

 

Stripe is a secure and flexible payment gateway that allows businesses to accept payments online, offering benefits such as easy setup, support for multiple payment methods, and robust security features.

 

To enable the integration, you'll need to connect the extension with Stripe. This is an easy way to enable Stripe to handle payments for your subscriptions, as it doesn't require special technical setup from your end; all technical aspects are already integrated into the extension. However, before you begin, a few steps should be taken.

Please note that even if you've previously set up Stripe for your store or used the Stripe add-on in Advanced Subscription Products Version 2, you'll still need to connect your Stripe account for Version 3 to enable the creation of new subscriptions. In this case, ensure that you connect to the Stripe account already set for your store.

 

To enable Stripe for Advanced Subscription Products, follow these steps:

  1. Install the official Stripe module and create a Stripe account if you haven't already.
  2. Install the add-on for Magento by running the composer command:
composer require aheadworks/module-sarp2-stripe

Then enable Stripe with the following command:

bin/magento module:enable Aheadworks_Sarp2Stripe

Next, register the extension:

bin/magento setup:upgrade

Recompile the Magento store if you are in Production mode:

bin/magento setup:di:compile

Verify that the extension is enabled:

bin/magento module:status

Clean the store cache:

bin/magento cache:clean

Log out and log in to the backend again.

 

  1. Connect your Stripe account with Advanced Subscription Products. 

For it, in the Magento Admin panel, go to Stores > Configuration > Aheadworks Extensions > Advanced Subscription Products

When you've finished all the steps above and connected your license keys, you'll see a new section called Payment Methods. Click on Stripe to proceed.

In the Mode dropdown, select either Test Mode (for testing purposes) or Live Mode (for production). Next, select an existing account or connect a new one in the Account dropdown. Then Click the Connect with Stripe button to proceed.

Stripe Payment Methods | Advanced Subscription Products for Magento 2

You will be redirected to your Stripe account to complete the onboarding process. Once done, return to the extension configuration. 

You’ll find that the Connect button has been replaced with an information field indicating that the store is connected to Stripe. Don’t forget to Save Configurations.

Stripe Connected to Store | Advanced Subscription Products for Magento 2

Note: Starting from Advanced Subscription Products version 3.15.0, you can configure separate Stripe accounts for multiple websites.

 

  1. Finally, configure your specific settings for Stripe payment method in Stores > Configuration > Sales > Payment Methods.

Stripe Configuration | Advanced Subscription Products for Magento 2

 

FAQ

  • Where can I configure the Stripe payment method for my website?

You can configure the Stripe payment method in Stores > Configuration > Sales > Payment Methods > Stripe. Beforehand, ensure you've installed the Stripe add-on and connected Advanced Subscription Products with Stripe.

  • Do I need to follow the steps described above if I previously used Version 2 and everything was configured there?

Yes, you still need to connect Advanced Subscription Products to Stripe. Skipping this step will result in old subscriptions created with Stripe continuing to work, but new subscriptions will not be generated when the Stripe method is chosen.

  • If I already have a Stripe account, should I create a new one or use the old one?

If you've already set up a Stripe account on your website, for Advanced Subscription Products Version 3, you should continue using this existing account to ensure everything functions properly.

  • How can I get support with setting up Stripe for Advanced Subscription Products?

Contact us if you have any further questions or need help.

 

 

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