Sell your courses from the Moodle you already own
Modern Commerce turns Moodle into a complete storefront — branded catalogue, cart and checkout, coupons, enrolment keys, invoices, refunds and recurring subscriptions — paid through your own Stripe, Paystack, PayPal or Flutterwave account. No bridge plugin. No second website. No monthly SaaS.
A full commerce platform, built natively into Moodle
You built your courses in Moodle.
So why leave Moodle to sell them?
Every other route drags you off your LMS — a WordPress site with WooCommerce and a bridge plugin to keep in sync, or a monthly SaaS platform that takes a slice of every sale. Both mean two systems, two sets of user records, and a sync layer that breaks quietly. Modern Commerce puts the whole transaction inside Moodle instead: the catalogue, the cart, the checkout, the coupon, the invoice, the refund and the enrolment all happen against the same courses and the same user accounts you already administer. One install, one login, one place to look when a customer asks where their course went.
Manual enrolment chaos
Someone pays on another platform, then a human copy-pastes them into the right Moodle course — every week, for every sale, with every typo that follows.
Integration fragility
A WooCommerce or membership stack held together by a bridge plugin, quietly breaking on the next update to either side.
No native commerce
Bundles, subscriptions and team licences only exist if you duct-tape three products together — and none of them know about your Moodle roles.
Enrolment happens on payment
The gateway confirms, the order completes, the learner is enrolled and the invoice is issued — in seconds, with nobody watching.
One system, always in sync
Everything runs inside your Moodle against the courses and user accounts you already administer. There is no bridge to break.
Commerce built for a LMS
Single courses, bundles and programs, subscriptions with trials and renewals, and seat-based licences for organisations — natively.
Widget-driven storefront
Build the shop in edit mode from 22 widget types — hero slider, catalogue, categories, featured products, testimonials, countdown bar, FAQ, newsletter and more — across seven public pages including About, Support, Terms and Refund Policy.
Cart, checkout & gateways
A real cart and one-page checkout, paid through your own Stripe, Paystack, PayPal or Flutterwave account with signed webhooks. The money lands in your merchant account — we never take a cut.
Products, bundles & keys
Sell single courses, multi-course bundles and programs, or issue enrolment keys and bundle keys for cohorts, resellers and corporate buyers. Successful payment enrols the learner automatically.
Subscriptions & recurring revenue
Subscription plans with free trials, recurring charges, plan changes, grace periods, expiry handling and automatic course-access sync — all driven by scheduled tasks, not manual chasing.
Orders, invoices, refunds & audit
Order management with downloadable invoices, tax handling, coupons, manual invoicing, refund processing and an audit log — so finance can reconcile and you can answer "what happened to order 4102?".
Recovery & alerts that run themselves
Abandoned-cart recovery, payment reminders and daily sales reports on cron, plus a queued notification subsystem that emails customers and posts operational alerts to Slack or Microsoft Teams.
Seat-based licences for organisations
Sell to companies, not just individuals: subscription plans carry a seat limit, enrolment-key pools track seats used and remaining, and low-pool alerts email the buyer before their team runs out of access.
Reviews, wishlists & learner accounts
Verified course reviews and wishlists on the storefront, and a learner account area for purchases, invoices, enrolment keys and subscription self-service — so customers answer their own questions.
Also included: customer records, contact forms and newsletter capture, branding and email-template editors, inclusive or exclusive tax modes, 21 selectable store currencies, sales reports and analytics, an audit log, and a full Moodle privacy provider for GDPR subject requests.
Price it. Publish it. Get paid.
From an unpriced Moodle course to an enrolled, invoiced customer — without leaving the LMS.
Four ways to sell a Moodle course
How the common routes compare on the things that cost you money and time.
| Core Moodle enrol_fee |
WordPress bridge WooCommerce + connector |
Hosted SaaS LMS monthly platform |
Modern Commerce | |
|---|---|---|---|---|
| Runs entirely inside your Moodle | Yes | No | No | Yes |
| Second website to build & maintain | No | Yes | Yes | No |
| Sync layer between systems | None | Required | Required | None |
| Branded storefront & catalogue pages | — | Yes | Yes | Yes |
| Cart, coupons & multi-item checkout | — | Yes | Varies | Yes |
| Bundles, programs & enrolment keys | — | Add-ons | Varies | Yes |
| Subscriptions & recurring billing | — | Add-ons | Yes | Yes |
| Invoices, refunds & audit log | Limited | Yes | Yes | Yes |
| Abandoned-cart recovery | — | Add-ons | Varies | Yes |
| Ongoing cost | Free | Hosting + licences | Monthly fee | One-time licence |
| Revenue share on your sales | None | None | Common | None |
Bridge and SaaS columns describe how those categories are typically packaged; individual products vary. Compare against your own shortlist before deciding.
Built for stores that live in Moodle
Sell direct to the public
Publish a branded catalogue with hero, categories, testimonials and reviews, take card payments in your own currency, and let successful checkout enrol the learner instantly.
Sell seats to organisations
Sell a block of seats to a company, issue an enrolment-key pool for them to distribute, raise a manual invoice for their finance team, and watch seats used and remaining — with a low-pool alert that prompts the reorder before anyone loses access.
Recurring access to a library
Put your whole catalogue behind a subscription plan with a free trial, let plans renew and lapse automatically, and keep course access in sync with billing status.
One-time, per site. No subscription.
Every tier includes the complete commerce core and a full year of support — free.
Single Site
1 production site Complete commerce core 1 year of support included Email support No revenue share
5 Sites
Up to 5 production sites Complete commerce core 1 year of support included Priority support No revenue share
10 Sites
Up to 10 production sites Complete commerce core 1 year of support included Priority support No revenue share
Enterprise
Unlimited or tenant-based sites Gateway & migration assistance Personalised implementation plan Admin onboarding & training
✓ 30-day money-back guarantee · ✓ You keep 100% of every sale · ✓ No monthly platform fee
30-day money-back guarantee
Run Modern Commerce on your Moodle for 30 days. If it doesn't work as described and our support can't resolve it, we'll refund 100% of your purchase.
Frequently asked questions
Do I need WordPress?
No. Modern Commerce is a Moodle plugin that runs entirely inside your Moodle installation. There is no WordPress, no WooCommerce, no membership plugin and no bridge or connector to keep in sync.
Will it work with the courses I already have?
Yes. Modern Commerce prices and sells your existing Moodle courses as they are — no migration, no rebuilding and no duplicate course records. You set a price, publish it to the storefront, and successful payment enrols the buyer into that same course.
Can I sell seats to a company?
Yes. Subscription plans can carry a seat limit, and enrolment-key pools track how many seats have been used and how many remain. When a pool runs low the buyer is emailed automatically so they can reorder before their team loses access.
Which Moodle and PHP versions are supported?
Modern Commerce 2.1.6 supports Moodle 5.2 and requires PHP 8.3 or later.
Do you take a percentage of my sales?
No. Payments go straight to your own Stripe, Paystack, PayPal or Flutterwave merchant account. The licence is a one-time purchase and there is no revenue share, ever.
Do I need a payment gateway account?
Yes. Modern Commerce connects to gateways you own — you supply your own API keys and secrets, and card capture happens on the gateway, not inside Moodle. HTTPS is required for live gateways and webhooks.
Is there anything to install beyond the plugin?
The plugin bundles PHP libraries via Composer, so run composer install --no-dev --optimize-autoloader in the plugin directory after copying it in, and make sure Moodle cron is running — the recovery, reminder, reporting and subscription automations all run on cron.
Can I sell subscriptions and memberships?
Yes. Subscription plans, free trials, recurring charges, plan changes, grace periods, expiry and automatic course-access sync are all part of the commerce core.
How does it handle personal data and GDPR?
It stores buyer names and emails, orders, invoices, optional billing details, contact messages, newsletter subscribers and subscription records — and implements a full Moodle privacy provider, so metadata, export, deletion and user-list subject requests work through the standard Moodle privacy tools.
Is this GPL like most Moodle plugins?
No. Modern Commerce is proprietary commercial software licensed per site under the Modern Commerce Commercial License. Bundled third-party libraries keep their own licences.
What happens after the first year of support?
Your licence and your installed version keep working. Contact us about extending support when your first year is up.
No bridge. No second site.
Just sell.
One plugin, one-time, with a full year of support — and every sale stays yours.
Moodle 5.2 · PHP 8.3+ · One-time per-site licence