Contents
- Domma CMS User Manual
- 1. Using the CMS
- 2. Tutorials
- 3. Components
- 4. API Reference
- 5. Tools
- Tools
- Analytics Pro
- Backup Pro
- Blog
- Blog Pro
- Booking
- Booking Pro
- Calendar
- Campaigns Pro
- Cards
- Card credits
- Contacts Pro
- Dashboard Pro
- Data Transfer
- Docs
- Docs Pro
- Email Pro
- Feedback
- Garage
- Invoices
- Job Board
- Mail Reader
- Messages
- MongoDB Adapter
- Onboard Pro
- Security
- Security Pro
- SEO Pro
- Sheets
- Shopping Cart
- Shopping Cart Pro
- Social Media Pro
- Support
- Surveys
- Theme Roller
- Waypoint Pro
Shopping Cart
Updated by Darryl Waterhouse on 22 October 2026 · 10 min read
Sell from your own site. Add products, choose how you get paid, and run orders from the Shop in the admin sidebar. Shopping Cart is free.
What it does
- A storefront at
/shop(you can move it) with category filters, and search and sort once there are more than four products, and a page for each product. - Products with pictures, a "was" price, stock counts and options (for example sizes or colours), each option with its own price, SKU and stock.
- A basket that follows shoppers round the whole site, with a floating basket button.
- A one-page checkout at
/shop/cartthat takes payment by Stripe, PayPal or offline (for example bank transfer). - A receipt page for each order that the shopper can come back to.
- Orders in the admin: mark paid, fulfil with tracking, refund, cancel, print a packing slip.
- A badge on the Shop sidebar item showing paid orders waiting to be sent, or how many products you have when nothing is waiting.
The free Shopping Cart sends no emails at all - not to the shopper and not to you. The receipt page is the shopper's record of the order. Order confirmation and dispatch emails come with Shopping Cart Pro.
Getting started
- Open Shop in the sidebar. A new shop shows "Open your shop" with three steps.
- Click Add a product, or or try samples to load six sample products with pictures, options and stock. You can edit or delete the samples later.
- Click Payment settings and turn on at least one way to pay (see Settings below). Pay offline is on by default.
- Click See the shop to check it, then link to
/shopfrom your menu or put[shop-products /]on any page. - If your site sits behind a proxy or on an unusual port, set your site's address first: Site Settings > General > Site URL (for example
https://example.com). Stripe and PayPal send shoppers back to this address after they pay, and the links in order and account emails are built on it. Without it the Shop guesses the return address from the request, which can be wrong behind a proxy, and emails go out without their links until it is set.
Screens
The Shop has three tabs under the banner: Overview, Orders and Products. Shopping Cart Pro adds tabs of its own to this row. The banner has three buttons: the cog (Shop settings), open the shop in a new tab, and + (Add a product, on the Products tab).
Overview
- Today, Last 30 days (compared with the 30 days before), Average order and To fulfil. Click To fulfil to go to the orders.
- Takings, last 30 days - a bar per day. Hover a bar to see the day, the takings and the number of orders. Only paid and fulfilled orders count; refunded and cancelled orders are left out.
- Needs you - paid orders to send, orders awaiting payment, products low in stock or sold out, checkouts started this week and not paid, and a reminder if you only take offline payment.
- Latest orders and Best sellers (by takings over the last 30 days).
Orders
- Pick a filter: To do, To fulfil, Awaiting payment, Fulfilled, Started, Cancelled & refunded or All. Each shows a count.
- Search by order number, name, email or item.
- Click an order to open it. Right-click a row (or use the ⋮ button, or Shift+F10) for its actions.
An open order shows the items and totals, the shopper, the delivery address and tracking, the shopper's note, a Staff note only you can see (saved when you click away), the payment reference and the order's history.
Order statuses:
| Status | Meaning |
|---|---|
| Checkout started | The shopper went to pay and has not finished. No stock is held. |
| Awaiting payment | An offline order. Nothing has been charged. |
| Paid - to fulfil | Paid. Stock has been taken. Ready to send. |
| Fulfilled | Sent, delivered or collected. |
| Cancelled | Never paid, and closed. |
| Refunded | Paid, then given back. |
Actions:
- Mark paid - for an offline order when the money arrives. Stock is taken at this point.
- Mark fulfilled (or Mark collected) - add a carrier, tracking number and tracking link if you have them. The shopper sees the tracking on their receipt page.
- Back to "to fulfil" - reopen a fulfilled order.
- Refund - see below.
- Cancel order - only for orders that were never paid.
- Packing slip - opens a printable slip with the items, SKUs, address and the shopper's note. Allow pop-ups for your site if nothing opens.
- Copy receipt link - the shopper's receipt page address.
- Email the shopper - opens your own email program.
- Delete - only for Checkout started, Awaiting payment and Cancelled orders. A paid or refunded order cannot be deleted.
Refunds:
- Refund… asks how much. It starts at the whole amount still to refund; leave it for a full refund, or type less for a part refund.
- Add a Reason if you like. It is kept on the order.
- A part refund leaves the order as it is (Paid or Fulfilled). The order shows what was refunded, when and why, and how much is left. Refund more… gives back more, up to what is left.
- When everything has been given back, the order becomes Refunded.
- A Stripe or PayPal order is refunded through Stripe or PayPal first. The refund is only recorded once they accept it.
- An offline order is only marked refunded. Give the money back yourself, the way it came.
- Tick Put the items back in stock to return the stock. This is only offered for a full refund (or the last part of one).
- Sales counts each refund on the day it was made. The CSV has a Refunded amount column.
Sales
What the shop took, for a range of dates. Choose Today, This week, Last 7 days, This month, Last month, Last 30 days, This year or Dates…, and show it by Day, Week or Month.
- Net takings (what was taken, less refunds), Orders, Average order and Tax collected.
- Takings - a chart; point at a bar for its figures.
- Where it came from - your Shop's products, downloads and licence keys (Shopping Cart Pro), Takeaway orders, and other add-ons.
- How it was paid - card, PayPal, offline.
- The figures - items, discounts, delivery, tax, refunds and net; Each period, as a table below.
- CSV - one row per order, for your accountant.
A sale counts on the day it was paid, and a refund on the day it was made.
If your provider charges a commission on sales, The figures also show the commission, any returned on refunds, and what is left after commission; the rate is shown beside them and in Shop settings > Payment. Each sale's commission is worked out when it is paid, at the rate of that day, and shown on the order. You cannot change the rate yourself - ask your provider.
Products
- Pick a filter: All, On sale, Drafts, Low stock or Archived.
- Click a product to edit it, or click Product (or + in the banner) to add one.
- Right-click a row (or ⋮) to Edit, View in the shop, Duplicate, Put on sale, Back to draft, Feature, set stock, Archive or Delete.
Only products On sale appear in the shop. Archive hides a product but keeps it. Deleting a product does not change past orders; they keep their own copy.
The product form:
- Name, Address (the last part of the product's web address), Pictures (from Media; the first is shown on the card, the second on hover; drag to reorder).
- Price and Was (an earlier, higher price, shown struck through with a Sale flag).
- Summary (on the card and the top of the product page) and Description (Markdown and shortcodes work).
- Category, Tags (comma-separated), Status (On sale, Draft - hidden, Archived) and Featured (shown first, with a Featured flag).
- Options & stock - tick Count stock to track stock; it then sells out at 0. Add options with Add an option, each with a name, price (empty uses the product's price), SKU and stock. Options are names them (for example Size).
- Delivery & tax - untick Needs delivering for downloads, services and tickets (no delivery charge, no address asked). Weight (g) and Tax class are used by Shopping Cart Pro.
Shopping Cart Pro adds sections of its own, marked Pro, to the product form and to an order.
Ctrl+Enter saves the form.
Settings
Click the cog in the Shop banner to open Shop settings. It has four sections. Click Save when done. Changing the currency or the shop address reloads the page.
Storefront
- Shop name, Address (default
/shop; takes effect at once, and old links stop working), Introduction. Search engines show the introduction as the shop's description; left empty, they get a line made from your site's name and first products. - While nothing is on sale the shop page tells search engines not to list it, and it stays out of the site's
sitemap.xml. As soon as one product is active (and not unlisted), the shop and every product page are indexed and listed in the sitemap. - Currency - changing it does not convert prices you have entered.
- Products per row (2, 3 or 4).
- Category filters, Search box (shown once there are more than four products), Basket button on every page, Say "Only 3 left".
- Basket button side (Right or Left), Low stock at.
- Terms of sale page - if set, shoppers must tick "I agree to the terms of sale" before paying.
Delivery
- We deliver to - the countries checkout offers. Products that need no delivery can be bought from anywhere.
- Delivery charge - one charge per order, and what it is Called.
- Free over - orders at or above this amount go free. 0 means never.
- Offer collection - shoppers can collect in person, with no charge and no address.
Tax
- Tax rate % - one rate for every product. Leave at 0 for no tax.
- Called (for example VAT).
- My prices include tax - on: the price is what the shopper pays, and the receipt shows the tax inside it. Off: tax is added at checkout.
- Tax the delivery charge too.
Payment
Turn on one or more:
- Stripe - cards, Apple Pay and Google Pay on Stripe's own page.
- In Stripe, go to Developers > API keys and copy the secret key (
sk_test_for testing,sk_live_for real). - Paste it in Secret key.
- Optional but recommended: in Stripe, go to Developers > Webhooks, add the Webhook address shown in the settings (use the copy button) for the event
checkout.session.completed, then paste its signing secret in Webhook signing secret. This confirms a payment even if the shopper closes the tab before coming back. - Click Test the key.
- In Stripe, go to Developers > API keys and copy the secret key (
- PayPal - needs a PayPal Business account and a REST app.
- Choose Mode: Sandbox (testing) or Live.
- Paste the Client ID and Secret from developer.paypal.com > Apps & Credentials > your app.
- Click Test the keys.
- Pay offline - bank transfer or cash on collection. The order is placed as Awaiting payment and nothing is charged. Set what it is Called and What to tell the shopper (for example your bank details). This shows on the shopper's receipt with the order number and total.
Keys are kept on the server. Once saved they show as dots and are never shown again. Leave the dots alone to keep the saved key.
Shortcodes
Put products on any page.
A grid of products (all options are optional; limit is 1 to 48, default 8):
[shop-products /]
[shop-products category="Mugs" limit="8" columns="4" /]
[shop-products tag="gift" /]
[shop-products featured="true" /]
One product card:
[shop-product slug="blue-mug" /]
An add-to-basket button with the price. For a product with options it links to the product page instead, so the shopper can choose:
[buy-button slug="blue-mug" label="Buy now" /]
Only products On sale are shown. A page built from these can show out-of-date stock until it is next rendered, but checkout always checks stock and prices again.
Permissions and roles
Set in System > Roles, under Plugins:
| Permission | Action | Lets someone |
|---|---|---|
| Shop | See | Open the Shop and read its orders and products |
| Shop | Manage | Edit products, move and refund orders, change the Shop's settings |
The admin role has both by default.
Tips
- Test with Stripe's
sk_test_key or PayPal Sandbox before going live. - Notifications: a notice arrives for each new paid order and for each offline order awaiting payment. A Super Admin can switch the "Shop orders" source off in the Notifications settings.
- Stock is taken when an order is paid, not when checkout starts. Started checkouts hold no stock and can be deleted.
- Order numbers start at 1001.
- If a shopper's basket changes while they check out (something sold out, fewer left), checkout stops and shows the new total before taking payment.
Limitations
- No emails. Shopping Cart Pro adds order and dispatch emails.
- Refunds are full refunds only.
- One flat delivery charge and one tax rate. Shopping Cart Pro adds shipping zones, rates by weight or order value, tax by country and tax class, and discount codes.
- Behind a proxy, set Site URL in Site Settings or Stripe and PayPal may send shoppers back to the wrong address.
Customer accounts
Switch on Customer accounts in Shop settings (the cog) > Store to let customers create an account. It is optional - customers can still check out as guests. Your site's email must be set up (Site Settings > Email), because new accounts are confirmed by an emailed link.
- Customers sign in, create an account or reset a forgotten password on the account page: your shop's address followed by
/account(for example/shop/account). The shop and the basket link to it. - Signed in, their name, email, phone and first saved address are filled in at checkout.
- The account page lists every order placed with their email address, before or after they signed up, with a link to each receipt. They can change their details, keep up to 8 addresses, sign out, and delete their account (their orders stay with you as a record of the sale).
- After a guest checkout, the receipt offers to create an account with the order's email.
- Customers get the Shop Customer role, which has no access to the admin.