public function init() { $this->setBuyPopupTemplate('buy_popup_reserve.tpl.php'); $uid = $this->uid; $reserve_id = $this->reserve_id; $reqvs = ReservesHelper::getInstance()->getUserReqvs($uid); $form_type = $reqvs['form_type']; $rez_type = $reqvs['rez_type']; $form_id = $this->ID . '_form'; $rez_id = $this->ID . '_rez'; $form_name = $form_type == sbr::FT_PHYS ? 'физическое лицо' : 'юридическое лицо'; //$rez_name = $rez_type == sbr::RT_RU ? 'резидент РФ' : 'нерезидент РФ'; $rez_name = sbr::getRezTypeText($rez_type); $options = array('popup_title_class_bg' => 'b-fon_bg_po', 'popup_title_class_icon' => 'b-icon__po', 'popup_title' => 'Резервирование бюджета', 'popup_subtitle' => '', 'items_title' => 'Сумма оплаты', 'popup_id' => $this->ID, 'unic_name' => $this->UNIC_NAME, 'form_name' => $form_name, 'rez_name' => $rez_name, 'items' => array(array('value' => $reserve_id, 'name' => $form_id), array('value' => $reserve_id, 'name' => $rez_id)), 'payments_title' => 'Способ резервирования', 'payments_exclude' => $this->payments_exclude[$form_type]); if ($form_type == sbr::FT_JURI) { $options['items'][] = array('value' => 1, 'name' => 'is_reserve_send_docs'); } if ($this->reserveInstance->getReservePrice() >= self::MAX_PAYMEN_WM) { $options['payments_exclude'][] = self::PAYMENT_TYPE_WM; } if ($this->reserveInstance->getReservePrice() >= parent::MAX_PAYMENT_ALFA) { $options['payments_exclude'][] = self::PAYMENT_TYPE_ALFACLICK; } if ($this->reserveInstance->getReservePrice() >= parent::MAX_PAYMENT_SB) { $options['payments_exclude'][] = self::PAYMENT_TYPE_SBERBANK; } $options['payments_exclude'][] = self::PAYMENT_TYPE_PLATIPOTOM; parent::init($options); }
/** * Возвращает реквизиты заказчика из слепков * @return type */ public function getReqv($emp_id = 0) { $fields = $this->db()->val("SELECT fields FROM {$this->TABLE} WHERE reserve_id = ?i", $this->reserve_id); if ($fields) { $reqv = mb_unserialize($fields); } elseif ($emp_id) { $reqvs = ReservesHelper::getInstance()->getUserReqvs($emp_id); if ($reqvs && $reqvs['form_type']) { $reqv = $reqvs[$reqvs['form_type']]; $reqv['form_type'] = $reqvs['form_type']; $reqv['rez_type'] = $reqvs['rez_type']; } } return $reqv; }
public function init() { global $js_file; $js_file['reserves_payout'] = 'reserves/reserves_payout.js'; $uid = get_uid(false); $reqvs = ReservesHelper::getInstance()->getUserReqvs($uid); $form_type = $reqvs['form_type']; $rez_type = $reqvs['rez_type']; $reqv = $reqvs[$form_type]; $payments = array(self::PAYMENT_TYPE_CARD => array('title' => 'Пластиковые<br/>карты', 'class' => 'b-button__pm_card', 'num' => @$reqv['el_ccard'], 'wait' => 'Идет выплата суммы.'), self::PAYMENT_TYPE_YA => array('title' => 'Яндекс.Деньги', 'class' => 'b-button__pm_yd', 'num' => @$reqv['el_yd'], 'wait' => 'Идет выплата суммы.'), self::PAYMENT_TYPE_BANK => array('title' => 'Банковский<br/>перевод', 'class' => 'b-button__pm_bank', 'num' => @$reqv['bank_rs'], 'wait' => 'Идет выплата суммы.'), self::PAYMENT_TYPE_RS => array('title' => 'Банковский<br/>перевод', 'class' => 'b-button__pm_bank', 'num' => @$reqv['bank_rs'], 'wait' => 'Идет выплата суммы.')); $form_list = array(sbr::FT_PHYS => 'физическое лицо', sbr::FT_JURI => 'юридическое лицо'); $this->options['form_txt'] = @$form_list[$form_type]; $this->options['rez_txt'] = sbr::getRezTypeText($rez_type); $allowed_payments = ReservesHelper::getInstance()->getAllowedPayoutTypes($form_type, $rez_type, $this->price); $this->options['payments'] = array_intersect_key($payments, $allowed_payments); $popup_id = self::getPopupId($this->options['idx']); $this->options['is_show'] = __paramInit('bool', $popup_id, $popup_id, false); }
/** * Выставяем счет оплаты по безналу для резерва. * * @param string $type - тип платежа (тут всегда bank) * @param array $data * * @return \xajaxResponse */ function quickPaymentReserveBank($type, $data) { $objResponse =& new xajaxResponse(); $uid = get_uid(false); if ($uid <= 0) { return $objResponse; } //Проверка на юрика $reqvs = ReservesHelper::getInstance()->getUserReqvs($uid); if ($reqvs['form_type'] != sbr::FT_JURI) { return $objResponse; } $reqv = $reqvs[$reqvs['form_type']]; //Проверка наличия резерва средств $reserve_id = intval(@$data['quick_payment_reserve_form']); $reserveInstance = ReservesModelFactory::getInstanceById($reserve_id); if (!$reserveInstance) { return $objResponse; } $reserve_data = $reserveInstance->getReserveData(); if ($reserve_data['emp_id'] != $uid || !$reserveInstance->isEmpAllowFinance()) { return $objResponse; } //Если уже был платеж то обновляем страницу if (!$reserveInstance->isStatusNew()) { $objResponse->script('window.location.reload()'); return $objResponse; } $reqv['is_send_docs'] = @$data['is_reserve_send_docs'] == 1; $file = $reserveInstance->getReservesBank()->generateInvoice2($reqv, true); if (!$file) { $objResponse->script("\n var qp_reserve = quick_payment_factory.getQuickPayment('reserve');\n if(qp_reserve) qp_reserve.show_error('Не удалось создать файл счета. Попробуйте еще раз.');\n "); return $objResponse; } $success_text = 'Для резервирования суммы на сайте вам был сформирован ' . '<a href="' . WDCPREFIX . '/' . $file->path . $file->name . '" target="_blank">счет на оплату</a>.<br />' . 'Счет также доступен вам в заказе в списке загруженных документов.'; $objResponse->script("\n var qp_reserve = quick_payment_factory.getQuickPayment('reserve');\n if(qp_reserve) qp_reserve.show_success('" . $success_text . "');\n "); return $objResponse; }
protected function getEmpAddress() { $reqv = ReservesHelper::getInstance()->getUserReqvs($this->order['emp_id']); return @$reqv[2]['address']; }
</a> <?php } ?> </div> <?php if (!$is_frl_feedback && $is_allow_feedback) { $this->widget('TServiceOrderFeedback', array('data' => array('idx' => $order_id, 'hash' => $hash, 'pay_type' => $pay_type, 'rating' => $emp_rating, 'is_close' => true))); } } elseif ($reserve->isStatusPayInprogress()) { //------------------------------------------------------------------------------ // Заказчик закрыл заказ с отзывом или без. // Статус для исполнителя по схеме резерва средств. // В процессе выплаты. Ожидание ответа сервиса //------------------------------------------------------------------------------ $pay_type_txt = ReservesHelper::getInstance()->getPayoutType($reserve_data['id']); $price = tservices_helper::cost_format($reserve->getPrice(), true, false, false); ?> <div class="b-layout__txt b-layout__txt_fontsize_11 b-layout_float_right b-layout__txt_float_none_iphone b-layout__txt_padbot_5"> <span class="b-icon b-icon_sbr_oask"></span> <a class="b-layout__link" target="_blank" href="https://feedback.fl.ru/list/27457-baza-znanij-flru/?category=12682"> О Безопасных сделках </a> </div> <div class="b-layout__txt b-layout__txt_padbot_10 b-layout__txt_bold"> Заказ с оплатой через Безопасную сделку — выплата сумм </div> <div class="b-layout__txt b-layout__txt_padbot_15"> Заказчик принял и подтвердил результат выполнения работы по заказу.<br /> К выплате Исполнителю <?php
/** * Проверить доступность выплаты данному юзеру * и вернуть его реквизиты * * @param type $uid * @param type $type * @param type $price * @return boolean */ public function getUserReqvs($uid, $type, $price) { $reqvs = ReservesHelper::getInstance()->getUserReqvs($uid); if (!$reqvs) { return false; } $form_type = $reqvs['form_type']; $rez_type = $reqvs['rez_type']; $reqv = $reqvs[$form_type]; $reqv['rez_type'] = $rez_type; $reqv['form_type'] = $form_type; $reqv['moderator_uid'] = $reqvs['moderator_uid']; $reqv['moderator_login'] = $reqvs['moderator_login']; $payments = ReservesHelper::getInstance()->getAllowedPayoutTypes($form_type, $rez_type, $price); if (isset($payments[$type])) { $info = explode(',', @$reqv['address']); //попытка получить код ISO if ((!isset($reqv['country_iso']) || empty($reqv['country_iso'])) && count($info) > 3) { require_once $_SERVER['DOCUMENT_ROOT'] . '/classes/country.php'; $countryObject = new country(); $country_name = trim($info[1]); $country_iso = $countryObject->getCountryISO($country_name); if ($country_iso) { $reqv['country_iso'] = $country_iso; } } //Если поля mob_phone то пробуем получить из phone if (!isset($reqv['mob_phone']) || empty($reqv['mob_phone'])) { $reqv['mob_phone'] = @$reqv['phone']; } return $reqv; } return false; }
/** * Возвращает реквизиты фрилансера из слепков * @return type */ public function getFrlReqv() { $payout_reqv = ReservesHelper::getInstance()->getPayoutReqv($this->getID()); if ($payout_reqv) { $reqv = mb_unserialize($payout_reqv['fields']); } else { $reqvs = ReservesHelper::getInstance()->getUserReqvs($this->getFrlId()); if ($reqvs && $reqvs['form_type']) { $reqv = $reqvs[$reqvs['form_type']]; $reqv['form_type'] = $reqvs['form_type']; $reqv['rez_type'] = $reqvs['rez_type']; } } return $reqv; }