Bright dispensary interior with glass jars of cannabis flower on oak shelves

WooCommerce plugins for dispensaries and CBD shops.

Take card orders online and charge them on the terminal you already have. Check ages, approve patients and control where you ship. Built for stores the big payment apps turn away.

$49 a year per pluginWorks with WooCommerce 7 to 10Not a payment processor

Why stores choose it

Simple to run, careful with card details.

Sealed green pickup bag next to a jar of cannabis flower
  • Set up in minutesUpload, set a passphrase, switch it on. No developer needed.
  • Use the terminal you haveCharge orders on your own card terminal or virtual terminal.
  • Card details stay lockedEncrypted in the customer's browser. Only your passphrase opens them.
  • Deleted after chargingNothing is left on the site once the order is paid.
  • Works with today's WooCommerceCheckout block, classic checkout and Pay for order.
  • One simple yearly price$49 a year for one store. Cancel any time.

The plugins

Everything a cannabis store needs in WooCommerce.

Card payments, age checks, patient approval and shipping rules. Four plugins from one team, $49 a year each.

A budtender keys a card payment on a countertop terminal next to a sealed pickup bag
Available now

Card Payments

Take card details at checkout and charge them on your own terminal. Encrypted in the browser, unlocked with your passphrase, deleted after charging.

$49a year

Phone showing an age check screen
Available now · $49/yr

Age Gate

Ask a yes or no question or a date of birth before visitors see the store. You set the age, 21 by default. Covered products cannot be checked out without a pass.

Tablet with a patient registration form and document uploads
Available now · $49/yr

Patient Registration

Patients upload a recommendation and a driver license. You review and approve. Restricted products stay locked until the record is approved and still current.

Shipping boxes packed in a CBD shop back room
Available now · $49/yr

Shipping Limits

Limit where each product can ship by state, ZIP or city. Your lists, applied at checkout.

Each plugin applies the rules you set. None of them decides what the law allows where you sell.

Hand holding a phone with a cannabis store product page

Customers pay by card online. You charge it when you open.

Online orders, counter payments

Take card orders online. Charge them at the counter.

Your customers pay by card at checkout the way they expect. You get the order, unlock the card with your passphrase and charge it on your own terminal, the same way you take a phone order.

  • Sell around the clockCustomers order and pay at night. You charge the card when you open.
  • Fewer abandoned cartsCustomers who want to pay by card no longer leave for a store that takes cards.
  • Cleaner recordsCard sales land in your merchant account and your bank, not in a cash drawer.

How it works

Four steps from checkout to charged.

Store owner reviewing online orders on a laptop in a back office
  1. Customer checks out.They choose card and type their card. It is encrypted in their browser.
  2. You get the order.The email names the order and the last 4 digits. No card numbers by email.
  3. You unlock the card.Open the order, enter your passphrase. Every view is logged.
  4. You charge and close.Key it into your terminal, click Mark as charged. The card is deleted.

Declined? Mark it declined and the customer gets a link to pay with another card.

Live demo

Try it: this is what your store receives.

Type a test card into the form. It is encrypted the same way the plugin does it, then unlock it with the store passphrase.

Runs in your browser. Nothing is sent.
Test card 4242 4242 4242 4242
Passphrase counter-terminal-42
Checkout card formWaiting for a card

Encrypted on this page before it is sent.

What your website stores

Shown on the order and in your emailnothing yet

No card handy?

Payment options compared

How dispensaries take payment online in 2026.

Most stores mix two or three of these. Here is where card capture fits.

OptionCustomer pays online by cardUses a terminal you haveFeesSetup
Cash at pickupNo, pays in storeNo card involvedNoneNone
Pay-by-bank appsNo, links a bank accountNoPer transactionProvider account and app
Cashless ATMNo, in store onlyProvider's own devicePer transactionProvider hardware
High-risk card processorYesTheir gatewayMonthly + per transactionApplication and approval
MMJ eCommerce Card PaymentsYesYes$49 a year from usInstall, set a passphrase

Card Payments needs a terminal and merchant account that cover what you sell and allow keyed (card-not-present) entry.

Rows of healthy cannabis plants in a bright greenhouse

Services

Need more than a plugin? We build it.

  • Dispensary and CBD websitesWooCommerce stores with live menus, pickup and delivery, local SEO.
  • Payment setup helpWe help you choose a processor that accepts your products and connect it to your store.
  • Pay at pickup and reserve onlineCustomers reserve online and pay in store. Set up for you.
  • Get found on Google and in AI answersLocal SEO, product pages and the facts AI assistants quote.

The facts

MMJ eCommerce at a glance.

Made by
MMJ eCommerce, a QWEBMASTER product. First released 2016.
Card Payments
Version 2.0.0, released October 12, 2026 (formerly Canna-Commerce).
Price
$49 a year for one store. Renews yearly; cancel any time from your account.
Works with
WordPress 6.0+, WooCommerce 7.0+ (tested to 10.5), PHP 7.4 to 8.5.
You need
A card terminal and merchant account that cover what you sell and allow keyed (card-not-present) entry.
Card data
Encrypted in the browser (AES-256-GCM), unlocked only with your passphrase, deleted after charging.
Not
A payment processor. It does not charge cards.
Support
Email, from the people who build it.
Small dispensary storefront at dusk with warm light inside
Built for independent dispensaries, CBD, hemp, smoke and vape shops.

FAQ

Questions store owners ask.

Something else? Ask us directly. A person who builds the plugin answers.

Close-up of a cannabis flower
Is it safe to take card details this way?

Version 2 encrypts the card in the customer's browser, stores it only in encrypted form, needs your passphrase to unlock it, logs every view and deletes the card after you charge it. Card numbers are never emailed.

Is MMJ eCommerce a payment processor?

No. You charge the card on your own terminal. You need a terminal and merchant account that cover what you sell and allow keyed entry.

Can I use it if Stripe or Square closed my account?

Yes, if you have a terminal or virtual terminal from a processor that accepts your products. The plugin does not need an online processor.

Does it work with the WooCommerce checkout block?

Yes, plus the classic checkout and the Pay for order page.

What if I lose my passphrase?

Nobody can recover it, including us. You create a new key, and cards stored with the old key are deleted.

I use version 1. How do I upgrade?

Upload version 2 over it. Settings and orders stay. Then delete the old card emails version 1 sent.

Start taking card orders this week.

$49 a year. Install, set your passphrase, switch it on. Cancel any time.