aniket/laravel-wallet-system
Composer 安装命令:
composer require aniket/laravel-wallet-system
包简介
A Laravel Wallet System for managing user balances, deposits, withdrawals, and transactions in Laravel applications.
README 文档
README
A Laravel Wallet System package for managing user balances, deposits, withdrawals, credits, debits, and refunds inside any Laravel application.
This package makes it simple to implement a wallet system in Laravel for e-commerce, SaaS platforms, financial apps, or any system requiring digital wallet functionality.
🚀 Features of Laravel Wallet
- 💳 Credit, debit, and refund support out of the box
- 📄 Tracks all transactions and transaction history
- 🔐 Uses Laravel Cache locks for safe concurrent updates
- ⚙️ Fully configurable (tables, balance column, lock duration)
- 🧱 Extendable schema: modify the
transactionstable if needed - 💾 Works with relational & non-relational databases
- 🧪 Easy integration with existing
userstable
- 💳 Credit, debit, and refund support
- 📄 Tracks transactions and transaction history
- 🔐 Uses Laravel Cache locks for safe concurrent updates
- ⚙️ Fully configurable
- 🧱 Extendable schema: you can modify the
transactionstable - 💾 Compatible with relational and non-relational DBs
- 🧪 Easy integration with existing
userstable
📦 Installation
composer require aniket/laravel-wallet-system
⚙️ Wallet Configuration
You can edit the configuration in config/wallet.php:
return [ 'users_table' => 'users', // Table name for users 'wallet_balance_column' => 'wallet_balance',// Column for storing wallet balance 'lock_duration' => 10, // Cache lock duration in seconds 'default_balance' => 0.00, // Default balance for new users ];
⚙️ Configuration Options
-
users_table
Specify your users table name. -
wallet_balance_column
Column in the users table for wallet balance. -
lock_duration
Time in seconds to lock a wallet during updates (prevents race conditions). -
default_balance
Initial balance for new users.
👨💻 Usage Example
For migrating the tables.
php artisan migrate
In User.php:
use Aniket\LaravelWalletSystem\Traits\HasWallet; class User extends Authenticatable { use HasWallet; }
💳 Wallet Operations
✅ Credit Wallet
Credits money to the user's wallet.
$user = User::find(1); $user->credit(1000, 'Signup Bonus');
🛒 Debit Wallet
Debits money from the user's wallet if sufficient balance is available.
$user = User::find(1); $user->debit(250, 'Purchase');
💸 Refund Wallet
Refunds money back into the wallet (acts like a credit, but marked with metadata).
$user = User::find(1); $user->refund(100, 'Failed order refund');
🚀 Why Use Laravel Wallet System?
- Simplifies wallet implementation in Laravel applications
- Prevents race conditions with cache-based locks
- Easy setup with migrations & configuration
- Works seamlessly for:
- Multi-vendor systems
- Fintech applications
- E-commerce platforms
- Gaming credits
- Loyalty programs
🔗 Links
aniket/laravel-wallet-system 适用场景与选型建议
aniket/laravel-wallet-system 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 82 次下载、GitHub Stars 达 5, 最近一次更新时间为 2025 年 07 月 08 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 aniket/laravel-wallet-system 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 aniket/laravel-wallet-system 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 82
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 5
- 点击次数: 29
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-07-08