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
-
Upload
zc_plugins/Subscriptions/so it lands at<store root>/zc_plugins/Subscriptions/v1.0.0/. -
Admin > Modules > Plugin Manager > Subscriptions > Install.
-
Set up the scheduler (below).
-
Write your terms in Configuration > Subscriptions > Subscription Terms.
-
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