bnomei / kirby-kart
Streamlined E-Commerce Shopping Cart Solution
Requires
- php: >=8.2
- ext-intl: *
- getkirby/composer-installer: ^1.1
- s1syphos/php-simple-captcha: ^2.3
Requires (Dev)
- getkirby/cli: ^1.5
- getkirby/cms: ^5.1.0-rc.1
- larastan/larastan: ^v3.0.0
- laravel/pint: ^1.13
- pestphp/pest: ^v3.5.1
- ramsey/uuid: ^4.7
- spatie/ray: ^1.39
- vlucas/phpdotenv: ^5.6
Suggests
None
Provides
None
Conflicts
None
Replaces
None
This package is auto-updated.
Last update: 2026-08-28 10:55:01 UTC
README
Streamlined E-Commerce Shopping Cart Solution
Installation
- unzip master.zip as folder
site/plugins/kirby-kartor git submodule add https://github.com/bnomei/kirby-kart.git site/plugins/kirby-kartorcomposer require bnomei/kirby-kart
Licensing
Kirby Kart is a commercial plugin that requires a license. You can install and test the plugin locally without a license. However, production environments require a valid license. You can purchase a license here.
Quickstart
- ⬇️ Download the ZIP or, for easier updates later on, use
composer require bnomei/kirby-kart. - 🏎️ Access the
/kart-route on your local setup to initialize Kart and start the demo. - 🪞 Copy the snippets and templates from the plugin into your project
site-folder. - 🎨 Modify the copied snippets and templates to match your projects style and site structure.
- 🔗 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.
- 💅 Enhance your products within Kirby with additional text, images and downloadable files.
- 🪪 Buy a license for Kirby Kart, register it in the config-file and go online with your shop.
- 💰 The streamlined shopping cart, invoices and downloads will make your customers happy.
- 📈 Track orders and remaining stock within Kirby.
Documentation
You can find the full documentation for Kirby Kart on its dedicated website.
Provider feature matrix
| Provider | Hosted Checkout | Order Flow | Product sync | Hosted Portal | Invoice URL |
|---|---|---|---|---|---|
| chargebee | ✅ | return URL | ✅ | ✅ | ✅ |
| checkout | ✅ | return URL | - | - | - |
| fastspring | external | - | ✅ | - | - |
| gumroad | external | webhook | ✅ | - | ✅ |
| invoice_ninja | ✅ | webhook | ✅ | - | ✅ |
| lemonsqueezy | ✅ | return URL, webhook | ✅ | ✅ | ✅ |
| mollie | ✅ | return URL | - | - | - |
| paddle | JS snippet | return URL | ✅ | ✅ | ✅ |
| paypal | ✅ | return URL | ✅ | - | - |
| polar | ✅ | return URL | ✅ | - | ✅ |
| shopify | ✅ | webhook | ✅ | - | - |
| snipcart | JS snippet | webhook | ✅ | - | - |
| square | ✅ | return URL | - | - | ✅ |
| stripe | ✅ | return URL | ✅ | ✅ | ✅ |
| sumup | JS snippet | return URL | - | - | - |
Shopify product metafields
Shopify product metafields can be added to the product's raw provider data with an allowlist of namespace.key values:
return [ 'bnomei.kart.providers.shopify.metafields' => [ 'custom.product_details', ], ];
The Shopify app needs the read_products and read_metaobjects access scopes. Scalar values and one level of referenced
metaobjects are available under $product->raw()->yaml()['metafields']; nested references are not resolved.
Disclaimer
This plugin is provided "as is" with no guarantee. You can use it at your own risk and always test it before using it in a production environment. If you find any issues, please create a new issue.
License
Kirby Kart License © 2025-PRESENT Bruno Meilick