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 Wallet Laravel Package

depsimon/laravel-wallet

A flexible wallet package for Laravel that lets Eloquent models hold balances and track transactions. Add credits and debits safely, manage multiple wallets and currencies, and keep an auditable ledger through a simple, Laravel-friendly API.

Deep Wiki
Context7

Product Decisions This Supports

  • Whether to ship a wallet/credits feature at all. The package defines the smallest credible wallet model — a per-user balance plus a transaction log — which is enough to spec an MVP and test demand before committing engineering budget to a ledger service.
  • Build vs. buy vs. fork. It gives a concrete reference cost for the "buy" option: one composer dependency versus roughly 1–2 sprints for schema design, balance mutation logic, and history views. The archived status reframes this as "fork and own" rather than "adopt."
  • Stored-value vs. real-money posture. The design is a simple balance column, not a double-entry ledger. That directly informs the product decision to launch as non-redeemable credits (loyalty points, referral bonuses, API/usage credits, in-app currency, store credit) rather than cash-equivalent balances — a distinction that carries regulatory weight (KYC/AML, money transmission, escheatment, VAT on stored value).
  • Refund and goodwill policy mechanics. Supports deciding whether refunds land as wallet credit (instant, cheap, keeps GMV on-platform) versus card reversal — the package makes the credit path a one-day feature rather than a payments project.
  • Transaction taxonomy and reporting requirements. Because it stores a flat transaction history without typed, reversible entries, it forces an early decision on what finance/support actually need: reason codes, idempotency keys, reversal pairs, and reconciliation exports. Those become acceptance criteria regardless of implementation.
  • Roadmap sequencing for monetization features. Prepaid balances, tipping, gift cards, subscriptions-with-credits, and marketplace seller payouts all depend on the same primitive. Validating the primitive cheaply de-risks the whole cluster.
  • Concurrency and integrity requirements. A mutable balance invites race conditions under load; surfacing that early sets the bar (row locking, append-only entries, idempotent operations) that any in-house build must meet.
  • Migration cost estimation. Choosing to prototype against this package produces an honest number for what "productionizing" costs, which is the input to the next build-vs-buy review.

When to Consider This Package

Consider it when all of the following hold:

  • You are on, or can pin to, a Laravel version contemporary with its 2020 release (Laravel 5.8–6.x era); expect to do compatibility work on anything newer.
  • The wallet is product credit, not custodial money — no cash-out, no regulatory surface, no user-owned funds.
  • Volumes are low and operations are single-currency; concurrency is not a first-order concern.
  • The goal is a prototype, internal tool, demo, or spike with a defined sunset, not a committed production dependency.
  • You are explicitly willing to fork it in-house and accept full maintenance and security-patch ownership.
  • You need the model, not the library: it is most valuable as a blueprint for your own schema and service layer.

Look elsewhere when:

  • You need a maintained, security-patched dependency. Archived since 2020 with no releases means no CVE response, no framework upgrades, and no upstream fixes — a supply-chain and audit finding in most reviews.
  • Money is redeemable or user-owned; you need a double-entry, append-only ledger with reconciliation, idempotency, and audit trails (evaluate dedicated ledger/accounting services or a purpose-built internal service).
  • Requirements include multi-currency, multi-wallet, holds/authorizations, partial captures, payouts, or per-transaction metadata — none of which a simple balance-plus-transactions design accommodates cleanly.
  • You expect write contention on a single balance row (marketplaces, high-frequency usage credits, gaming economies).
  • Finance or compliance will ask for immutable history, reversal semantics, and reporting exports — retrofitting these onto a flat transaction table typically costs more than starting correctly.
  • Your platform is Laravel 9/10/11 and you have no appetite for owning a modernized fork.

How to Pitch It (Stakeholders)

To executives: A wallet/credits capability unlocks refunds-as-credit, loyalty and referral rewards, prepaid balances, and usage-based credits — the mechanics behind most retention and monetization experiments on our roadmap. This particular package is a 95-star MIT-licensed Laravel library, unmaintained and archived since 2020. My recommendation is not to ship it as a dependency, but to use it as the reference design for a one-sprint prototype that lets us validate demand at near-zero cost before we fund a proper ledger. The cheap experiment now buys us a defensible build decision later, and it keeps us clear of the regulatory overhead that comes with holding real customer money.

To engineering: Treat it as a specification, not a dependency. It gives us a proven minimal shape — a HasWallet trait, a balance, and a transaction log on the User model — which is a useful starting skeleton. It does not give us concurrency safety on balance mutations, idempotent or reversible entries, multi-currency, or any framework support past the Laravel 6 era. Proposal: spend a short spike forking the schema and reimplementing the mutation layer with row-level locking and an append-only transaction table, scoped to non-redeemable credits only. If we later need custodial balances, that is a separate build with a double-entry ledger and finance sign-off — and we will have the prototype to prove the demand case first.

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.
xiloryx/log-collector
a21ns1g4ts/filament-stripe
la-php/laravel-admin
artisan-build/community-prompts
vleroy/smart
ayles-software/laravel-australian-public-holidays
cboxdk/laravel-id-spatie
cboxdk/laravel-id-billing
cboxdk/laravel-id-billing-bridge
simple-as-fuck/php-performance-log
hsluv/hsluv
seampact/codegen
seampact/hooks
seampact/ir
mehedimi/laravel-amp-mail
happones/laravel-vue-i18n-generator
jwerd/inertia-table
siberfx/flysystem-wasabi
hollyit/token-replace
ippanelcom/laravel-sdk