Віртуальний гаманець у Laravel

2
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 04 березня, 2026
Віртуальний гаманець Laravel – це простий у використанні пакет, який дозволяє ефективно керувати віртуальними гаманцями в рамках вашого проекту на Laravel. Дізнайтеся, як реалізувати підтримку кількох гаманців та зручно відстежувати транзакції у цій статті!

Laravel Virtual Wallet — це легкий пакет для Laravel, створений Ніраджем Сайні, який дозволяє управляти віртуальними гаманцями, підтримує різні типи гаманців і веде облік транзакцій. Пакет легко інтегрується з будь-якою моделлю користувача Laravel. Хоча він не обробляє платежі, користувачі можуть відстежувати віртуальні кошти у своєму гаманці після завершення оплати через інший процесор або використовувати віртуальну валюту в іграх.

# Основні функції

# Приклад використання

Встановіть пакет через Composer і запустіть міграції:

composer require haxneeraj/laravel-virtual-wallet
php artisan vendor:publish --provider="Haxneeraj\LaravelVirtualWallet\LaravelVirtualWalletServiceProvider"
php artisan migrate

Переконайтеся, що ваша модель User реалізує WalletInterface і використовує трейт HasVirtualWallet.

use Haxneeraj\LaravelVirtualWallet\Interfaces\WalletInterface;
use Haxneeraj\LaravelVirtualWallet\Traits\HasVirtualWallet;

class User extends Authenticatable implements WalletInterface
{
    use HasVirtualWallet;
}

Тепер ви можете створити гаманець:

$user->wallets()->create([
    'wallet_type' => 'main',
    'currency' => 'usd',
    'balance' => 0, // початковий баланс
    'currency_type' => 'fiat_currency',
    'status' => 'active'
]);

Нарешті, почніть робити внески або платежі у гаманець:

$paymentData = new PaymentData([
    'owner_type' => User::class,
    'owner_id' => $this->user->id,
    'txid' => '306f086a-c7ab-4c89-94b8-209653934aaf',
    'amount' => 150,
    'description' => 'Перший переказ з зовнішнього рахунку',
    'wallet_type' => 'main',
    'method' => 'automatic',
    'transaction_type' => 'deposit',
    'status' => 'approved',
    'currency' => 'usd',
    'currency_type' => 'fiat_currency'
]);
$user->deposit($paymentData);

Для платежу створіть подібний об'єкт PaymentData, змініть transaction_type на withdraw, а потім використовуйте метод pay().

Ви можете перевірити баланс у своєму гаманці за допомогою $user->getBalance('main') та перевірити наявність достатніх коштів перед здійсненням платежу з $user->hasSufficientBalance(50, 'main').

Дізнайтеся більше про цей пакет та перегляньте вихідний код на GitHub.

Популярні

Logomark Logotype

Claude Agent тепер інтегрований в AI Assistant для PhpStorm

Ви коли-небудь задумувалися, як полегшити свою роботу в Laravel? У нашій статті ми розглядаємо, як інтеграція Claude Code в PhpStorm може підвищити вашу продуктивність, спростивши процес написання коду та навчання нових розробників. Читайте далі, щоб дізнатися більше про переваги та функціональність цього потужного поєднання

Logomark Logotype

Використання штучного інтелекту для управління перекладами в Laravel

Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!

Logomark Logotype

Що нового в PHP 8.5

PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення