ufo-engineering / laravel-wallet
适用于您应用的易于使用的虚拟钱包
v2.0.3
2018-12-03 16:29 UTC
Requires
- php: ^7.0
- illuminate/database: ~5.6
README
变更
- 修改迁移。PrimaryKey(int) -> (uuid)
- 添加数据库事务
- 添加 UfoEngineering\Wallet\Exception\FailedWalletTransactionException
- UfoEngineering\Wallet\HasWallet 的 withdraw() 和 deposit() 返回 boolean
Laravel 钱包
在几个项目中,我需要实现虚拟货币。用户会用 Stripe 购买积分包,然后在应用中使用它们来交换服务或商品。本包是这个概念的简单实现,并留有自定义的空间。
安装
使用 composer 安装包
composer require ufo-engineering/laravel-wallet
运行迁移
使用以下 artisan 命令发布迁移
php artisan vendor:publish --provider="UfoEngineering\Wallet\WalletServiceProvider" --tag=migrations
配置
您可以使用以下 artisan 命令发布配置文件
php artisan vendor:publish --provider="UfoEngineering\Wallet\WalletServiceProvider" --tag=config
这将合并 wallet.php
配置文件,您可以在其中指定自定义的 Users、Wallets 和 Transactions 类。
用法
将 HasWallet
特性添加到您的 User 模型中。
use UfoEngineering\Wallet\HasWallet; class User extends Model { use HasWallet; ... }
然后您可以从用户模型中轻松进行交易。
$user = User::find(1); $user->balance; // 0 $user->deposit(100); $user->balance; // 100 $user->withdraw(50); $user->balance; // 50 $user->forceWithdraw(200); $user->balance; // -150
您可以根据需要轻松向交易添加元信息。
$user = User::find(1); $user->deposit(100, 'deposit', ['stripe_source' => 'ch_BEV2Iih1yzbf4G3HNsfOQ07h', 'description' => 'Deposit of 100 credits from Stripe Payment']); $user->withdraw(10, 'withdraw', ['description' => 'Purchase of Item #1234']);
安全
如果您发现任何与安全相关的问题,请通过电子邮件 simon@webartisan.be 联系,而不是使用问题跟踪器。
致谢
许可
MIT 许可证 (MIT)。请参阅 许可文件 获取更多信息。