E-commerce as Laravel packages
Laravel Lunar Development Services
Lunar is an MIT-licensed set of packages that adds products, carts, orders, payments, discounts and tax to a Laravel application. It has no storefront you must use and no external API to call. You build the shop, in Laravel, which is why we suggest it to teams that already work there.
How Lunar is put together
Lunar is a Laravel package and not a standalone application. Everything below follows from that.
Two packages
lunarphp/core is the engine: models, pipelines, pricing and search. lunarphp/lunar is the admin panel, built on Filament, for products, orders and customers. The admin uses Livewire, but your storefront does not have to.
Headless, without an API
Lunar's docs are clear that there is no external API to call. Your storefront calls the code directly. If you need a separate front end or a mobile app, we write that API in Laravel, shaped to what the client needs.
Current requirements
Lunar 1.5, from August 2026, needs PHP 8.3 or later, Laravel 12 or 13 and Filament 4, with MySQL 8.0 or PostgreSQL 9.4 and the bcmath, exif and intl extensions. Lunar 1.4 and earlier were on Filament 3, so a move changes any custom admin code.
Search
Algolia and Meilisearch work through Laravel Scout, with indexing already set up. Choosing between them is mostly a matter of hosting and cost for your catalogue, and we help you decide.
Lunar development work
Because Lunar is a toolkit, the job is mostly building what sits around it.
Storefronts
Lunar's Livewire starter kit gives a working shop to begin from. We start there for a Livewire project, or build on Inertia, Blade or a separate front end, depending on what your team already maintains.
Cart and order pipelines
Validation, tax and shipping run as pipelines set in config/lunar/cart.php and orders.php. Custom pricing or stock rules usually become a pipeline step, which keeps them out of controllers and easy to test.
Payment drivers
Lunar registers drivers with Payments::extend(), and each implements authorise, capture and refund. Stripe and PayPal add-ons exist, and an offline driver ships with it. For another provider, we write the driver and test its refund paths.
Admin extensions
The panel's pages, resources and relation managers extend through Filament. Staff tools that belong beside products and orders can go there, rather than in a second admin area.
When Lunar is the right choice, and when it is not
Lunar is a strong fit for one kind of project, and more work than it is worth for others.
A good fit when
- You already have a Laravel application, and selling needs to live inside it.
- Your team knows Laravel and would rather write code than configure a platform.
- You sell in several channels or currencies, with rules a packaged store would fight.
A poor fit when
- You want a store running quickly, with a theme and no custom development.
- You have no Laravel developers, and do not plan to have any.
- You expect a marketplace of plug-in apps for non-developers.
How Lunar projects run
The early work is deciding where Lunar stops and your application starts.
Fit check
We look at your Laravel and PHP versions, your users table and what you already have, then at whether Lunar's models fit your catalogue.
Data and pipeline design
Attributes, channels, currencies and any custom pipeline steps are agreed in writing, along with the scope and price.
Build with tests
Storefront and pipelines are built on staging, with tests around pricing and tax, since a mistake there costs real money. Payment drivers run against the provider's test mode.
Launch and upkeep
After release, Lunar, Laravel and Filament all need updating together. We can hand that to your team with notes, or stay on it.
Named projects and how we engage
No Lunar projects are named on this page. Most of our work is delivered under NDA, so many projects cannot be named.
Lunar work usually fits developers working with your team, because it sits inside your application, though a defined storefront can be a fixed scope. We are an engineering team in India with 3–5 hours of overlap with the UK and Europe; US calls by appointment.
Lunar questions
Does Lunar have a REST or GraphQL API?
Its documentation says there is no external API to call: your Laravel code uses the package directly. If you need one for a separate front end or a mobile app, it gets built in your application, which means you decide exactly what it exposes.
Can we add Lunar to our existing Laravel application?
That is what it is designed for. Check first that your application meets the requirements: for Lunar 1.5, PHP 8.3 or later and Laravel 12 or 13. Older applications may need upgrading first, and we also do Laravel upgrades.
How does Lunar compare with Bagisto?
Bagisto gives you a whole application, with a storefront and admin. Lunar gives you the commerce engine and an admin, and leaves the storefront to you. Pick Lunar if your Laravel application already exists or your front end has to be your own.
Is upgrading Lunar difficult?
It depends on how far the admin was customised. Lunar 1.5 moved to Filament 4, so custom Filament code needs checking. Pipeline steps and payment drivers should change less, and tests around them make the upgrade safer.
Related services
Tell us about your Lunar project
Tell us whether a Laravel application already exists, its version, and what you need to sell. We will say whether Lunar fits, and where the work would be.
We reply within one business day (IST).