123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137 |
- <?php
- namespace reactlogic\liqpay;
- use reactlogic\liqpay\models\PaymentForm;
- use yii\base\Module as BaseModule;
- class Module extends BaseModule
- {
- /**
- * Версия API. Текущее значение - 3
- *
- * @var Number $_version *Required
- */
- public $_version = 3;
- /**
- * Публичный ключ - идентификатор магазина. Получить ключ можно в настройках магазина
- *
- * @var String $public_key *Required
- */
- public $public_key;
- /**
- * Публичный ключ - идентификатор магазина. Получить ключ можно в настройках магазина
- *
- * @var String $private_key
- */
- public $private_key;
- /**
- * Тип операции.
- *
- * @var String $action *Required
- *
- * Возможные значения:
- * - `pay` - платеж,
- * - `hold` - блокировка средств на счету отправителя
- * - `subscribe` - регулярный платеж
- * - `paydonate` - пожертвование
- * - `auth` - предавторизация карты
- */
- public $action;
- /**
- * Сумма платежа.Например: 5, 7.34
- *
- * @var Number $amount *Required
- */
- public $amount;
- /**
- * Валюта платежа. Возможные значения: USD, EUR, RUB, UAH
- *
- * @var String $currency *Required
- */
- public $currency;
- /**
- * Назначение платежа.
- *
- * @var String $description *Required
- */
- public $description;
- /**
- * Уникальный ID покупки в Вашем магазине. Максимальная длина 255 символов.
- *
- * @var String $order_id *Required
- */
- public $order_id;
- /**
- * Валюта платежа. Возможные значения: ru, uk, en
- *
- * @var String $language *Optional
- */
- public $language = 'uk';
- public function init()
- {
- parent::init(); // TODO: Change the autogenerated stub
- if (empty($this->order_id)) {
- $this->order_id = '' . time();
- }
- }
- public function getUrlRules()
- {
- return array(
- 'poss' => 'liqpay/liqpay/index'
- );
- }
- public function buildForm(array $data)
- {
- $model = new PaymentForm();
- $model->load($data, '');
- $model->version = $this->_version;
- $model->public_key = $this->public_key;
- $model->action = $this->action;
- $model->amount = $this->amount;
- $model->currency = $this->currency;
- $model->description = $this->description;
- $model->order_id = $this->order_id;
- $model->language = $this->language;
- /*$model->server_url = $this->server_url;
- $model->result_url = $this->result_url;*/
- return $model;
- }
- /**
- * @param $params
- * @return string
- */
- public function getData($params)
- {
- return base64_encode(json_encode($params));
- }
- /**
- * @param $params
- * @return string
- */
- public function getSignature($params)
- {
- $data = $this->getData($params);
- return base64_encode(sha1($this->private_key . $data . $this->private_key, 1));
- }
- }
|