Magento 2 Recurring Product Subscription

Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition

Transform your storefront into a recurring revenue engine with the Magento 2 Recurring Product Subscription extension. This module provides customers with the flexibility to choose between a one-time purchase or a subscription directly on the Product Detail Page (PDP), incentivising loyalty with an immediate 10% discount. Designed specifically for high-performance stores, it automates the entire renewal lifecycle—from yearly price upgrades to background payment processing, ensuring a seamless, hands-off experience for both the admin and the customer.

  • Flexible Purchase Toggle: Allow users to switch between "Subscription" and "One-time Purchase" with real-time price updates.
  • Automated Renewal Logic: Automatically generates renewal orders and applies recurring discounts on the upgrade price every year.
  • Per-Order Discount Storage: Stores specific discount percentages against the original order item to ensure future renewals remain consistent for every customer.
  • Intelligent Payment Retries: Reduces churn with a robust 3-retry logic for failed payments before notifying the customer to update card details.
  • Comprehensive Admin Grid: Track original orders, SKU performance, upgraded order history, and next due dates in a centralised dashboard.
  • Post-Purchase Opt-in: Empowers customers to convert one-time purchases into recurring subscriptions directly from their "My Account" section.

Free Support

up to 60 days

Free Upgrades

up to 1 year

Fully open source

 

Product description

Magento 2 Recurring Product Subscription

Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition

In the modern e-commerce landscape, predictability is everything. Relying on customers to manually return and purchase upgrades every year is a risk to your bottom line. The Magento 2 Recurring Product Subscription extension eliminates this friction by offering a seamless subscription model that benefits both the merchant and the shopper. By providing a simple "Subscribe and Save" toggle on the Product Detail Page, you can offer immediate incentives that turn a single transaction into a long-term relationship.

The core of this module is built around automated lifecycle management. When a customer opts for a subscription, they receive an immediate, configurable discount (default 10%). The system then intelligently stores this specific discount percentage against the original order item. This is a critical technical feature: since discount rates can change over time, storing the rate at the point of sale ensures that each customer’s future renewals remain consistent with the terms they originally agreed to, regardless of global configuration changes.

For administrators, managing a subscription-based store can often be a logistical nightmare. This extension simplifies the process with a dedicated Subscription Orders Grid. Admins can track the original order date, SKU performance, and a comma-separated list of all upgraded order numbers. Furthermore, the module handles the complexities of payment failures. If a recurring charge fails, the system doesn't immediately cancel the service; it follows a 3-retry attempt logic and provides a clear path for customers to update their credit card details within the "My Account" section, significantly reducing involuntary churn.

Integration is seamless, particularly for stores selling downloadable products. The system pulls the renewal amount from your existing "Upgrade Price" configurations, ensuring that your pricing strategy remains centralised. Whether an administrator is placing an order via the backend or a customer is opting-in months after their first purchase, the process is streamlined, automated, and designed to maximise the lifetime value of every customer.

Core Capabilities

  • PDP Subscription Toggle: Features a high-visibility dropdown or toggle that allows users to select subscription options with real-time price discounting.
  • Yearly Automated Renewals: System-generated renewal orders are created exactly one year after the initial purchase without any manual intervention required.
  • Configurable Upgrade Discounts: Easily set and modify discount percentages for upgrades, which are then locked in for the customer's specific subscription cycle.
  • Sophisticated Retry Logic: Automatically attempts to process payments up to three times following a failure, keeping the subscription active while the customer is notified.
  • Detailed Customer Dashboard: Users can manage their subscriptions, view next due dates, see last charged amounts, and update payment methods in a dedicated "My Account" view.
  • Admin-Placed Subscriptions: Full support for backend order placement, allowing support teams to set up subscriptions on behalf of customers.

