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.
Досліджуйте нові можливості локалізації вашого Laravel-додатку з пакунками, які використовують штучний інтелект, такими як ChatGPT та Claude. Які рішення можуть спростити ваш процес перекладу та зробити його більш точним? Читайте далі, щоб дізнатися більше!
PHP 8.5 обіцяє безліч нових можливостей, таких як оператор Pipe, функції `array_first()` та `array_last()`, а також нове розширення URI. Чи готові ви дізнатися, як ці функції можуть спростити вашу розробку? Читайте далі, щоб дізнатися більше про ці захоплюючі нововведення
У сучасній веб-розробці аутентифікація є ключовою для захисту додатків і даних користувачів. Дізнайтеся, як модуль nuxt-sanctum-authentication спростить інтеграцію між Nuxt 3 та Laravel Sanctum, забезпечуючи надійний і зручний спосіб реалізації аутентифікації для вашого проєкту