Sell on repeat: plans with trial and discount, renewal reminders, renewal orders by cron, and cancel in two clicks.
Tested on 4 buildsUpdated Nov 7, 2026Version 1.0.0CS-Cart, Multi-Vendor 4.17.2 – 4.21.x No core file edits
Built for
Subscriptions & Recurring Orders: Plans, reminders, renewal orders and cancel in two clicks1 of 7
What it does
CS-Cart has no subscriptions. This add-on lets shoppers choose a plan on the product page (every 2 weeks, every month, with a discount, a trial or a fixed number of deliveries) and manage it in their account: pause, skip, change quantity, frequency or address, and cancel with a confirmation page and e-mail. It is for stores that sell coffee, supplements, pet food or any consumable, and for marketplaces where vendors run their own plans.
How it works
Create a plan, assign products, and the product page shows "Choose how to buy". When the first order is paid the subscription starts. For bank transfer or cash on delivery the cron creates each renewal order by itself. For every other payment method the customer gets a pay link and pays through the normal checkout, so no card data is stored. Stock CS-Cart payment add-ons cannot charge a saved card; a hook lets a gateway add-on do it.
Features
Plans with interval, trial period, first-order discount, recurring discount and number of deliveries
Plan box on the product page and subscription tag in the cart
Cancel in two clicks with a confirmation e-mail, also from the signed link in e-mails without a login
Renewal reminders a set number of days before each renewal
Renewal orders by cron, safe against double runs, with a lock per subscription
Automatic orders for offline payment methods and pay links for all other methods
Payment reminders on your schedule, then cancel or pause
Dashboard with monthly recurring revenue, churn and renewals due, plus CSV export
Multi-Vendor: vendors manage their own plans and subscriptions
What you get
Package
kv_subscriptions-<version>.zip, installed through Add-ons → Manage add-ons
Updates & support
12 months included. Download new versions from your account and install them in Add-ons → Manage add-ons or the Upgrade Center.
License
1 production installation. Staging, dev and localhost are free and unlimited. The add-on keeps working after the update period ends. How licensing works
Compatibility
We list only the builds we install and test on. “Tested” means the full test plan was run on that build; “Supported” means the build is inside the supported range and uses the same hooks.
CS-Cart version and edition compatibility
CS-Cart version
CS-Cart
CS-Cart Ultimate
Multi-Vendor
Multi-Vendor Ultimate
4.22 and later
Testing next
Testing next
Testing next
Testing next
4.21.2
Supported
Supported
Supported
Supported
4.20.x
Supported
Supported
Supported
Supported
4.19.x
Supported
Supported
Supported
Supported
4.18.x
Supported
Supported
Supported
Supported
4.17.2
Supported
Supported
Tested
Supported
Before 4.17.2
Not supported
Not supported
Not supported
Not supported
Last tested build: Multi-Vendor 4.17.2, Nov 7, 2026Tested on: Multi-Vendor 4.17.2
Requirements
Platform
CS-Cart or CS-Cart Multi-Vendor 4.17.2 – 4.21.x
PHP
PHP 7.4 – 8.3, as supported by your CS-Cart version
Requirement
MySQL/MariaDB with InnoDB (the add-on uses named locks and unique keys for safe renewals)
Requirement
A cron job (recommended): the billing pass sends reminders and creates renewal orders. Without it, the add-on starts a pass after an admin page is served, at most every 5 minutes; a real cron is better
Core changes
None. Hooks and template overrides only
1.0.0
Nov 7, 2026
Latest
Added 7
Subscription plans: interval (days, weeks, months, years), trial days, first-order discount, recurring discount (percent or fixed), fixed number of deliveries, customer controls; plans assigned to products ("Choose how to buy" box on the product page, subscription tag in the cart).
Subscriptions created from paid orders (one per plan and order, per vendor order in Multi-Vendor); activation on a "payment received" status or on open orders (setting).
Customer account: My subscriptions, pause, resume, skip, quantity, product swap, frequency (another plan), address of automatic renewals, cancel in two clicks with a confirmation page and e-mail; signed e-mail links for guests.
Renewal reminders before each renewal; renewal orders by cron (console or secret URL), idempotent (cycle row with unique key, lock per subscription, order lookup by cycle key); automatic orders for payment methods without a processor and for add-ons that register a charge handler (hooks kv_subscriptions_payment_driver, kv_subscriptions_charge); pay link and normal checkout for every other method.
Dunning with a configurable schedule, then cancel or pause; pending payments are never treated as failed; failed orders reopen the cycle.
Admin and vendor panel: dashboard (MRR, churn, renewal revenue, renewals due, unpaid renewals), subscription list with filters and CSV export, detail with cycles and history, plans; Multi-Vendor scope per action.
Five editable e-mail templates; domain-bound license check and self-healing upgrades.
Tested 1
Unit 47/47 (PHP 8.1 and 8.3); CLI end-to-end 126/126 on cs417 (CS-Cart Ultimate 4.17.2, PHP 8.1), mv417b (Multi-Vendor 4.17.2, PHP 8.1) and mv421 (Multi-Vendor 4.21.2, PHP 8.3); Multi-Vendor CLI 33/33 on mv417b and mv421; HTTP end-to-end 55/55 on cs417; vendor HTTP 27/27 on mv417b; kv qa lic 53/53 on cs417, mv417b and mv421. The 4.21.2 admin was not driven over HTTP (the local trial has expired); its templates were compiled with Smarty 5.4.3 (storefront 8/8, admin 8 of 13: the other five use the {btn} tag the console cannot compile and were rendered over HTTP on 4.17).
Tested on Multi-Vendor 4.17.2. First release.
Can it charge my customers' cards automatically?
Not by itself. CS-Cart (4.17 to 4.21) has no stored-card or token feature, and its stock payment add-ons cannot be called to charge a customer who is absent. For payment methods without a processor (bank transfer, cash on delivery, cheque) the add-on creates the renewal order automatically. For every other payment method it e-mails a pay link and the customer pays through the normal checkout. A payment add-on that can charge a saved credential can plug in through two hooks (see Developer notes); we do not claim that any gateway does today.
Does it work with Multi-Vendor?
Yes. A subscription belongs to the vendor of the order; vendors create plans for their own products and see only their own subscriptions. A cart with products of several vendors can contain several subscriptions, one per vendor order.
What happens when a renewal is not paid?
For pay-link subscriptions, payment reminders go out on the days you configure (default 1, 3 and 7 days after the due date). After the last one the subscription is cancelled or paused, as you choose, and the customer gets an e-mail. A payment that is still pending at the gateway is never treated as failed.
Does a trial or a free first order work?
Yes: set "First renewal after" (trial days) and a 100% first-order discount. The first order total is zero; the first renewal is due after the trial.
Which price does a renewal use?
The current catalog price of the product (options included) minus the plan discount, plus shipping and taxes calculated by the cart code for the saved address. Price changes therefore apply to the next renewal. The amount in reminders is an estimate of the products only.
What does "cancel in two clicks" mean?
The Cancel button opens a confirmation page (click 1) and the Confirm button cancels (click 2). A link in every e-mail leads to the same page without a login.
Is this compliant with the UK Digital Markets, Competition and Consumers Act or the EU withdrawal function?
We do not make compliance claims: whether a store meets a rule depends on the store, its contracts and its country. What the add-on provides is factual: reminders before renewals, a cancellation route that is always available in the account and by e-mail link, and a confirmation e-mail. For orientation only: on legislation.gov.uk the subscription contract rules of the Act (Part 4, Chapter 2) are shown as prospective, with most provisions not in force at the time of writing; Directive (EU) 2023/2673 adds a "withdrawal function" for distance contracts concluded through an online interface (Article 11a of Directive 2011/83/EU), applied by Member States from 19 June 2026. The cancel page of this add-on cancels a subscription; it is not a withdrawal statement. Ask your legal adviser what applies to you.
Why is the first subscription "waiting for payment"?
By default a subscription starts when its first order reaches a status marked "payment received" (Processed or Complete). Change Activate a subscription when its first order is to "Open or paid" for stores that start on an open order (cash on delivery).
Does it slow down the storefront?
No work is done on storefront pages except reading the plans of the product (one indexed query on the product page). Renewals, reminders and dunning run in the cron.
What happens to renewal orders when I uninstall?
The orders stay. The subscription tables are removed.
Can customers change the product?
They can swap a line for another product of the same plan that has no options. Products with options cannot be swapped; the customer can cancel and subscribe again.
What about taxes and shipping?
They are calculated by CS-Cart when the renewal order is placed, for the address saved on the subscription (automatic mode) or the address entered at checkout (pay-link mode).
Add a released add-on to this order and save 15% on it. It uses the same edition and store domain.
Subscriptions & Recurring OrdersThis add-on
+
Store Credit WalletGive customers a store credit balance for refunds, cashback and goodwill credit, spendable at checkout in full or in part.
$69
+
Price Drop & Back-in-Stock AlertsLet shoppers subscribe to price drops, restocks and low stock on any product or variation, and turn that demand into sales with automatic alerts.
$59
+
Pay by Link & Pay After ConfirmationSend customers a secure payment link for an unpaid order, any amount or a prepared cart, with QR code, expiry and tracking.
$59
Buy with confidence
What stands behind your license
Tested builds
This product was tested on these builds. Builds we did not test are not listed.
CS-Cart Ultimate4.17.2
Multi-Vendor4.17.2PHP 8.1
unit 47 (PHP8.1PHP 8.1, 8.3
licence 53/53.4.21.2
12 months of updates
Updates and support are included in the price. The product keeps working afterwards; renewing is optional.