A simple wallet implementation for Laravel.
- A Simple Wallet Implementation for Laravel - Laravel News
- Interfaces and Traits: How to Use Them in Laravel Packages - Laravel Daily
- Laravel Virtual Wallet with Coupons: 3 Packages Demo - Laravel Daily
You can install the package via composer:
composer require stephenjude/laravel-wallet
You can publish and run the migrations with:
php artisan vendor:publish --tag="wallet-migrations"
php artisan migrate
use Stephenjude\Wallet\Interfaces\Wallet;
use Stephenjude\Wallet\Traits\HasWallet;
class User extends Authenticatable implements Wallet
{
use HasWallet;
}
$user = User::first();
$user->deposit(200.22); // returns the wallet balance: 200.22
$user->deposit(200); // returns the wallet balance: 400.22
$user->withdraw(200); // returns the wallet balance: 200.22
$user->withdraw(0.22); // returns the wallet balance: 200
$user->balance
$user->wallet_balance
The InvalidAmountException
is thrown whenever the deposit or withdrawal amount is a negative numeric value or zero.
The InsufficientFundException
is thrown whenever the withdrawal amount is less than the user's wallet balance.
If you are looking for somthing much bigger and elaborate checkout Bavix Laravel Wallet.
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.