Yii2-liqpay ¶
В составе модуля содержится виджет оплаты заказа через 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 - описание платежа
If you have any questions, please ask in the forum instead.
Signup or Login in order to comment.