编程

在 Laravel 中使用 Pay Pocket 管理虚拟钱包

736 2024-01-05 23:39:00

Laravel 的 Pay Pocket 包提供了支付能力和日志。它不处理来自支付平台的付款,不过提供了虚拟金额的概念。

比方说,你想允许用户在钱包中赚取虚拟货币,或者在通过处理完成支付后向账户添加余额。例如,Fortnite 的 V-Bucks 就是一个在虚拟钱包中交换真实货币的例子,你可以在游戏的商店里消费。

你可以通过在模型中使用包的 ManagesWallet trait 跟踪钱包:

use HPWebdeveloper\LaravelPayPocket\Interfaces\WalletOperations;
use HPWebdeveloper\LaravelPayPocket\Traits\ManagesWallet;
 
class User extends Authenticatable implements WalletOperations
{
    use ManagesWallet;
}
 
// Deposit funds into 'wallet_1'
$user->deposit('wallet_1', 123.45);
 
// Deposit funds into 'wallet_2'
$user->deposit('wallet_2', 67.89);
 
// Pay the value using the combined balance available across all wallets
$user->pay(12.34);

此包支持创建货币并将其存入多个钱包。它还通过 wallet_logs 数据库表跟踪用户钱包中的所有交易。

最后,你也可以获取每个钱包的余额:

// Balance available in wallet_1
$user->getWalletBalanceByType('wallet_1');
 
// Balance available in wallet_2
$user->getWalletBalanceByType('wallet_2')

您可以了解有关此包的更多信息,获取完整的安装说明,并在 GitHub 上查看源代码