Every business wants dependable revenue. Adaptive Subscriptions is a way to achieve that. You already have a product or service in mind: Product subscriptions. Autoshipments. Automatic recurring billing. You just need a way to make it work. That's where we come in.
Subscriptions give your customers what they want, and give you dependable revenue and brand loyalty. The best customer is one that keeps coming back. Subscriptions help you ensure that.
We've been dealing with subscriptions since the early days of Magento. This extension is the result of all of that expertise, plus years of careful development and improvements. This is a proven, highly powerful, highly flexible subscriptions solution. The best.
This is not a service. There are no ongoing costs. If you buy a license, it's yours, along with lifetime free updates.
We stand by our work.
Cart / Checkout
Our subscriptions are just normal products. You can buy any number of subscriptions and regular products together, with any combination of intervals.
All shipping methods are supported. Shipping costs are recalculated for every installment, guaranteeing accurate rates. If a shipping method becomes unavailable, each subscription will automatically switch to the next best option.
Every item becomes a separate subscription and can be modified and canceled separately. If a customer has multiple subscriptions on the same day, they'll be combined into a single order, saving you shipping costs and overhead.
Guests can purchase subscriptions with no hassle. They'll be auto-registered during checkout.
All standard Magento checkouts and most third-party checkout solutions are compatible.
Scheduling
Customers can choose subscription frequency from product options. Every 30 days? Every 90 days? One time only? Make it their choice. Or don't: You can also make single-interval products that are automatically subscriptions.
Subscriptions can run for a limited number of installments, or forever. You can choose whether customers are allowed to cancel.
You have complete control over when subscriptions bill. Normally all subscriptions are billed automatically by an hourly scheduled task. But you can turn that off and run subscriptions from the command line, or by manually selecting individual subscriptions to bill from the admin grid. Want to bill subscriptions when you're ready to process them? You can do that. Want to run one ahead of schedule for a customer? You can do that too.
You can also set blackout dates, days, or even whole months. Installments will only be scheduled on days allowed by configuration. You can run your subscriptions on the 1st and 15th of the month, or only on weekdays. Or skip holidays. Or your birthday (you deserve it). All it takes is a setting.
Payment
You can pay for subscriptions with any Magento Vault, ParadoxLabs, or offline payment method, including:
Adaptive Subscriptions also supports $0.00 ordering with most payment methods.
Every subscription installment creates a new order. Payment is immediately authorized or captured using the payment data on file. The payment method and card can be changed after purchase (subject to payment method support).
If a subscription fails because of invalid payment information, the customer will be emailed asking them to update their payment info and reactivate the subscription. As soon as a failed subscription is reactivated, it'll return to its normal schedule.
Pricing
You can define custom pricing for each subscription option on a product. You can also discount the first installment or charge a setup fee, using an adjustment price.
You can give customers a discount for subscribing to a product.
You can create cart price rules and promotions based on whether the customer is buying a subscription, what interval they chose, and what installment it is!
Any price rules or custom subscription pricing takes effect when items are added to the cart.
All prices support Magento currency conversion, and all text can be translated.
Management
Customers can manage their own subscriptions: They can view current info; change payment details and shipping address; change quantity, frequency, date; and skip, pause or cancel (if you let them). You can also notify the customer in advance of each installment, for each order, and for any payment errors that occur.
Admin grids let you view, search, sort, filter, and export your subscriptions, as well as reviewing every billing, error, and change that's occurred.
As an admin you can look up subscriptions by name, email, description, and order ID. Admins can change many details about a subscription, including the status, next installment date, quantity, frequency, description, length, payment account, shipping address, shipping method, and admin-only notes.
You can make any product type a subscription, including simple, virtual, configurable, downloadable, and bundle products. Some product types are subject to limitations. Please see the user manual for more info.
Flexibility
Every business is special. We hope this extension does everything you need, but if not, it should be easy to get it there.
Adaptive Subscriptions was carefully designed to be as extendable as possible. Under the hood, you'll find clean code and an architecture that makes it easy to change or even totally replace large parts of the default functionality.
This extension includes full Magento API support, with comprehensive documentation and additional technical info in the user manual.
Trusted
PWA-Ready
Progressive Web Apps are the future, and we're ready for them.
This extension fully supports GraphQL and customer REST APIs, allowing you to build out customer subscription management interfaces within your PWA, mobile app, or other 'headless' architecture.
GraphQL requires Magento 2.3.1 or newer.
Complete API documentation is available in our user manual.
Adaptive Subscriptions also includes built-in support for Hyvä Theme.
In production
What the people running it say.
★★★★★
Your work is most appreciated here, please pass along my thanks to your team. Seriously, the documentation, APIs, events, and quality really set you guys apart from every other Magento extension developer I have ever dealt with. Thanks again!
5 out of 5.
Rick ·
2020-03-04
★★★★★
I've purchased 2 things from ParadoxLabs and both experiences were phenomenal! Very attentive and knowledgeable staff from sales to technical - and very fast delivery. Great experience - can't wait to work with you again. Thank you!
5 out of 5.
Nick P. ·
2018-05-15
★★★★★
We try to automate as much as possible in our Magento store, and the Adaptive Subscriptions extension has been key to handling all our automation for subscriptions. We used to use a much more expensive dedicated subscription management company, but getting…
5 out of 5.
Kimball Larsen ·
2017-09-05
Fit check
Will it run on your store?
Check your install
Support matrix
Magento Open Source
2.3, 2.4, 2.4.7-p3
Adobe Commerce
2.3, 2.4, 2.4.7-p3, Cloud
Mage-OS
All versions
Before you spend anything
Two ways to check it yourself.
Nobody should buy an extension on a product page alone. Read the whole manual or drive a real store running it — both right now, without talking to sales.
# credentials are in your account after purchase
composer require paradoxlabs/subscriptions
bin/magento setup:upgrade
Maintenance record
Changelog
Every release we have shipped for this extension, with its notes. A visible maintenance history is the only honest answer to "is this still maintained?"
3.7.0Jun 27, 2024
Added ability to keep the order coupon code for subscriptions.
Added CSP/SRI secure mode support for 2.4.0+ (2.4.7 checkout compatibility).
Added support for subscription interval unit conditions in sales rules.
Changed to allow Magento Vault payment methods for guest checkout when subscriptions are in the cart.
Fixed bundled products not including the subscription length when ordered.
Fixed bundled products showing a child qty as the product qty, instead of the parent.
Fixed configurable product quantity not displaying correctly on subscription edit.
Fixed hidden offline payment methods showing as payment options on subscription edit.
Fixed payment failure coverage of the Adobe Commerce 'Payment On Account' method.
3.6.0Jan 22, 2023
Added admin ability to change subscription product quantity
Added customer 'skip' button (disabled by default in settings)
Added customer ability to change subscription frequency (disabled by default in settings)
Added customer ability to change subscription next run date (disabled by default in settings)
Added customer ability to change subscription product quantity (disabled by default in settings)
Fixed 'nested emulation' error on subscription order confirmation emails.
Fixed account 'My Subscriptions' link type to allow sorting
Fixed Authorize.net transaction error from carried-over transaction IDs.
Fixed next run date being blank on admin subscription edit for some date values.
Fixed purchase point (store_id) not filtering the admin subscription grid
Fixed subscription view page layout on Hyva
3.5.3Mar 7, 2023
Fixed bundle product child item quantity handling.
Fixed handling of out of stock products in grouped subscriptions, to not fail the entire group.
Fixed run date recalculation to ignore new subscriptions.
3.5.2May 24, 2022
Added Hyva theme support.
3.5.1May 18, 2022
Fixed composer dependency and setup issue for Magento 2.4.4.
3.5.0Apr 4, 2022
Removed compatibility for Magento 2.2 and below. For anyone updating from Magento 2.2 or below, update this extension to the previous version before updating Magento, then update Magento and the latest extension version.
Fixed Braintree subscription rebillings failing when 3D Secure is enabled.
Fixed incorrect initial subtotal when adding subscriptions to cart.
3.4.0Feb 15, 2022
Added compatibility for Magento 2.4.4 + PHP 8.1.
Added setting to change scheduling behavior on subscription reactivation.
Added setting to enable/disable recalculate prices at rebilling.
Improved changing a subscription's frequency, with a dropdown of options on admin subscription edit
Improved error handling to catch and log PHP errors when appropriate.
Improved subscription grouping to not fail the entire group if it contains an out of stock product.
Fixed admin subscription view 'next run' date sometimes parsing incorrectly.
Fixed admin subscription view error on Magento 2.4.2+.
Fixed deleted products getting auto-removed from subscriptions.
Fixed incompatible Amazon Pay buttons displaying when a subscription is in the cart.
Fixed pause/cancel on frontend redirecting to subscription list rather than view.
Fixed subscriptions grid sort not working for all columns.
Fixed subscriptions ignoring special pricing at purchase.
Fixed TokenBase card pruning prevention for active subscriptions.
Fixed translation/changing of subscription option labels per store view. (Thanks Mark)
3.3.4Aug 22, 2021
Added GraphQL ability to change billing address for offline payment methods.
Fixed compatibility with some shipping methods where the selected shipping method was not considered available.
Fixed fax number missing on admin address forms.
Fixed origData not being preserved when changing card type instance, causing excess data synchronization and saving.
Replaced deprecated escapeQuote calls to fix Magento 2.4.3 compatibility.
3.3.3Apr 20, 2021
Fixed admin subscription edit payment tab failing to select the assigned payment account.
3.3.2Apr 12, 2021
Added order_id foreign key to subscription log table to improve join performance.
Fixed 'upcoming subscriptions' command to only include billable statuses. (Thanks Kristof)
Fixed checkout when subscription is enabled on parent and child configurable products.
Fixed possible infinite loop in certain configurable+simple subscription configurations.
Fixed sku ambiguity on subscription grid.
3.3.1Jan 5, 2021
Fixed error on product save with Magento 2.4.1 and PHP 7.4.
3.3.0Dec 23, 2020
Added 'Change Status' mass action to subscription grid.
Added new column options to the subscription and log grids.
Changed card management to prevent deletion of subscription-linked TokenBase cards, rather than leaving the subscription with no assigned payment.
Fixed IE11 compatibility issue on product view pricing.
Fixed shipping method being required when no shipping method is available for the address on hand.
3.2.4Oct 19, 2020
Fixed compatibility issue with Magento 2.4.1 and Klarna 7.1.0 that broke cart and checkout.
Added Orders > Subscriptions admin menu section.
Changed item frequency lookup to check subscription (if available) before item option data.
Fixed account subscription section not showing as active on view/edit.
Fixed account subscription section not showing empty message when appropriate.
Fixed Braintree observer initialization.
Fixed subscription dynamic pricing display after using content staging.
3.2.3Aug 4, 2020
Added Magento 2.4 compatibility.
Fixed adjustment price text rendering with radio options.
Fixed custom price not updating when selecting a new subscription option on the admin order process.
Fixed purchase order number being rendered unescaped on billing notice emails.
Fixed subscription handling of empty optional date custom options.
Fixed hard dependency on Magento_Braintree.
3.2.2Jul 21, 2020
Added GraphQL subscriptionPayments query to get available payment options.
Fixed customer save observer updating addresses of cancelled and complete subscriptions, to improve performance.
Fixed GraphQL error when fetching subscription items with non-integer weight or quantity.
Fixed possible infinite loop when checking configurable products for the parent and child subscription values
3.2.2Jul 23, 2020
Added GraphQL subscriptionPayments query to get available payment options.
Fixed customer save observer updating addresses of cancelled and complete subscriptions, to improve performance.
Fixed GraphQL error when fetching subscription items with non-integer weight or quantity.
Fixed possible infinite loop when checking configurable products for the parent and child subscription values
3.2.1Jun 25, 2020
Fixed interval-based promotion conditions not applying correctly for subscription configurable products.
Fixed issues saving a subscription edit related to offline payment methods.
3.2.0Jun 7, 2020
If you've customized around Adaptive Subscriptions, review your overwrites and changes for any problematic differences. This update includes changes to layout, templates, and numerous non-API methods.
Added dynamic price updating on product pages, with subscription pricing shown on each option.
Added history logging of frequency, length, and next run date changes.
Added payment forms and billing address for offline payment methods to subscription edit, on frontend and backend.
Changed global label settings to update custom options on save.
Changed related object saving to deduplicate, to optimize save performance.
Changed status source model to flag billable statuses, to make it simpler to add additional billable subscription statuses.
Changed subscription calculated subtotal to include tax, if cart is configured to do so.
Changed subscription generation to dispatch an additional `paradoxlabs_subscription_generate_save_after` event.
Disabled interval data hydration when adding more than one interval.
Fixed billing notification emails sending without correct store scope/design.
Fixed extension conflict with WeltPixel_AdvancedCategorySorting failing to check collection type.
Fixed initialization error when installing Magento and the extension at the same time (thanks Kristof).
Fixed 'no such address' errors on rebilling when customer address was deleted.
Fixed child-product subscriptions not generating properly on purchase.
Fixed double translation of subscription intervals in custom option labels.
Fixed EE content staging issues with product ID handling.
Fixed error on subscription save if existing payment card was deleted.
Fixed inability to save admin subscription form if no shipping rates are collected.
Fixed international date handling on admin subscription edit.
Fixed possible 'ERROR: ' failures on rebilling for legacy subscriptions after upgrade.
Fixed possible emulation nesting error.
Fixed shipping rate handling with weight-based table rates on shipping address change.
Fixed subscriptions not generating on multishipping checkout.
Improved exception logging on rebilling error.
3.0.2Jul 17, 2018
Added event to hashFulfillmentInfo to easily customize subscription merging logic.
Added events to EmailSender service to easily customize email template variables.
Added observer to update subscriptions payment info on TokenBase card edit.
Fixed "Invalid Option Value" error when removing all subscription options from a product.
Fixed exception on admin subscription view if customer was deleted.
Fixed payment account change not updating the subscription quote payment information.
Fixed PayPal Express being available for subscription orders from the minicart.
Fixed possible empty shipping methods select on admin edit of subscriptions placed before 3.0 update.
Fixed possible error on subscription purchase if no shipping methods are available.
Fixed possible errors on order view containing deleted products.
Fixed precision of negative prices on the product edit subscription intervals grid.
Fixed single-interval/no-option subscription handling on product save.
3.0.1May 8, 2018
Fixed bundled product/single-option subscription issue on product save.
Fixed compatibility issue with 2.2 preventing guest subscription ordering.
Fixed incorrect OrderCommand argument.
Fixed possible error on bundle product save.
Fixed possible VirtualType compilation errors.
Fixed product delete observer.
Fixed required indicator when phone number is set to not required.
Fixed scope handling with admin shipping rate collection.
Fixed single-option subscriptions with 'force custom option' enabled.
3.0.0Mar 21, 2018
Added guest checkout support (auto-registers customer if a subscription is purchased).
Added pre-bill email notifications.
Added Magento multi-currency conversion support.
Added support for $0 checkout.
Added support for offline payment methods (PO, COD, Check/MO, Free, etc.).
Added subscription intervals grid to the product form in place of the existing attributes, for far more advanced configuration of subscription options. The grid is customizable, and driven internally by a new Interval model corresponding to each custom option value.
Added setting to change shipping method on admin subscription view/edit.
Added shipping method fallback on generation. If order shipping method is unavailable, will switch to cheapest method available.
Added scheduling customization (control billing days of week, days of month, months, and blackout dates).
Added 'paradoxlabs_subscription_collect_totals_before' event on rebilling, between quote initialization and totals collection.
Added 'Subscription Installment Number' condition option for promotion rules.
Added a Notes field to admin subscription view/edit.
Added ability to lookup subscriptions by subscription ID, customer name, customer email, description, and order IDs, via the admin subscription grid keyword search.
Added increment_id for subscriptions (distinct ID number from entity_id, separate per store like orders, managed via sales sequence).
Added internal config to override default subscription custom option type (drop_down).
Added internal config to override shipping method for subscriptions.
Added store and subtotal to admin subscription view/edit.
Changed limited-length text from 'Every N days for N days' to 'Every N days for M installments'. The installments term is configurable in settings.
Changed some subscription product attributes to be available to bundle (and other custom) product types. Bundles will throw error if multiple intervals entered.
Fixed 'No such entity.' errors on product save with MDVA-4499 / 2.1.10+ / 2.2+.
Fixed admin grids paging.
Fixed card matching for Vault methods on admin subscription view.
Fixed changes to customer name or email not reflecting on subscriptions.
Fixed error handling when a subscription-linked product no longer exists.
Fixed inactive/deleted cards not showing as the active payment account on subscription edit.
Fixed issues with shipping address matching and saving (thanks Scott).
Fixed logging issues in Magento 2.2.
Fixed stock handling on subscription rebilling. Will now fail and pause subscription if product is out of stock, as expected.
Fixed subscription 'payment failed' emails to cover some Vault payment method exceptions.
Fixed subscription log -> order linking issue in certain circumstances.
Fixed subscription price handling with configurable product subscriptions.
Fixed subscription tab showing up on admin customer creation.
Improved codebase with substantial refactoring of config, helpers, and service models.
Rebuilt custom option handling to eliminate option churn and improve translatability and flexibility.
Removed checkout login/register requirement.
BACKWARDS-INCOMPATIBLE CHANGES:
Added getIncrementId(), setIncrementId(), getLastNotified(), setLastNotified() to ParadoxLabs\Subscriptions\Api\Data\SubscriptionInterface.
Changed param type of setMethodInstance() in ParadoxLabs\TokenBase\Api\Data\CardInterface.
Moved subscription generation from event sales_order_place_after to sales_model_service_quote_submit_success.
CONSTRUCTOR ARGUMENT CHANGES THROUGHOUT MODULE.
2.0.0Sep 24, 2017
Compatibility fixes for Magento 2.2.
Improved API support, particularly for subscription create/update.
Added 'bill' command to API.
Added AdditionalInformation storage to Log models.
Added ExtensionAttributes implementation to Subscription and Log models.
Changed 'Always add custom option' setting default from 'Yes' to 'No'.
Changed DI proxy argument handling for Magento 2.2 compatibility.
Changed payment command classnames to fix PHP 7.1 compatibility.
Fixed error on subscription view if payment card does not exist.
Fixed possible address data mismatch after editing address book.
Fixed possible PHP error from improper Address helper inheritance chain.
Fixed possible static content deploy issues with template comments.
Fixed REST API permissions handling.
Fixed subscription price calculation handling of 'initial order adjustment'.
BACKWARDS-INCOMPATIBLE CHANGES:
This release adds support for Magento 2.2. It is still compatible with Magento 2.1, but there are some notable code changes from earlier releases. If you have customizations around the extension, these may be significant:
Added bill(), billbyId() to ParadoxLabs\Subscriptions\Api\SubscriptionRepositoryInterface.
Added ExtensionAttributesFactory and AttributeValueFactory constructor arguments to ParadoxLabs\Subscriptions\Model\Log.
Added ExtensionAttributesFactory and AttributeValueFactory constructor arguments to ParadoxLabs\Subscriptions\Model\Subscription.
Fixed a cron scheduled billing error related to store scope.
Fixed custom option handling when saving a product with subscriptions disabled.
Improved error handling during scheduled billing.
1.0.1Jul 21, 2016
Fixed a critical quote pruning issue leading to total subscription data loss.
Fixed Magento 2.1 compatibility issues.
Fixed DB prefix issues.
Fixed compile errors.
Fixed invalid ACL reference.
Fixed length field not handling '0' value as expected.
1.0.0Mar 30, 2016
Initial release.
1.0.0Mar 30, 2016
Initial release.
Customer reviews
What buyers said
★★★★★
Overall: 5 out of 5.
Rick
Thanks to your team
Your work is most appreciated here, please pass along my thanks to your team. Seriously, the documentation, APIs, events, and quality really set you guys apart from every other Magento extension developer I have ever dealt with. Thanks again!
★★★★★
Overall: 5 out of 5.
Nick P.
Phenomenal!
I've purchased 2 things from ParadoxLabs and both experiences were phenomenal! Very attentive and knowledgeable staff from sales to technical - and very fast delivery. Great experience - can't wait to work with you again. Thank you!
★★★★★
Overall: 5 out of 5.
Kimball Larsen
Works as advertised, fantastic support.
We try to automate as much as possible in our Magento store, and the Adaptive Subscriptions extension has been key to handling all our automation for subscriptions. We used to use a much more expensive dedicated subscription management company, but getting all our sales / billing history into Magento for each of our customers was really difficult. Now everything is in one place, and both our customers and our staff love how easy it is to manage subscriptions.
Our integration team had some questions on how to use the API endpoints for this extension, and the team at ParadoxLabs was quick, professional, and accurate with their support.
If you are looking to handle subscriptions in Magento, look no further.
★★★★★
Overall: 5 out of 5.
Coyuchi Web IT Admin
Good support
Quick fix to a bug in the product
★★★★★
Overall: 5 out of 5.
Noemi Quezada
Saved me many hours
Ryan and Chad were super helpful and were able to solve my issues very swiftly.
Not only did Chad help me solve the issue at hand, he also pointed me in the right direction when another extension happen to have a conflict with ParadoxLabs. It really saved me many hours of dev.