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, 'Причина');