theamostafa / laravel-wallet
This is my package laravel-wallet
1.0.2
2024-02-25 13:31 UTC
Requires
- php: 8.*
- illuminate/contracts: ^8|^9|^10
- lorisleiva/laravel-actions: ^1|^2
- spatie/laravel-package-tools: ^1
Requires (Dev)
- orchestra/testbench: ^8.0
This package is not auto-updated.
Last update: 2024-04-23 12:34:05 UTC
README
Light package help you to integrate wallet functionality into your laravel application
Installation
You can install the package via composer:
composer require theamostafa/laravel-wallet
You can publish and run the migrations with:
php artisan vendor:publish --tag="wallet-migrations"
php artisan migrate
Usage
include HasWallet trait into your model to apply wallet functions
use Theamostafa\Wallet\Traits\HasWallet; class User extends Model { use HasWallet; }
Now we make transactions.
$user = User::first(); $user->balance; // 0 $user->deposit(10); $user->balance; // 10 $user->withdraw(1); $user->balance; // 9
You can also add metadata for transaction
$user = User::first(); $transaction = $user->withdraw( amount: 1.33, meta: [ 'description' => "Refund from order #14" ] ); $transaction->description // Refund from order #14
Fetch all model transactions.
$user = User::first(); $user->transactions()->latest()->paginate();
Testing
composer test
Credits
Features coming with version 2
- Model may be having multiple wallet
- Wallet may be acted as payment gateway and can purchase products
License
The MIT License (MIT). Please see License File for more information.