borysenko/yii2-liqpay

liqpay.com 支付小部件

安装: 191

依赖: 0

建议者: 0

安全: 0

星标: 1

关注者: 1

分支: 0

开放问题: 1

类型:yii2-extension

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

This package is auto-updated.

Last update: 2024-09-20 03:08:00 UTC


README

模块中包含用于通过 liqpay.com 进行订单支付的控件。

控件接收一个实现 interfaces/Order 接口订单模型。

成功支付后,liqpay 将调用回调,在当前订单中保存状态 payment,其值为 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').
        ],
        //...
    ],

订单模型

<?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 - 支付描述