PayHere — це популярна платіжна система в Шрі-Ланці. Плагін Laravel PayHere забезпечує безшовну інтеграцію PayHere у додатках Laravel, дозволяючи розробникам легко користуватися всіма API PayHere. Цей пакет підтримує різні типи платежів, що робить його важливим інструментом для будь-кого, хто хоче поліпшити платіжні можливості свого застосунку
PayHereCustomer
у вашій моделі User для полегшення платежів від автентифікованих користувачівBillable
, який можна використовувати у вашій моделі User, містить методи для виконання стандартних billing завданьВстановіть PayHere через Composer:
composer require laravel-payhere/laravel-payhere
Після цього виконайте команду для публікації ресурсів і міграцій:
php artisan payhere:install
Якщо ви плануєте використовувати панель PayHere, запустіть команду для публікації ресурсів Filament:
php artisan filament:assets
Переконайтеся, що у вас є обліковий запис PayHere, з якого ви отримаєте відповідні API ключі та Merchant ID, і додайте їх до файлу .env
:
PAYHERE_MERCHANT_ID=ваш-payhere-merchant-id
PAYHERE_MERCHANT_SECRET=ваш-payhere-merchant-secret
PAYHERE_APP_ID=ваш-payhere-app-id
PAYHERE_APP_SECRET=ваш-payhere-app-secret
Також наявні додаткові змінні середовища для налаштування валюти за замовчуванням, URL-адреси сповіщень та повернення, що дозволяє більш гнучко налаштувати інтеграцію з платіжним шлюзом
Ось приклад базового маршруту для оформлення замовлення:
use App\Http\Controllers\Checkout;
Route::get('/checkout', Checkout::class);
Відповідний контролер може виглядати так:
<?php
namespace App\Http\Controllers;
use Illuminate\Routing\Controller;
use PayHere\PayHere;
class Checkout extends Controller
{
public function __invoke()
{
return PayHere::builder()
->guest()
->title("Bold 'LN' Logo Retro Trucker Hat")
->amount(25)
->checkout();
}
}
Коли відвідують цей маршрут, користувача перенаправляють до PayHere для завершення платежу. Після цього його повернуть на ваш сайт або за визначеною вами URL-адресою повернення, що вказується у змінній середовища PAYHERE_RETURN_URL
у файлі .env
Якщо ви бажаєте реалізувати офлайн-процес оформлення, Laravel PayHere дозволяє підключити JavaScript SDK PayHere у вашому шаблоні Blade, використовуючи директиву @payhereJS
перед закриваючим тегом </head>
вашого запиту. Також доступний Blade-компонент для додавання кнопок платежу. Наприклад:
<x-payhere::button
:order="PayHere\PayHere::builder()->guest()->amount(100)->getOrder()"
class="px-8 py-4"
>
Купити зараз
</x-payhere::button>
Дізнайтеся більше про цей пакет та його можливості в офіційній документації, а також перегляньте код на GitHub