パヴリンター/yii2-adm-oplata

Yii2: Adm Oplata

安装: 41

依赖项: 0

建议者: 0

安全性: 0

星标: 1

关注者: 2

分支: 1

公开问题: 0

类型:yii2-extension

v1.0.0-beta 2015-01-20 10:30 UTC

This package is not auto-updated.

Last update: 2024-09-24 02:57:43 UTC


README

https://www.oplata.com

安装

通过以下方式安装此扩展程序最方便:通过 composer

   "pavlinter/yii2-adm-oplata": "*",

配置

'modules' => [
    ...
    'adm' => [
        ...
        'modules' => [
            'admoplata'
        ],
        ...
    ],
    'admoplata' => [
       'class' => 'pavlinter\admoplata\Module',
       'modules' => [],
    ],
    ...
],
'components' => [
    ...
    'oplata' => [
        'class' => 'pavlinter\admoplata\components\Oplata',
        'merchantId' => 'xxxx', //own merchant id
        'password' => 'xxxx', //own password
        'invoiceLayout' => '/main';
        'layout' => '@vendor/pavlinter/yii2-adm/adm/views/layouts/main';
        'userSelect' => [
            'viewCallback' => null, //function ($row) {return Adm::t('oplata','{email}:select2 template', $row);}
            'querySearch' => null, // function ($query, $userTable, $search) {/* @var \yii\db\Query $query */return $query->from($userTable)->where(['like', 'email', $search])->limit(20)->all();}
            'queryLoad' => null, //function ($query, $userTable, $id) {/* @var \yii\db\Query $query */return $query->from($userTable)->where(['id' => $id])->one();}
        ];
        'sendFunc' => null; //function ($model, $module, $user, $username) {}
        'sendFrom' => null; // default Yii::$app->params['adminEmail']
        'mailTemplate' => '@vendor/pavlinter/yii2-adm-oplata/admoplata/views/transaction/email-template';
        'remindTemplate' => '@vendor/pavlinter/yii2-adm-oplata/admoplata/views/transaction/remind-template',
        'remindDays' => 1, //Высылать напоминание о платиже за 1 день до окончания счета /en/admoplata/transaction/cron
        'pdf' => [
            'image' => [ //logo htmlOptions
                //'src' => '',
            ],
            'imageLink' => [ //logo link htmlOptions
                //'href' => '',
            ],
        ];
    ],
    'response' => [
        'formatters' => [
            'adm-pdf' => [
                'class' => 'pavlinter\admoplata\PdfResponseFormatter',
            ],
        ]
    ],
    ...
],

crontab 链接

/en/admoplata/transaction/cron

启动迁移

yii migrate --migrationPath=@vendor/pavlinter/yii2-adm-oplata/admoplata/migrations

如何使用

echo Html::a('My-Page',['/admoplata/default/invoice', 'alias' => 'My-hash']);

控制器

public function actionOrder() {
    $item1 = new OplataItem();
    $item1->title = 'Item 1';
    $item1->description = 'Item 1Item 1Item 1Item 1Item 1';
    $item1->price = '20';
    $item1->amount = 1;

    $item2 = new OplataItem();
    $item2->title = 'Item 2';
    $item2->description = 'Item 2Item 2Item 2Item 2Item 2';
    $item2->price = '0.9';
    $item2->amount = 2;

    Yii::$app->oplata->clearItems();
    Yii::$app->oplata->addItem($item1);
    Yii::$app->oplata->addItem($item2);
    $order = Yii::$app->oplata->createOrder([
        'user_id' => null,
        'language_id' => Yii::$app->getI18n()->getId(),
        'email' => 'bob@bob.com',
        'title' => 'Тестовый заказ',
        'currency' => OplataTransaction::CURRENCY_USD,
        'shipping' => '0.89',
        'data' => [], //or string or object
    ]);
    if ($order !== false) {
        return $this->redirect(['invoice', 'alias' => $order->alias]);
    }
    echo '<pre>';
    echo print_r(Yii::$app->oplata->getErrors());
    echo '</pre>';
}