示例#1
0
 public function run()
 {
     return;
     Yii::import('ext.payment.*');
     $interkassa = new Interkassa();
     $interkassa->setOptions(array('ik_shop_id' => Yii::app()->params['ik_shop_id'], 'ik_secret_key' => Yii::app()->params['ik_secret_key'], 'ik_payment_amount' => $this->amount, 'ik_payment_id' => $this->payment_id, 'ik_payment_desc' => 'Пополнение счета аккаунт №' . (Yii::app()->user->id ? Yii::app()->user->id : ' GUEST ACCOUNT '), 'submit_button' => '<input type="submit" class="blue-button" value="Пополнить счет"/>'));
     $output = $interkassa->getForm();
     echo $output;
     //$this->render('billingForm',$output);
 }
示例#2
0
 private function viewInterkassa()
 {
     if (!extension::getInstance()->getConfig('balance_use_ik', 'user', extension::TYPE_COMPONENT, 'boolean')) {
         exit("Interkassa API disabled");
     }
     $post_kasa_id = system::getInstance()->post('ik_co_id');
     if ($post_kasa_id != extension::getInstance()->getConfig('balance_ik_id', 'user', extension::TYPE_COMPONENT, 'str')) {
         exit("undefined id");
     }
     require_once root . '/resource/payments/interkassa2/interkassa.php';
     Interkassa::register();
     $shop = Interkassa_Shop::factory(array('id' => extension::getInstance()->getConfig('balance_ik_id', 'user', extension::TYPE_COMPONENT, 'str'), 'secret_key' => extension::getInstance()->getConfig('balance_ik_key', 'user', extension::TYPE_COMPONENT, 'str')));
     try {
         $status = $shop->receiveStatus(system::getInstance()->post(null));
         // POST is used by default
     } catch (Interkassa_Exception $e) {
         logger::getInstance()->log(logger::LEVEL_WARN, "Interkassa payment check signature fail. From ip: " . system::getInstance()->getRealIp() . ", post_data : " . json_encode(system::getInstance()->post(null)));
         header('HTTP/1.0 400 Bad Request');
         exit;
     }
     $payment = $status->getPayment();
     $mul_c = extension::getInstance()->getConfig('balance_ik_mul', 'user', extension::TYPE_COMPONENT, 'float');
     $user_id = system::getInstance()->toInt($payment->getId());
     $amount = (double) $payment->getAmount();
     $amount *= $mul_c;
     user::getInstance()->addBalance($user_id, $amount);
     $payparam = array('currency' => $payment->getCurrency(), 'amount' => $amount, 'sys_invs_id' => system::getInstance()->post('ik_inv_id'), 'sys_trans_id' => system::getInstance()->post('ik_trn_id'), 'date' => system::getInstance()->post('ik_inv_prc'));
     user::getInstance()->putLog($user_id, 'balance.ikadd', $payparam, 'Recharge balance via interkassa');
 }
示例#3
0
 public function setOptions($opt = array())
 {
     if (!isset($opt['ik_shop_id']) || !isset($opt['ik_secret_key'])) {
         die("No params");
     }
     self::$ik_shop_id = $opt['ik_shop_id'];
     self::$ik_secret_key = $opt['ik_secret_key'];
     unset($opt['ik_shop_id'], $opt['ik_secret_key']);
     if (count($opt) === 0) {
         return $this;
     }
     foreach ($opt as $k => $v) {
         $this->{$k} = $v;
     }
     return $this;
 }
示例#4
0
 public function actionInterkassaYandexDengi()
 {
     Yii::import('ext.payment.*');
     $interkassa = new Interkassa();
     $amount = 10;
     $interkassa->setOptions(array('ik_shop_id' => Yii::app()->params['ik_shop_id'], 'ik_secret_key' => Yii::app()->params['ik_secret_key'], 'ik_payment_amount' => $amount, 'ik_paysystem_alias' => 'yandexdengir', 'ik_payment_id' => time(), 'ik_payment_desc' => 'Пополнение счета аккаунт №' . (Yii::app()->user->id ? Yii::app()->user->id : ' GUEST ACCOUNT ')));
     $output = $interkassa->getForm();
     //$output = '1';
     $this->render('interkassa', compact('output'));
 }