Установите пакет через Composer:
composer require invoice-llc/payment-laravel:dev-master
Создайте файл invoice.php в папке config со следующим содержанием:
<?php
return [
"api_key" => "Ваш API ключ",
"login" => "логин от личного кабинета Invoice",
"default_terminal_name" => "Название терминала"
];
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
$invoice = new InvoicePaymentManager();
$items = [
//Название, цена за 1шт, кол-во, итоговая цена
new ITEM('Какой-то предмет',10,1,10)
];
//ID заказа, цена, товары
$payment = $invoice->createPayment('ID заказа в вашей системе', 10, $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, 'Причина');