Looking to hire Laravel developers? Try LaraJobs

laravel-wallet maintained by theamostafa

Description
This is my package laravel-wallet
Author
Last update
2024/11/30 10:58 (dev-main)
License
Downloads
265

Comments
comments powered by Disqus

Laravel wallet

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.