1. Go to this page and download the library: Download laraditz/wallet library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
laraditz / wallet example snippets
use Laraditz\Wallet\Traits\HasWallets;
class User extends Authenticatable
{
use HasWallets;
...
}
// Simply use below code to create a default wallet types
app('wallet')->createWalletType([
'name' => 'Default',
'currency_code' => 'POINTS',
'currency_symbol' => 'PTS',
]);
use Laraditz\Wallet\Enums\ActiveStatus;
use Laraditz\Wallet\Enums\Placement;
app('wallet')->createWalletType([
'name' => 'New Wallet', // will produce new-wallet slug
'description' => 'This is my new wallet',
'currency_code' => 'POINTS',
'currency_symbol' => 'PTS',
'default_scale' => 0, // example, EUR and USD have 2 decimal places, while JPY has 0
'decimal_separator' => '.', // default is using dot (.)
'thousand_separator' => ',', // default is using comma (,)
'code_placement' => Placement::Right, // default placement is left
'symbol_placement' => Placement::Left, // default placement is left
'status' => ActiveStatus::Active, // default status is active
'start_at' => now(), // you can also set when the wallet can start be use
'end_at' => now()->addDays(3), // or when it ends
]);
$userOne = User::find(1);
$walletOne = $userOne->getWallet(); // get default wallet for userOne
// deposit
$deposit = $walletOne->deposit("100"); // deposit amount of 100 into default wallet with processing status
$deposit->markAsCompleted(); // change the status from processing to completed
$walletOne->depositNow("100"); // Use depositNow() so that the transaction completed immediately
// withdraw
$withdraw = $walletOne->withdraw("100"); // withdraw amount of 100 into default wallet with processing status
$withdraw->markAsCompleted(); // change the status from processing to completed
$walletOne->withdrawNow("100"); // Use withdrawNow() so that the transaction completed immediately
$userTwo = User::find(2);
$walletTwo = $userTwo->getWallet(); // get default wallet for userTwo
// transfer amount from userOne to userTwo
$transfer = $walletOne->transfer($walletTwo, "100");
$transfer->markAsCompleted(); // change the status from processing to completed
$walletOne->transferNow($walletTwo, "100"); // Use transferNow() so that the transaction completed immediately
// get user transactions
$allTransactions = $userOne->transactions;
$userThree = User::find(3);
$userThree->createWallet(
slug: 'new-wallet', // specify the wallet slug
values: [
'address' => '0xf6A32f757196ac753A354F145F408bF88BEacf77',
'description' => 'This is my crypto wallet',
]
);
// specify the slug name to get the new wallet
$walletThree = $userThree->getWallet('new-wallet');
// to update description or/and metadata to the wallet
$walletThree->update([
'description' => 'This is a new description',
'metadata' => [
'user' => 'Farhan'
]
]);
bash
php artisan migrate
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.