Adaptive Subscriptions



Magento Platform
Open Source (CE)
2.0, 2.1, 2.2, 2.3
Commerce using on prem (EE)
2.0, 2.1, 2.2, 2.3
Commerce on Cloud (ECE)
2.2, 2.3

Tech Specifications

Current Version:
Stable Build
20 March, 2020
Extensions, Payments & Security, Checkout Enhancements
Supported Browsers:
Chrome Linux: 42, 43, 44 Mac: 39, 44 Windows: 39, 40, 42, 43, 44
License Type:


Power up your Magento 2 store with subscriptions, auto-shipments, and recurring billing.


Back to top

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.

Have a recurring revenue model in mind? Adaptive Subscriptions can probably handle it. And if it isn't supported out-of-box, get in touch with us and we'll help you figure out what's involved. We're always looking for ways to make our products better. We stand by our work.


Cart / Checkout

  • Our subscriptions are just normal products. You can buy any number of subscriptions and regular products at once, 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.



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



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.



  • 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!
  • Coupons apply to the first installment only. 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.



Customers can manage their own subscriptions: They can view current info, change payment details and shipping address, and 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, 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.



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.



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.


The user manual covers:

  • Installation
  • Configuration
  • Features and usage
  • Common questions and issues
  • Technical info

View: Adaptive Subscriptions User Manual (PDF)



We are experienced, certified Magento developers. All of our code is clean, well-documented, and follows all Magento standards and techniques. We make sure to do things the right way.

Our source code is 100% unencoded (viewable source). When you purchase this extension, you get full access to view and modify it any way you need to (within the license terms).

ParadoxLabs is a proud Magento Solution Partner and member of ExtDN.org, the Extension Developers Network.



We pride ourselves on excellent support. Your purchase includes one year of complimentary extension support, plus free bug fixes and updates for the lifetime of this extension. If you find that it doesn't work as we intended in a standard installation, we'll help you fix that.

ParadoxLabs has been building and maintaining Magento payment solutions for years. Our extensions process over $2 billion dollars in transactions a year for thousands of stores like yours, and our support is top-notch.

Our staff are all located in the United States, with an office in downtown Lancaster, PA, open weekdays from 8 AM to 5 PM Eastern Time. Have a question, or want to try it out? Give us a call at 717-431-3330, or email us at sales@paradoxlabs.com.

Release Notes

