承接 aniket/laravel-wallet-system 相关项目开发

从需求分析到上线部署,全程专人跟进,保证项目质量与交付效率

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

aniket/laravel-wallet-system

最新稳定版本:v1.0.0

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.

Packagist License: MIT

🚀 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 transactions table if needed
  • 💾 Works with relational & non-relational databases
  • 🧪 Easy integration with existing users table
  • 💳 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 transactions table
  • 💾 Compatible with relational and non-relational DBs
  • 🧪 Easy integration with existing users table

📦 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

统计信息

  • 总下载量: 80
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 5
  • 点击次数: 0
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 5
  • Watchers: 0
  • Forks: 2
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-07-08