Zen Cart Logo

Subscriptions

Views: 7

Results 1 to 2 of 2
4 Oct 2026, 4:54 AM
#1
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,814
Plugin Contributions:
16

Subscriptions

Subscriptions v1.0.0: subscribe-and-save products with pay-link renewals, for Zen Cart 1.5.8 through 3.0.0, as an encapsulated plugin

GitHub: https://github.com/dbltoe/Subscriptions

Download: https://github.com/dbltoe/Subscriptions/releases/tag/v1.0.0 (also free at https://myzencartzone.com/index.php?main_page=product_info&products_id=34)

Zen Cart: 1.5.8a, 2.0.x, 2.1.0, 2.2.x, 2.3.x and 3.0.0, one package

PHP: 7.4 through 8.5

License: GPL-2.0

What it does

Sell anything your customers buy again and again, on a schedule that fits: coffee every two weeks, great jerky every two months, balsamic vinegar every quarter, oil filters every six months. Zen Cart has had no current subscription plugin for any 2.x release; this is one.

  • Product page: the customer picks One-Time Purchase or an interval you offer (Every 2 Weeks, Every Month), with an optional subscribe-and-save discount shown beside each one.

  • Checkout: a required consent checkbox with your subscription terms, on both the standard checkout and One Page Checkout. The exact terms, time, and IP are saved with each subscription, and the signup email repeats them. Subscriptions need a customer account; guest checkout still works for everything else.

  • Renewals by pay link: before each delivery, the customer gets a Renew Now email. The link fills their cart with the same items and options, and they check out as usual at that day's prices and shipping, with any payment module you have. Nothing is ever charged automatically.

  • My Subscriptions in My Account: Renew Now, skip, pause, resume, change the interval or quantities, cancel.

  • Customers > Subscriptions in the admin: search, status filters, the full history with who did what, the consent record, and your own actions (skip, pause, resume, change date, cancel).

  • A renewal not placed in time is skipped, and the next one is reminded; three missed in a row pause the subscription and the customer is told.

  • Five emails (signup, reminder, paused, canceled, paused after missed renewals), each previewable in the free Preview Email plugin.

Encapsulated. One folder under zc_plugins/, installed from Plugin Manager. No core or template file is changed: the delivery choice is an ordinary product option the plugin manages, so every template already shows it. Uninstalling takes it off every product page.

Installing

  1. Upload zc_plugins/Subscriptions/ so it lands at <store root>/zc_plugins/Subscriptions/v1.0.0/.

  2. Admin > Modules > Plugin Manager > Subscriptions > Install.

  3. Set up the scheduler (below).

  4. Write your terms in Configuration > Subscriptions > Subscription Terms.

  5. Edit a product: in the new Subscription panel, choose Optional or Required, tick its intervals, set a discount if you like, and save.

The scheduler

Zen Cart has no scheduler of its own, so the reminders go out from an address that a cron job opens every 6 hours. Customers > Subscriptions shows the exact command for your store (Scheduler Setup) and when it last ran. In cPanel's Cron Jobs: Minute 17, Hour */6, and * for Day, Month, and Weekday, with a command like:

curl -fsSL "https://www.example.com/index.php?main_page=subscriptions_cron&key=YOUR-KEY" >/dev/null

Any outside cron service that opens a web address works too. Run Renewals Now on the admin page runs it on demand; it's safe to run anytime.

Auto-renewal laws

Several US states, California the strictest, require clear terms before purchase, affirmative consent, a confirmation that repeats the terms, and a way to cancel online. The plugin gives you all four. What your terms say is up to you; the readme has pointers. This isn't legal advice.

Zen Cart 3.0

3.0's cart currently fails on attribute price factors, which is how the discount works on 1.5.8 through 2.3; on 3.0 the plugin applies the same discount another way, automatically. Disabling the plugin in 3.0's Plugin Manager takes the delivery choice off product pages.

The full documentation (readme.html) is inside the plugin and linked from the Plugin Manager panel: configuration, product setup, renewals, the admin page, emails, customizing, translating, upgrading, uninstalling, and troubleshooting.

More with Subscriptions Pro

For stores that want more, there's a paid add-on, Subscriptions Pro, from myzencartzone.com. It renews automatically by charging the card saved at Authorize.Net, and it adds deliveries on a date each year: flowers on her birthday, your anniversary, and Valentine's Day, ordered once. The free plugin stays up to date on its own, and everything above is free.

Reporting a problem

Please include your Zen Cart and PHP versions, your checkout (standard or One Page Checkout), and what you saw. If reminders aren't going out, check when Customers > Subscriptions says the scheduler last ran. For anything else, look in logs/ for a myDEBUG- file from that moment and attach it.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com

4 Oct 2026, 7:20 AM
#2
dbltoe avatar

dbltoe

Totally Zenned

Join Date:
Jan 2004
Location:
N of San Antonio TX
Posts:
9,814
Plugin Contributions:
16

Re: Subscriptions

Subscriptions Pro v1.0.0 is out

For stores that want more than pay-link renewals, Subscriptions Pro is now on sale at myzencartzone.com. It adds two things to the free plugin and changes nothing in it. The free plugin stays complete on its own, and everything in the first post is still free.

Automatic renewal through Authorize.Net. When a subscription order is paid by Authorize.Net (the Accept.js Payments module or core's AIM), the card is saved at Authorize.Net, never in your store. Each renewal is then created and charged on its due date, with a notice before and a receipt after. A declined card is retried on the days you choose, and if it still won't go through, that subscription goes back to the free plugin's Renew Now emails. A charge whose reply never arrives is looked up by its invoice on the next run, so nobody is charged twice.

Occasions: a delivery on a date every year. Flowers on her birthday, your anniversary and Valentine's Day, ordered once. You keep a list of occasions: fixed dates like Valentine's Day, rules like Mother's Day (the second Sunday in May), and ones where the customer gives the date, like a birthday. A product offering yearly delivery gets an Occasion choice, with month and day lists for the dates customers give. Each occasion becomes its own subscription, and every order notes what to ship by when.

Timing you control. Each delivery ships the number of business days ahead you set, for the whole store or per product: the roses the day before, the balsamic vinegar a week ahead. When the date falls on a weekend, it aims at the Friday before. The customer is told when their order will ship.

Requirements: Zen Cart 1.5.8 through 3.0.0, PHP 7.4 through 8.5, and the free Subscriptions plugin 1.0.0 or later, installed and enabled. Automatic renewal needs Authorize.Net; Occasions work with any payment module.

Price: $59.95 for a Single Store License, with Five Store and Developer tiers. Each includes a year of updates and support, renewable.

https://myzencartzone.com/index.php?main_page=product_info&products_id=35

Questions about Pro are welcome here or through the Support button in its Plugin Manager panel.

Need a hand with Zen Cart? Hire the team at myZenCartZone.com for upgrades, repairs, and custom plugins.
Zen Cart Certified hosting at myZenCartHost.com