Glossary
The terms this documentation uses, in alphabetical order.
Cart
The list of what a visitor intends to buy. A Cart is a collection of list items, kept in the visitor’s session and identified by the session cookie. Each visitor has exactly one, reachable as $site->cart().
Checkout page
The page where the customer’s email and address are collected. It uses the checkout blueprint and is reachable as $site->checkoutPage(). See Create checkout.
Coupon
A code a customer enters to get a discount. Merx has no coupon feature — you check the code yourself and add a discount item to the cart when it is valid.
Currency
A three-letter ISO code such as EUR, carried by every Price. It comes from the pricing rule that applies to the request, not from the language. See Currencies.
Customer
Somebody who is ordering or has ordered. This documentation switches to the word at the checkout: before that a visitor has a cart, from the checkout on a customer has an order.
Discount
A list item with a negative price and the type discount. It is part of the cart total like any other item, which is why discounts need no special handling. See Shipping costs and discounts.
Gateway
See payment gateway.
Invoice number
Merx numbers an order once, and that number is the order number. There is no separate invoice numbering and no invoice document, so an invoice you generate yourself carries the order number. See Order number.
List item
One line in a cart. A ListItem has a key, a quantity, a price and a type — one of credit, custom, discount, product, promotion or shipping. Most point at a product page, but an item can also carry its own title and price.
Order number
The sequential number Merx gives each order, used as the title of the order page. It is generated by the orderNumber option, which you can replace with a numbering of your own. See Order number.
Order page
A Kirby page holding one order: the customer’s data and a copy of their cart at the moment they ordered. Merx creates it under $site->ordersPage() with the order template and the OrderPage model. Because it holds personal data, see Security.
Payment gateway
The connection between Merx and a payment provider: one function that starts a payment and one that completes it. Merx ships invoice, paypal and stripe-elements, and the checkout form picks one per order with its paymentGateway field. See Payment gateways.
Payment method
What the customer actually pays with — credit card, SEPA direct debit, iDEAL, PayPal balance, invoice. One gateway can offer many: Stripe Elements shows whichever methods you enabled in your Stripe account.
Payment provider
Other terms: payment service, PSP
An external service that handles the payment. For example PayPal or Stripe.
Price
A number, positive or negative, together with a tax rate and a currency. Merx never treats a price as a bare float — the Price class keeps the three together, so a total always knows its currency and how much of it is tax.
Pricing rule
A rule in the pricingRules option that decides which currency and which price a request gets. The first matching rule wins. See Currencies.
Product
Something a customer can buy. Usually a Kirby page with the product template and the ProductPage model, which is where its price and stock live so an editor can change them in the Panel. See Adding products.
Product list
A collection of list items that is not a cart. ProductList is what Cart is built on, without the session handling and the checkout, which makes it the starting point for a wishlist.
Shipping
Shipping costs are a list item with the type shipping, not a product page. They are part of the cart total like everything else. See Shipping costs and discounts.
Starterkit
A complete example shop with commented blueprints, templates, JavaScript and CSS. The fastest way to see how the parts fit together. See Installation.
Stock
How many of a product are left, kept in its stock field. Merx refuses more in the cart and at the checkout, and lowers it with every order once the shop is in production. See Stock.
Tax rule
An entry in the taxRules option that sets a tax rate, for example 0.19. Each product names the tax rule that applies to it, or gets the default rule. See Taxes.
User
A Kirby account, and only that — somebody who logs into the Panel. Shoppers are never users: they are visitors and customers. The distinction matters because $kirby->user() is a Panel account and is null for everybody in your shop.
Virtual order page
An order page that does not exist on disk yet. Merx builds it when the checkout is submitted and keeps it in the session while the customer is at the payment provider; only a completed payment turns it into a real page. It is what a custom payment gateway receives.
Visitor
Somebody browsing the shop, with or without a cart. They have no account and are identified only by their session cookie. They become a customer when they order.
Wishlist
A list of products a customer wants to keep for later. It is a product list that you store yourself instead of in the cart session. See Wishlist.