invoice-llc/payment-laravel

dev-master 2020-06-22 11:10 UTC

This package is not auto-updated.

Last update: 2024-09-25 06:18:44 UTC


README

Установка

Установите пакет через 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, 'Причина');