Wallet logo Wallet

Create a wallet and use it

Virtual wallets can be any number. The main thing that they did not match the slug.


User Model

Add the HasWallet, HasWallets trait's and Wallet interface to model.

use Bavix\Wallet\Traits\HasWallet;
use Bavix\Wallet\Traits\HasWallets;
use Bavix\Wallet\Interfaces\Wallet;

class User extends Model implements Wallet
{
    use HasWallet, HasWallets;
}

Create a wallet

Find user:

$user = User::first(); 

As the user uses HasWallet, he will have balance property. Check the user's balance.

$user->balance; // int(0)

It is the balance of the wallet by default. Create a new wallet.

$wallet = $user->createWallet([
    'name' => 'New Wallet',
    'slug' => 'my-wallet',
]);

$wallet->deposit(100);
$wallet->balance; // int(100)

$user->deposit(10); 
$user->balance; // int(10)

How to get the right wallet?

$myWallet = $user->getWallet('my-wallet');
$myWallet->balance; // int(100)

How to get the default wallet?

$wallet = $user->wallet;
$wallet->balance; // int(10)

It worked!