krunaldodiya / wallet
laravel wallet
1.1.3
2023-06-27 11:02 UTC
Requires
- php: ^8.1
- illuminate/contracts: ^10.0
Requires (Dev)
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^10.1
README
在几个项目中,我需要实现虚拟货币。用户会用Stripe购买积分包,然后在应用中用这些积分兑换服务或商品。此包是对此概念的小型简单实现,并留有自定义空间。
安装
使用composer安装包
composer require krunaldodiya/wallet
运行迁移
使用以下artisan命令发布迁移
php artisan vendor:publish --provider="KD\Wallet\WalletServiceProvider" --tag=migrations
配置
可以使用以下artisan命令发布配置文件
php artisan vendor:publish --provider="KD\Wallet\WalletServiceProvider" --tag=config
这将合并wallet.php
配置文件,您可以在其中指定自定义的用户、钱包和交易类。
使用方法
将HasWallet
特性添加到您的用户模型中。
use KD\Wallet\Traits\HasWallet; class User extends Model { use HasWallet; ... }
然后您可以从用户模型中轻松进行交易。
$user = User::find(1); $user->balance; // 0 $transaction = $user->createTransaction(100, 'deposit', ['description' => 'transaction description']) $user->deposit($transaction->transaction_id); $user->balance; // 100 $transaction = $user->createTransaction(50, 'withdraw', ['description' => 'transaction description']) $user->withdraw($transaction->transaction_id); $user->balance; // 50 $transaction = $user->createTransaction(200, 'withdraw', ['description' => 'transaction description']) $user->forceWithdraw($transaction->transaction_id); $user->balance; // -150
安全
如果您发现任何与安全相关的问题,请通过电子邮件发送至kunal.dodiya1@gmail.com,而不是使用问题跟踪器。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件以获取更多信息。