krutyosila / wallet
Laravel 最小化钱包插件
2.1
2020-12-11 22:09 UTC
Requires
- php: ^7.3|^8.0
README
Laravel 简单钱包
安装
composer require krutyosila/wallet
config/app.php
'providers' => [
...
\Krutyosila\Wallet\WalletServiceProvider
...
];
php artisan vendor:publish --tag=wallet-migrations
用法
将 WalletTrait 添加到 Users 模型
use Krutyosila\Wallet\Traits\WalletTrait
class User exteds Model
{
use WalletTrait;
...
RegisterController.php
protected function create(array $data)
{
$user = User::create([
'name' => $data['name'],
'email' => $data['email'],
'password' => Hash::make($data['password']),
]);
$user->wallet()->create();
return $user;
}
添加
$intermediary = 'Bank';
$amount = 10.50;
$user->deposit($intermediary, $amount);
//or
$user->withdraw($intermediary, $amount);
元数据
$intermediary = 'Bank';
$amount = 10.50;
$meta = [
'hello' => 'world',
];
$user->deposit($intermediary, $amount, $meta);
//or
$user->withdraw($intermediary, $amount, $meta);
已确认
$intermediary = 'Bank';
$amount = 10.50;
$meta = [
'hello' => 'world',
];
$confirmed = false;
$user->deposit($intermediary, $amount, $meta, $confirmed);
//or
$user->withdraw($intermediary, $amount, $meta, $confirmed);
确认交易
$transaction = $user->transactions()->where('confirmed',0)->first();
$user->confirm($transaction);
详细信息
// User transactions
$user->transactions;
// User Wallet
$user->wallet;
// User Balance
$user->wallet->balance;