avpet979/payment-laravel

Invoice Laravel SDK

0.0.4 2024-10-30 04:23 UTC

This package is auto-updated.

Last update: 2025-03-29 01:09:21 UTC


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