Main Features

  • Real-Time Price Updates: The product price on the PDP updates dynamically the moment a user selects the subscription option.
  • Comprehensive Order Tracking: A robust admin grid displaying original order numbers, SKU data, upgraded order history, and next billing dates.
  • Downloadable Product Integration: Specifically optimised to use the "Upgrade Price" configuration for recurring charges.
  • Automated Transactional Emails: Sends professional order confirmation and renewal emails that mirror your standard manual upgrade notifications.
  • Historical Data Integrity: Stores the original discount percentage within the database to prevent future pricing conflicts for existing subscribers.
  • Card Update Flow: Provides a secure, user-friendly interface for customers to update expired or failed payment methods post-purchase.
  • One-Click Post-Purchase Opt-in: (Nice-to-have) Allows customers to convert previous one-off orders into recurring subscriptions via their account dashboard.

Compatible with Magento 2 community and enterprise 2.3.3 - 2.4.x including cloud edition


We offer 60 days of free support and 12 months of free upgrade for any standard Magento site when you buy this extension. You can also get our installation service for a small fee. If you want more benefits, you can purchase our 12 months of free premium support and free lifetime upgrade package. Please contact us if you need any assistance or customization for this extension. We will reply to you within 48 hours. We may also offer you a special deal or a free solution if we like your idea.


** Please refer to our FAQ or T&C section for running our extensions on multiple domains or sub-domains

FAQ

Frequently Asked Questions

Q. How does the 10% discount work for renewals?
A. When a customer first subscribes, the discount percentage is saved against their specific order item. For every subsequent yearly renewal, the system applies that same percentage to the "Upgrade Price" defined in your product configuration, ensuring the customer always receives their promised rate.
Q. What happens if the customer's payment fails?
A. The extension includes a smart retry mechanism. The system will attempt to charge the saved payment method at least 3 times. If all attempts fail, the customer is automatically notified via email with a link to update their card details in the "My Account" section.
Q. Can administrators set up subscriptions manually?
A. Yes. When an administrator creates an order via the Magento backend, they have the same option as the frontend user to select "Subscription." The recurring logic and discount application will follow the same automated path as a standard customer-placed order.
Q. Where does the system get the renewal price from?
A. For downloadable products, the extension is configured to pull the recurring charge amount from the "Upgrade Price" field located under the product's configuration settings.
Q. Can customers see when their next payment is due?
A. Absolutely. The "My Account" section includes a dedicated Subscription View where customers can see their original order number, SKU, last charged date, last amount charged, and the specific "Next Due Date."
Q. Does the global discount change affect existing subscribers?
A. No. Because the discount percentage is stored against the original order item at the time of purchase, existing subscribers are protected from future global configuration changes, maintaining the pricing integrity of their specific agreement.

Q. How can I get license key for my development website?
A. Please use the same license as live site provided with the order confirmation email on the staging site and ensure you have the latest version of scommerce/core installed i.e 2.0.9.
Once added go to Stores>Configuration>Scommerce Configuration>Core and click on verify. Once verified the license will start working on your staging site.
gtm gdpr settings
Q. Can I test the extension before buying?
A. Unfortunately we can't provide you extension for testing purposes but we have demo available for most of our extensions and happy to provide full refund if the extension doesn't work
Q. Can I request for customisation on your extensions?
A. Yes we do provide all sort of customisation for our clients at the reasonable rates. And if we believe the customisation will help our product then we also provide great discount on the customisation
Q. I have multiple websites/stores, each with a unique domain. Do I need a separate license key for each live domain?
A. Yes, each live domain requires its own license key. Our license keys are URL specific and each live domain, subdomain, subfolder requires a separate key. If you’re running multiple websites from the same Magento instance, we offer a 30% discount when purchasing license keys for two or more domains in a single order. To receive a coupon code, please contact us at support@scommerce-mage.com.
Q. How can I upgrade my extension to the latest version?
A. If your extension is within the free upgrade period (12 months from purchased date) then simply email us with your order number and our team will send you the latest version of the extension but if it is outside free upgrade period then you need to buy an upgrade using the following link
https://www.scommerce-mage.com/magento-extension-installation-service.html

