laravel wallet

1.1.3 2023-06-27 11:02 UTC

This package is auto-updated.

Last update: 2024-09-27 13:45:55 UTC


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)。请参阅许可证文件以获取更多信息。