Laravel E-Commerce - Open Source Top 4
Tags: laravel, ecommerce, shop, framework
Published: 2019-12-12 18:54:34

**Laravel eCommerce** describes online shop, marketplace and B2B eCommerce solutions based on the Laravel PHP framework. They can be standalone applications, headless API microservices or packages that can be installed in any Laravel application to add eCommerce features to existing setups.

Laravel is the **most popular PHP framework** and that for good reasons:

- Easy to customize and use
- Really great community
- Fast and scalable

These reasons make Laravel a perfect choice for **building online shops and eCommerce applications**. For our favorite PHP framework, e-commere packages for different purposes exist. Here's a list of the top Laravel eCommerce packages in their category:

-  **[Aimeos](https://aimeos.org/Laravel)**  (eCommerce framework, headless API & shop system)
-  **[Bagisto](https://bagisto.com)**  (shop system)
-  **[GetCandy](https://getcandy.io)**  (API only)
-  **[LaravelShoppingcart](https://github.com/Crinsane/LaravelShoppingcart)**  (shopping cart)

What packages is best may depend on your own requirements, so let’s have a look which suits best for each case.

## Aimeos

![Aimeos](https://miro.medium.com/max/1125/1*WRpLrfLcy2th57KgJlebrg.png)

Aimeos is the **most liked** eCommerce framework for Laravel and is build for being as **extensible** as the Laravel PHP framework itself and integrates into existing Laravel 6/7/8 applications. It’s **feature rich** and you can **adapt everything** to your needs regardless of what your requirements are.

**Homepage:**  [https://aimeos.org/Laravel](https://aimeos.org/Laravel)

**Supports:** Laravel 6.x LTS, 7.x, 8.x

**Positive:**
- Supports all current Laravel versions
- Multi channel, multi vendor and multi inventory support
- Has multi-tenant SaaS support including custom domains
- Ultra fast render times of 20ms and response times of 100ms
- Has virtual, configurable and custom products incl. bundles
- Sell every product as subscription with recurring payment
- Supports discount rules and vouchers
- 100+ payment gateways via Omnipay PHP library
- JSON REST API build on the jsonapi.org standard
- Extension to build own market places available
- Great documentation available

**Negative:**
- Learning curve due to its huge feature set and extensible architecture

## Bagisto

![Bagisto](https://miro.medium.com/max/1250/1*_GVJ29_sVzExQes0FOxrYg.png)

Bagisto is a **stand-alone** application that can't be integrated into already existing Laravel applications. It primarily targets **small business** and the middle east area with native **RTL (right-to-left) support**.

**Homepage:**  [https://bagisto.com](https://bagisto.com)

**Supports:** Laravel 7.x

**Positive:**
- Has configurable, group, bundle and virtual products
- Has multi channel and multi inventory support
- Supports discount rules
- JSON REST API build on jsonapi.org standard
- Extension to build own market places available
- Lots of videos from the company about Bagisto

**Negative:**
- Not suitable for existing Laravel applications
- No real multi-currency support (fixed conversion only)
- Almost all available payment integrations must be paid for
- ~100 tables incl. fixed structures that are hard to extend
- Requires ElasticSearch or Algolia for fast search
- CMS features are too simple for real use
- Limited documentation

## GetCandy

![GetCandy](https://miro.medium.com/max/1958/0*ps8ufspnvERxvv33.jpg)

GetCandy is a headless API package that offers a **REST API only**. There's also an **admin package** for managing products, customers and orders. **No front-end** is included because that you need to build on your own.

**Homepage:**  [https://getcandy.io](https://getcandy.io)

**Supports:** Laravel 5.7

**Positive:**
- Progressive web applications (PWA) backend
- Should scale because it requires ElasticSearch as storage (no MySQL)

**Negative:**
- Unsupported and outdated Laravel version
- No front-end as example available
- Very limited feature set
- Payment integrations are not available
- Slow development (weeks and months between commits)
- Limited documentation
- Still in alpha stage
- Future is uncertain at the moment

## LaravelShoppingcart (shopping cart)

A shopping cart package is **small, easy to use** and contains a **limited features**. The LaravelShoppingcart package consists of a cart/whishlist only and need to be integrated into an existing Laravel 5 application. You have to **implement products and checkout yourself**.

**Homepage:**  [https://github.com/Hardevine/LaravelShoppingcart](https://github.com/Hardevine/LaravelShoppingcart)

**Supports:** 5.x, 6.x, 7.x and 8.x

**Positive:**
- Only package that supports all Laravel versions since Laravel 5
- Easy to learn and relative easy to integrate
- If you already have products, it adds the cart features

**Negative:**
- Feature set is very limited 
- A checkout process isn't available
- Won't scale to higher volumes
- No example template is included
- Github account contains lots of unresolved issues
- No support for Laravel 5.8 and later

## Conclusion

**[Aimeos](https://aimeos.org/laravel-ecommerce-package)** is the top eCommerce framework for Laravel if you need a highly customizable solution that is able to scale. Bagisto offers a simple shop system based on Laravel if you start from a green field. LaravelShoppingcart is a good choice for a few products you need a cart for while GetCandy is promising if you want a PWA frontend only and build that on your own.

Let’s discuss your own experiences :-)