$refuse = __paramInit('bool', NULL, 'refuse'); $id = __paramInit('int', NULL, 'id'); if ($agree || $refuse) { if (!$sbr->initFromId($id, true, false, false)) { header_location_exit('/404.php'); } /** * схема работы через банк */ if ($sbr->data['scheme_type'] == sbr::SCHEME_LC) { $psys = __paramInit('int', NULL, 'mode_type'); $frl_reqvs = $sbr->user_reqvs; $frl_reqvs['rez_type'] = $rez_type; $frl_reqvs['form_type'] = $form_type; $pskb_frl = new pskb_user($frl_reqvs, 0); $isReqvsFilled = !$pskb_frl->checkPsys($psys, $form_type); } // var_dump($agree, $rt_checked, $isReqvsFilled, $ft_checked); // die(); if ($agree && $rt_checked && $isReqvsFilled && $ft_checked) { $version = __paramInit('int', NULL, 'version'); if ($rez_type == sbr::RT_UABYKZ) { if ($sbr->has_norez_overcost) { $sbr->error['rez_type'][$sbr->id] = 1; } } if (!$sbr->error) { if ($rez_type != $sbr->user_reqvs['rez_type'] || $form_type != $sbr->user_reqvs['form_type']) { //@todo: запрещаем изменять финансы в старой СБР #29196 //sbr_meta::setUserReqv($sbr->uid, $rez_type, $form_type, $rrr, false); $sbr->user_reqvs['rez_type'] = $rez_type;
/** * Подготавливаем запись LC. * Проверяем доступность платежной системы в соответствии с указанными реквизитами. * Если реквизитов достаточно, регистрируем их в таблице pskb_lc * * @param type $ps Выбранная платежная система * @return type */ public function prepareLC($ps) { if (!$ps) { $this->_setError('Ошибка запроса.'); return false; } $reqv_fn = $this->_sbr->isEmp() ? 'getEmpReqvs' : 'getFrlReqvs'; $user_pfx = 'Perf'; if ($this->_sbr->isEmp()) { $user_pfx = 'Cust'; $data['ps_emp'] = $ps; $data['sum'] = $this->_sbr->getReserveSum(true, pskb::$exrates_map[$ps]); } else { $data['ps_frl'] = $ps; $data['sum'] = $this->_sbr->getReserveSum(); } $data['sbr_id'] = $this->_sbr->data['id']; $user = new pskb_user($this->_sbr->{$reqv_fn}(), intval($this->_sbr->isEmp())); if ($user->checkPsys($ps, null, true)) { if ($this->_sbr->isEmp()) { $err_txt = 'перевода'; } else { $err_txt = 'получения'; } $this->_setError("Указанный способ {$err_txt} денег не доступен. Не хватает данных на странице Финансы."); return false; } $data['tag' . $user_pfx] = $user->tag; $data['alien' . $user_pfx] = $user->alien; $data['name' . $user_pfx] = $user->name; $data['num' . $user_pfx] = $user->num; $data['ps' . $user_pfx] = $user->ps; $data['acc' . $user_pfx] = $user->acc; $data['inn' . $user_pfx] = $user->inn; // $data['kpp' . $user_pfx] = $user->kpp; $data['nameBank' . $user_pfx] = $user->nameBank; $data['cityBank' . $user_pfx] = $user->cityBank; $data['cntrBank' . $user_pfx] = $user->cntrBank; $data['swift' . $user_pfx] = $user->swift; $data['corAccbank' . $user_pfx] = $user->corAccbank; $data['email' . $user_pfx] = $user->email; $lc = $this->getLC(); if ($lc['lc_id'] && $lc['state'] == self::STATE_NEW) { $this->_setError('Аккредитив уже создан. Ожидается оплата.'); return false; } if (!$this->_sbr->isEmp() && !$lc['id']) { $res = $this->_db->insert('pskb_lc', $data, 'id'); } else { $res = $this->upLC($data, $this->_sbr->data['id'], 'sbr_id'); } return $res; }