Back to top


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Compatible with Commerce on Cloud (ECE) : 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Fixed card association with register-after-checkout flow on recent Magento 2.2/2.3 versions.
    - Fixed cart currency conversion ignoring initial adjustment price.
    - Fixed creating records via API when passing an ID of 0.
    - Fixed customer info edit removing order IDs from subscription keyword search.
    - Fixed item quantity not carrying into subscription in Magento 2.3.3+.
    - Fixed Magento 2.3.4 GraphQL compatibility.
    - Fixed new cards not being selected as subscription payment after purchase in Magento 2.3.3+.
    - Fixed OSC compatibility issue with checkout button disabled style.
    - Fixed possible uncaught exception from invalid card billing address.
    - Fixed potential admin card edit issues with AJAX requests failing to update the page.
    - Fixed potential custom option price double-counting issue.


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Compatible with Commerce on Cloud (ECE) : 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Repackaged for dependency update (TokenBase 4.2.4).


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Compatible with Commerce on Cloud (ECE) : 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Fixed (disabled) stock check on subscription generation during checkout.
    - Fixed extension attribute handling issues with Magento 2.3.3.
    - Fixed potential execution order issue with sales rule plugin.
    - Fixed product duplication conflict with EE content staging (thanks Stephen).
    - Fixed product duplication not duplicating subscription options on Magento 2.2+.


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Added 'upcoming' command line command to preview pending subscriptions without billing (thanks Kristof).
    - Improved Vault payment methods support and extensibility.
    - Fixed unsaved cards not being allowed for subscription rebilling; changed card deletion to unlink the card from any subscriptions.


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Fixed data leakage with subscription order emails being copied to wrong recipients under certain circumstances on Magento 2.2.8+ and 2.3.1+.
    - Fixed email sender not respecting configuration scope for Magento 2.3.1+.
    - Fixed PHP null error on frontend subscription edit if there's no active card.
    - Fixed quality issues for latest Magento coding standards.
    - Fixed subscription failure and upcoming notice emails failing to send.
    - Fixed subscriptions running with inactive/deleted tokenbase cards.
    - Fixed Vault method compatibility issue if payment method code already includes "_cc".


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Added 'default to one-time purchase' setting, defaulted to yes for new installs only.
    - Added customer REST API support for subscription management.
    - Added GraphQL API support for subscription management.
    - Fixed a date parsing error in the notify cron on 2.3.1+. (Thanks Jan)
    - Fixed emulation scope issues affecting translation in certain circumstances.
    - Fixed uncaught errors when assigned vault payment method was deleted.


  • Compatible with Open Source (CE) : 2.1 2.2 2.3
  • Compatible with Commerce using on prem (EE) : 2.1 2.2 2.3
  • Stability: Stable Build
  • Description:

    - Updated composer dependency versions for Magento 2.3.
    - Fixed date-type custom options causing a checkout error when purchasing a subscription.
    - Fixed subscription email currency handling under certain circumstances.
    - Fixed subscription pricing overriding added custom option prices.
    - Fixed template loading on composer installs.


  • Compatible with Open Source (CE) : 2.1 2.2
  • Compatible with Commerce using on prem (EE) : 2.1 2.2
  • Stability: Stable Build
  • Description:

    - Added rebilling shipping method fallback (and a setting to disable). Consolidated logic into QuoteManager.
    - Changed admin order comment to not be copied to rebilling orders.
    - Changed admin subscription view to always recalculate shipping method options.
    - Fixed Magento 2.2.6 compatibility issue breaking subscription product creation.
    - 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.


  • Compatible with Open Source (CE) : 2.1 2.2
  • Compatible with Commerce using on prem (EE) : 2.1 2.2
  • Stability: Stable Build
  • Description:

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


  • Compatible with Open Source (CE) : 2.1 2.2
  • Compatible with Commerce using on prem (EE) : 2.1 2.2
  • Stability: Stable Build
  • Description:

    - 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, for more advanced configuration of subscription options.
    - 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 ability to customize subscription option labels, type, and required, per-product.
    - 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.
    - Added subscription grid columns 'last notified' and 'times billed'; added filtering to columns ID, description, name, email, item count, item qty.
    - 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.
    - 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.


  • Compatible with Open Source (CE) : 2.1 2.2
  • Compatible with Commerce using on prem (EE) : 2.1 2.2
  • Stability: Stable Build
  • Description:

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

    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.
    - Added getId(), setId(), getSubscriptionId(), setSubscriptionId(), getOrderId(), setOrderId(), setCreatedAt(), getAdditionalInformation(), setAdditionalInformation(), getExtensionAttributes(), setExtensionAttributes() to ParadoxLabs\Subscriptions\Api\Data\LogInterface.
    - Added ProductMetadata constructor argument to ParadoxLabs\Subscriptions\Model\Service\Subscription.
    - Added Service\Subscription constructor argument to ParadoxLabs\Subscriptions\Model\SubscriptionRepository.
    - Added setId(), setCreatedat(), setUpdatedAt(), setLastRun(), setRunCount(), getExtensionAttributes(), setExtensionAttributes() to ParadoxLabs\Subscriptions\Api\Data\SubscriptionInterface.
    - Changed argument type of ParadoxLabs\TokenBase\Api\Data\CardInterface::setExtensionAttributes().
    - Changed paradoxlabs_stored_card 'address' and 'additional' fields from serialized to JSON.
    - Changed Proxy constructor arguments throughout modules to inject Proxy via DI configuration.
    - Removed Unserialize constructor argument from ParadoxLabs\TokenBase\Model\Card\Context.
    - Set quote_payment.additional_information.is_subscription_generated=1 on initial subscription generation in addition to rebilling.


  • Compatible with Open Source (CE) : 2.1
  • Compatible with Commerce using on prem (EE) : 2.1
  • Stability: Stable Build
  • Description:

    Added 'Bill Now' button to admin subscription view.
    Added split database support
    Added validation to Intervals product attribute.
    Fixed 'no such entity' error on rebilling when customer has no default address.
    Fixed button sorting on admin subscription view.
    Fixed initialization of subscription AdditionalInfo.
    Fixed Magento_Vault compatibility for Magento 2.1.3+.
    Fixed shipping not being charged on rebilling (not factoring into grand total).
    Fixed unnecessary layout definition on customer account.
    Fixed version setting to not reference the database, to allow DB-less compilation.

    Added ability to restrict cart promotional rules by the customer's chosen subscription interval.
    Fixed totals not being calculated before fetching shipping rates when rebilling (affecting totals-based rates).
    Fixed error on subscription edit if customer has no saved addresses.
    Fixed multi-website configuration issues on subscription generation.
    Fixed multi-website configuration issues on payment method availability check in admin.
    Fixed potential pruning of inactive cards associated with active subscriptions.
    Fixed admin menu ACL issue.


  • Compatible with Open Source (CE) : 2.1
  • Compatible with Commerce using on prem (EE) : 2.1
  • Stability: Stable Build
  • Description:

    - Added a setting to skip the custom option for subscription products that have only one option available.
    - Improved code for Marketplace Level 2 validation.
    - Fixed a composer dependency for Magento 2.1.


  • Compatible with Open Source (CE) : 2.0
  • Compatible with Commerce using on prem (EE) : 2.0
  • Stability: Stable Build
  • Description:

    Initial Release.


Back to top
The best place to start if you need help with a specific extension is to contact the developer. All Magento developers have both a contact email and a support email listed.

Q & A

Back to top


Back to top