Kirby Kart - Streamlined E-Commerce Shopping Cart Solution

Exclusivly built to work with Kirby V5+ my (paid) plugin called Kart allows you to setup online shops.

With Kart, you can effortlessly sell products with a seamless shopping cart and checkout experience. Manage orders and stock directly in the Kirby Panel while integrating with multiple payment providers such as Gumroad, LemonSqueezy, Mollie, Paddle, PayPal, Snipcart, Stripe and SumUp.

Quickstart

  1. :down_arrow: Download the ZIP or, for easier updates later on, use composer require bnomei/kirby-kart.
  2. :racing_car: Access the /kart-route on your local setup to initialize Kart and start the demo.
  3. :mirror: Copy the snippets and templates from the plugin into your project site-folder.
  4. :artist_palette: Modify the copied snippets and templates to match your projects style and site structure.
  5. :link: Link Kart to a Provider (like Stripe or Paypal) and fetch your products from them. Alternativly use Kirby to manage the products and the provider only for checkout.
  6. :nail_polish: Enhance your products within Kirby with additional text, images and downloadable files.
  7. :identification_card: Buy a license for Kirby Kart, register it in the config-file and go online with your shop.
  8. :money_bag: The streamlined shopping cart, invoices and downloads will make your customers happy.
  9. :chart_increasing: Track orders and remaining stock within Kirby.

The Kart documentation website now includes a llms.txt and markdown version of every content page to make it easier for AI tools to understand how to use Kart. Read more about it here…

v5.6.0 of the Kart plugin brings a lot of new features.

:recycling_symbol: models can be extended

:sparkles: added auto-completion for variants in their tags field (which leads to less typos)

:sparkles: checkout form data retained in kart()->checkoutFormData() (when you want to add custom data to the order, maybe a checkbox for newsletter or contact details)

:sparkles: line items can be injected on checkout with checkout_line settings of provider (like when adding shipping fee with Mollie)

:sparkles: completed callback to modify data saved to an order based on provider data and checkout form data (this is where you send the newsletter opt-in email or append the contact data)

:sparkles: orders.order.zip callback to modify zip creation (like adding or removing files beyond the ones assembled by Kart)

v5.10.2 and previous versions of the Kart plugin added, see the full Changelog - Kirby Kart

:sparkles: Automatic support for handling shipping and billing data from checkout form

:recycling_symbol: Deep pagination for retrieving all products from providers in all providers

:sparkles: New providers: Chargebee, Polar

:sparkles: Webhook support for multiple providers

:sparkles: Variants can have dedicated downloads assigned

:bug: Various bugfixes

v5.10.8

2026/01/20

  • :bug: Downloads from variants of Products in orders included too many files

v5.10.6 - v5.10.7

2026/01/15

  • :bug: Correct default locale fallback to en_US in Kart
  • :recycling_symbol: Normalize billing address with fallback for incomplete data in Mollie provider
  • :recycling_symbol: Mollie LineItem SKU <= 64 characters

v5.10.4 - v5.10.5

2026/01/09

  • :bug: getVariants could fail and break the site.kart.allVariants query
  • :bug: Missing NumberFormatter import. Improve null and empty array handling in VirtualPage content

v5.10.3

2026/01/05

  • :recycling_symbol: explicit array_filter handling of null values