Laravel Wallet предназначен для надежных и гибких транзакций и берет на себя сложную часть хранения транзакций в базе данных для точных расчетов. Он предоставляет интуитивно понятный API, который прост в использовании и понятен.
После того, как вы выполнили инструкции по настройке, вы можете настроить пользовательскую модель с помощью HasBalance
типажа:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use O21\LaravelWallet\Contracts\Payable;
use O21\LaravelWallet\Models\Concerns\HasBalance;
class User extends Model implements Payable
{
use HasBalance;
}
Вот несколько возможных команд, которые вы можете использовать для работы с балансом на модели. В следующих примерах и реализуют Payable
интерфейс с помощью типажа:
// Transfer money between sender and recipient
transfer(100, 'USD')->from($sender)->to($recipient)->commit();
// Deposit money into a recipient's account
deposit(100, 'USD')->to($recipient)->overcharge()->commit();
// Charge a user
charge(100, 'USD')->from($sender)->commit();
Этот пакет возник в результате того, $sender
что автор использовал его в частном порядке в проектах, отточил его и $recipient
теперь выпускает с HasBalance
открытым исходным кодом. Он включает в себя меры предосторожности для точности баланса и сложный механизм отката, предназначенный для отмены изменений.
Подробнее
Чтобы начать работу с этим пакетом, ознакомьтесь с документацией Laravel Wallet — этот пакет имеет открытый исходный код и доступен на GitHub. Документация также включает пример вывода средств, чтобы продемонстрировать лучшие практики работы с этим пакетом.