Пример #1
0
 public function executeOnpay(sfWebRequest $request)
 {
     $pay_for = $request->getGetParameter('pay_for');
     if (!is_numeric($pay_for)) {
         throw new sfException('wrong argument for onpay');
     }
     $transaction = TransactionTable::getInstance()->findOneById($pay_for);
     $onpay = OnPay::forTransaction($transaction);
     $result = $onpay->processApiRequest($request->getGetParameter('type'), $request->getGetParameter('order_amount'), $request->getGetParameter('order_currency'), $pay_for, $request->getGetParameter('md5'), $request->getGetParameter('onpay_id'), $request->getGetParameter('balance_amount'), $request->getGetParameter('balance_currency'), $request->getGetParameter('exchange_rate'), $request->getGetParameter('paymentDateTime'));
     $this->getResponse()->setContentType('text/plain');
     return $this->renderText($result);
 }
Пример #2
0
 /**
  * Processing Forms
  * @param sfWebRequest $request
  * @param sfForm $form
  * @return <boolean>
  */
 protected function processForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         if (isset($form['balance_add'])) {
             $user = $this->getUser()->getGuardUser();
             // заводим новую транзакцию и передаем пользователя платежной системе
             $transaction = $user->addFunds($form->getValue('balance_add'));
             $pay_test = SettingTable::getInstance()->findOneByName('Платежи в тестовом режиме');
             if ((int) $pay_test->getValue() > 0) {
                 $user->addFundsFin($transaction);
             } else {
                 // создаем объект онпей и затем редиректим на форму платежа
                 $onpay = OnPay::forTransaction($transaction, $this->generateUrl('profile_u_account', array(), true));
                 return $onpay->processFirstStep();
             }
             return true;
         }
         $user = $form->save();
         return true;
     }
     return false;
 }
Пример #3
0
 protected function processUserForm(sfWebRequest $request, sfForm $form)
 {
     $form->bind($request->getParameter($form->getName()), $request->getFiles($form->getName()));
     if ($form->isValid()) {
         $user = $this->getUser()->getGuardUser();
         if (isset($form['tariff_change'])) {
             return $user->setNewTariff($form->getValue('tariff_change'));
         } elseif (isset($form['balance_add'])) {
             $transaction = $user->addFunds($form->getValue('balance_add'));
             $pay_test = SettingTable::getInstance()->findOneByName('Платежи в тестовом режиме');
             if ((int) $pay_test->getValue() > 0) {
                 $user->addFundsFin($transaction);
                 return true;
             } else {
                 // создаем объект онпей и затем редиректим на форму платежа
                 $onpay = OnPay::forTransaction($transaction, $this->generateUrl('profile_p_user', array(), true));
                 return $onpay->processFirstStep();
             }
         } else {
             $user = $form->save();
         }
         return true;
     }
     return $form;
 }