krutyosila/wallet

Laravel 最小化钱包插件

安装: 40

依赖者: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 0

类型:package

2.1 2020-12-11 22:09 UTC

This package is auto-updated.

Last update: 2024-09-12 06:01:52 UTC


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;