Once you received the latest version of our extension then we would highly recommend to delete all the files and folder of our extension from your website first before uploading the latest version because we might have removed existing files and keeping existing files could cause problems on your website.
Q. Does my license get expired after certain period?
A. No, your license is not going to get expired but we would highly recommend upgrading to get all the latest fixes (including security fixes if any), improvements and new features. In the upgrade, we also ensure it is compatible with the latest version of Magento and when you upgrade you will have a smooth transition.
Q.Where can I download the extension files?
A. Please login into your account on our website and go to the download link under my account section to download the extension package.
Q.Can you provide a key that works for our development (NOT PRODUCTION) environment which will work on a dynamic URL, for example, 12334.gitpod.com and 4567.gitpod.com?
A. Unfortunately it is not possible to generate license keys based on the dynamic URLs. License keys need to be generated per domain or subdomain whether it is production or non-production.
Q. How can I manually uninstall your module?
A. Please follow the below steps -:

Step 1: Navigate to our store and login to your account. Then go to the My Account Section, on the left menu click on Composer Instructions.
My account section
Step 2: Next, run the config commands shown on the top of the page then click on the extension that you want to install. A composer require command will be revealed in the dropdown menu. Run the command then clear caches to complete the installation. Composer instructions
Q. Do you support SPA (Single Page Application) / PWA (Progressive Web Application) / AMP ?
A. Unfortunately, we don’t support SPA or PWA or AMP but we may be supporting them in future depending upon the demand.

Change Log

Version 2.0.23
2025-08-12 09:55:03
Made it compatible with PHP 8.3 and Magento 2.4.8 version
Version 2.0.22
2025-02-14 10:57:53
Made module compatible with Hyva and Breeze themes
Version 2.0.21
2024-10-18 14:37:17
Made extension compatible with Amasty Checkout Success Page
Version 2.0.20
2024-08-26 10:59:36
Improved performance on latest Magento 2.4.7 and PHP 8.2
Version 2.0.19
2024-06-12 10:05:39
Made it compatible with Magento 2.4.7 and PHP 8.2
Version 2.0.18
2024-05-02 14:43:37
InstallSchema was transformed into db_schema.xml and InstallData was transformed into Data Patch to adjust Magento coding practices.
Version 2.0.16
2022-09-16 13:05:29
Fixed issue related to multiple vat exempted configurable products in the basket
Version 2.0.14
2022-06-27 15:08:53
Made it compatible with 2.4.3-p1/2 and also made it compatible with PHP 8
Version 2.0.12
2022-02-01 11:51:00
Made it compatible with Amasty One Step Checkout module
Version 2.0.10
2021-03-02 13:15:00
Made it compatible with 2.3.1 as it was showing VAT exempt checkbox on basket page even when non-vat exempt products are added to the basket.
Version 2.0.9
2020-09-12 01:44:51
Fixed issue related to recently ordered products widget and also added PHP 7.4 support to the module
Version 2.0.8
2020-08-12 09:06:34
Compatible with multiple websites.
Version 2.0.7
2020-08-04 09:22:16
Fixed issues related to partial refunds and address issue related to Magento 2.3.1 version.
Version 2.0.6
2020-07-15 10:20:03
Made it compatible with Paypal Express Checkout
Version 2.0.5
2020-07-07 10:18:35
Fixed issue related to invoice wasn't deducting vat exempt from grandtotal on order placement. And added vat exemption on invoice and credit memo print
Version 2.0.4
2020-06-30 20:14:50
Updated User Guide to add information about new back end feature added under version 2.0.3
Version 2.0.3
2020-06-04 14:10:44
Added feature to apply Vat exempt while placing order from admin panel.
Version 2.0.2
2020-04-28 08:45:52
a new feature has been added, where admin can add a message in configurations, that will be displayed on cart page.
Version 2.0.1
2020-03-30 16:24:20
Added 7.3 support to this module along with made it compatible with our M2 surcharge module
Version 2.0.0
2019-09-10 09:45:26
Fixed minor issues
Show More
Show Less

Reviews

Write Your Own Review
Write a Review
You may also like