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); }
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'); }
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; }
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')); }