avpet979 / payment-laravel
Invoice Laravel SDK
0.0.4
2024-10-30 04:23 UTC
Requires
- php: >=8.0
- laravel/framework: >=10.0
README
Установка
Установите пакет через Composer:
composer require invoice-llc/payment-laravel:dev-master
Создайте файл invoice.php в папке config со следующим содержанием:
<?php return [ "api_key" => env('INVOICE_API_KEY',"Ваш API ключ"), "login" => env('INVOICE_LOGIN',"логин от личного кабинета Invoice"), "default_terminal_name" => env('INVOICE_TERMINAL_NAME',"Название терминала"), "terminal_id" => env('INVOICE_TERMINAL_ID', "terminal_id"), ];
Создание контроллера уведомлений
1.Создайте контроллер и унаследуйте класс AbstractNotificationController
<?php class InvoiceController extends AbstractNotificationController { //orderID - ID заказа в вашей системе function onPay($orderId, $amount) { //При успешной оплате } function onFail($orderId) { //При неудачной оплате } function onRefund($orderId) { //При возврате средств } }
2.В личном кабинете Invoice(Настройки->Уведомления->Добавить) добавьте уведомление с типом WebHook и адресом, который вы задали в конфиге(например: %url%/notify)
Создание платежей
<?php use \invoice\payment\InvoicePaymentManager; $invoice = new InvoicePaymentManager(); $items = [ //Название, цена за 1шт, кол-во, итоговая цена new ITEM('Какой-то предмет', 110 , 2, 220) ]; //ID заказа, цена, товары $payment = $invoice->createPayment('ID заказа в вашей системе', 220, $items); echo($payment->payment_url);
Получение статуса платежа
<?php $invoice = new InvoicePaymentManager(); $payment = $invoice->getPayment('ID заказа в вашей системе'); echo($payment->payment_url);
Создание возврата
<?php $invoice = new InvoicePaymentManager(); //ID заказа в вашей системе, сумма возврата, причина $refundInfo = $invoice->createRefund('ID заказа в вашей системе', 10, 'Причина');