1. Go to this page and download the library: Download smskin/laravel-billing 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/ */
smskin / laravel-billing example snippets
namespace App\Console\Commands;
use SMSkin\Billing\Contracts\Billingable;
use SMSkin\Billing\Traits\BillingableTrait;
class User1 implements Billingable
{
use BillingableTrait;
/**
* Object subsystem
* @return string
*/
function getBillingSubsystem(): string
{
return 'internal';
}
/**
* Object type
* @return string
*/
function getBillingType(): string
{
return 'user';
}
/**
* Object identity
* @return string
*/
function getBillingId(): string
{
return 1;
}
}
$user1 = new User1;
$balance = $user1->getBalance();
$account1 = new User1Own;
$account2 = new User1Card;
$balances = (new Billing)->getBalances(collect([$account1, $account2]));
$user1 = new User1Own();
(new Billing())->increaseBalance(Str::uuid(), $user1, 100);
$user1 = new User1Own();
(new Billing())->increaseBalanceAsync(Str::uuid(), $user1, 100);
$user1 = new User1Own();
(new Billing())->decreaseBalance(Str::uuid(), $user1, 100);
$user1 = new User1Own();
(new Billing())->decreaseBalanceAsync(Str::uuid(), $user1, 100);
$user1 = new User1();
$user2 = new User2();
(new Billing())->transfer(Str::uuid(), $user1, $user2, 100);
$user1 = new User1();
$user2 = new User2();
$user3 = new User3();
(new Billing())
->transferToMultipleRecipients(
$user1,
collect([
(new Payment())
->setOperationId(\Str::uuid())
->setRecipient($user2)
->setAmount(50),
(new Payment())
->setOperationId(Str::uuid())
->setRecipient($user3)
->setAmount(170)
])
);
$report = (new Billing)->createOperationsReport(1, 25);