borysenko/yii2-liqpay

Payment widget for liqpay.com

Installs: 191

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 1

Forks: 0

Open Issues: 1

Type:yii2-extension

dev-master 2018-10-19 13:30 UTC

This package is auto-updated.

Last update: 2024-11-20 03:33:08 UTC


README

В составе модуля содержится виджет оплаты заказа через liqpay.com.

В виджет передается модель заказа, которая должна имплементировать интерфейс interfaces/Order.

При успешной оплате liqpay вызывает callback, в котором сохраняется статус payment c значением yes в текущем заказе.

Установка

В сборке Yii2 в файле composer.json нужно заменить в свойстве "minimum-stability" значение "stable" на "dev". Т.е. у вас должно быть так:

"minimum-stability": "dev"
  • Это связано с тем, что это расширение подтягивает другие расширения, в которых "minimum-stability": "dev"

Выполнить команду

composer require borysenko/yii2-liqpay "*"

Или добавить в composer.json

"borysenko/yii2-liqpay": "*",

И выполнить

php composer update

Подключение и настройка

В конфигурационный файл приложения добавить модуль liqpay

    'modules' => [
        'liqpay' => [
            'class' => 'borysenko\liqpay\Module',
            'public_key' => 'iNNNNNNNNNNN',
            'private_key' => 'NzpRclCywaSOrm0LTpqDpPPlRDhoOQyIX1ISHjk',
            'currency' => 'UAH',
            'pay_way' => null,
            'version' => 3,
            'sandbox' => false,
            'language' => 'ru',
            'result_url' => '/page/thanks',
            'paymentName' => 'Оплата заказа',
            'orderModel' => 'frontend\models\Order', //Модель заказа. Эта модель должна имплементировать интерфейс borysenko\liqpay\interfaces\Order. В момент списания денег будет вызываться $model->setPaymentStatus('yes').
        ],
        //...
    ],

Модель Order

<?php
namespace frontend\models;

use Yii;
use yii\db\ActiveRecord;

Class Order extends ActiveRecord implements \borysenko\liqpay\interfaces\Order
{
    public static function tableName()
    {
        return 'orders';
    }

    public function getId()
    {
        return $this->id;
    }

    public function getCost()
    {
        return $this->cost;
    }

    function setPaymentStatus($status)
    {
        $this->payment = $status;

        return $this;
    }
}

Виджеты

За вывод формы оплаты отвечает виджет borysenko\liqpay\widgets\PaymentForm.

<?=\borysenko\liqpay\widgets\PaymentForm::widget([
    'autoSend' => true,
    'orderModel' => $model, //Order::findOne($id);
    'description' => 'Оплата заказа'
]);?>
  • autoSend - нужно ли автоматически отправлять форму заказа
  • orderModel - экземпляр модели заказа, имплементирующий interfaces/Order
  • description - описание платежа