invoice-llc/payment-yii2

Invoice Payment Module

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

This package is not auto-updated.

Last update: 2024-09-25 06:08:39 UTC


README

Установка

Установите пакет через Composer:

composer require invoice-llc/payment-yii2:dev-master

Добавьте в файл common/config/main.php компонент:

'invoice' => [
    'class' => 'invoice\payment\InvoiceConfig',
    'login' => 'Ваш логин от личного кабинета Invoice',
    'api_key' => 'Ваш API ключ'
]

Создание контроллера уведомлений

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