Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Laravel Shopping Cart Laravel Package

overtrue/laravel-shopping-cart

A lightweight shopping cart package for Laravel with multiple cart instances, item quantities, price calculations, conditions, and flexible storage. Easy to integrate into simple e-commerce workflows and designed for clean, straightforward cart management.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Build vs. buy for cart plumbing. This package removes the most repetitive, low-differentiation layer of an e-commerce build: add/update/remove/clear items, quantity reconciliation, per-user cart separation, and subtotal/total math. It lets a small team ship a first transactional flow without spending a sprint on cart CRUD.
  • MVP and time-to-market scoping. Best framed as an accelerator for a v1 storefront, internal ordering tool, or proof-of-concept where the cart is not itself a competitive differentiator. It is a schedule decision (ship in days, not weeks), not an architecture decision.
  • Feature/roadmap sequencing. The pluggable conditions concept (tax, shipping, discount line items) maps cleanly onto a roadmap where pricing rules come later. A PM can commit to "flat-rate shipping and a single tax rule in v1" and treat promotions/stacked discounts as a post-launch condition-set extension.
  • Use-case fit. Appropriate for session-based, single-currency, low-SKU catalogs with straightforward pricing. Inappropriate as the basis for a roadmap involving multi-currency, complex promotions, inventory reservation, or checkout-as-a-service.
  • A decision against a dependency. Because the package is archived (last release 2019), the real product decision it surfaces is usually "adopt as a reference implementation, not a runtime dependency." A PM may approve the API pattern and internalize the domain model while rejecting the package itself as a supported dependency.

When to Consider This Package

Consider it when all of the following hold:

  • The cart is session-scoped and does not need to survive session expiry, device handoff, or anonymous-to-authenticated merge in a rigorous way.
  • Pricing is simple and statically configurable — one or two tax rules, flat or single-carrier shipping, discounts applied at the cart level rather than per-line with stacking rules.
  • The team is Laravel-native and values the facade/service-provider ergonomics and a small surface area over feature breadth.
  • You are prototyping, validating demand, or building an internal tool, and the cost of replacing the cart layer later is acceptable.
  • You have capacity to vendor the code or fork it and own it — the package is archived, so no upstream fixes, no Laravel-version compatibility guarantees, no security patching.

Look elsewhere (or build in-house / buy a commerce platform) when:

  • You need multi-currency, price lists, B2B tiered pricing, or per-line promotion engines — the conditions model will fight you.
  • You need inventory reservation, cart persistence across devices, or server-side cart APIs for a mobile client.
  • You require maintained dependencies with a current Laravel support matrix — this is the disqualifier for most production commitments.
  • You need auditability or tax compliance (e.g., EU VAT, US sales-tax nexus) — you will be integrating a tax service and the package's totals will need to delegate, not calculate.
  • Your stack is not Laravel, or is Laravel on a version outside the package's supported range.

Adoption guidance: treat this as pattern, not platform. Copy the fluent API and conditions idea into a thin internal CartService behind your own interface, keeping the domain isolated so a future switch to a commerce platform is a swap, not a rewrite.

How to Pitch It (Stakeholders)

To executives: This is a small, free, MIT-licensed building block that removes roughly a sprint of commodity work from a first storefront — item handling and total calculation. It is a scheduling win, not a strategic one: it does not differentiate the product and it is no longer maintained upstream. Recommendation: use it to prototype and to validate the buying flow fast, but budget for owning or replacing the cart before any commitment to scale, multi-currency, or complex promotions.

To engineering: Clean Laravel idioms — a Cart facade, session-backed per-user carts, and a conditions hook for tax/shipping/discount line items. The API is worth copying. The dependency is not: last release was 2019 and the repo is archived, so there is no compatibility or security backstop. Proposed approach: wrap it behind our own cart interface so it is swappable, and plan to vendor or reimplement the ~few hundred lines we actually use. That keeps the velocity gain and removes the maintenance liability.

To design/ops: Expect simple, cart-level pricing behavior in v1 — one tax rule and flat shipping. Complex per-item discounts, stacking, and multi-currency are out of scope until we replace or extend this layer.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
skyraptor/chatter
edlugz/sasapay
abbasudo/artisan-route
mirvan/ippanel
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource