Jump to content

tersik

Новичок
  • Content Count

    10
  • Joined

  • Last visited

Community Reputation

9 Обычный

About tersik

  • Rank
    Пользователь

Recent Profile Visitors

924 profile views
  1. ещё раз спасибо! )) Методом исключения (по одному файлу заменяла) выяснилось, что кнопку меняет и делает переход к оплате в файле catalog/controller/...../tinkoff но прописанной кнопки там не нашла, зато выяснила, что кнопку меняет фраза return $this->load->view('extension/payment/tinkoff_checkout', $data); а этот беглый товарищ прописал сюда tinkoff_demo.... пошла в это демо, открыла checkout.... нашла нужную строку по кнопке, прописала его строку.... В его демо вообще не было ничего про переход к оплате.... И красота! Стиль наш, переход к оплате делает ) Осталось провести тестирование с банком, очень надеюсь, что камней не окажется больше )) Спасибо большое!
  2. Спасибо! сейчас попробую P.S. Эххх...замена этих файлов ситуацию не поменяла - только текст в способе оплаты меняет ((( Попробовала в папке каталог оставить все старые файлы - кнопка все равно остается не нашей, к оплате переходит.... При чем если выбрать "наличными" - то кнопка тут же становится нашей, а если онлайн - то кнопка не наша.... где учудил этот горе-программист (((
  3. Спасибо, я заменила все эти файлы - переход к оплате начался, но возникла другая проблема - у меня изменилась кнопка "оформить заказ" - стала не под стиль нашего сайта и с другим названием. Бэкап сейчас восстановлю, чтобы не искать где и что там было (очень многое забыла, тяжело (( ). Мне может заменить только файлы в папке admin?
  4. Спасибо, охх такой длинный код для проверки не осилю, но с виду вроде норм ((( <?php class ControllerExtensionPaymentTinkoff extends Controller { public function index() { $this->load->language('extension/payment/cheque'); $data['text_instruction'] = $this->language->get('text_instruction'); $data['text_payable'] = $this->language->get('text_payable'); $data['text_address'] = $this->language->get('text_address'); $data['text_payment'] = $this->language->get('text_payment'); $data['text_loading'] = $this->language->get('text_loading'); $data['button_confirm'] = $this->language->get('button_confirm'); $data['payable'] = $this->config->get('cheque_payable'); $data['address'] = nl2br($this->config->get('config_address')); $data['continue'] = $this->url->link('checkout/success'); return $this->load->view('extension/payment/tinkoff_demo', $data); } public function confirm() { if ($this->session->data['payment_method']['code'] == 'tinkoff') { $this->load->model('checkout/order'); $this->model_checkout_order->addOrderHistory($this->session->data['order_id'], 4); } } // public function index() { // $this->load->model('extension/payment/tinkoff'); // $this->language->load('extension/payment/tinkoff'); // // $order = $this->model_checkout_order->getOrder($this->session->data['order_id']); // $data['payment'] = $this->model_extension_payment_tinkoff->initPayment(array( // 'amount' => $this->currency->format($order['total'], $order['currency_code'], $order['currency_value'], false) * 100, // 'orderId' => $this->session->data['order_id'], // )); // // $data['payButton'] = $this->language->get('pay_button'); // // return $this->load->view('extension/payment/tinkoff_checkout', $data); // } public function callback() { $request = json_decode(file_get_contents("php://input")); $request->Success = $request->Success ? 'true' : 'false'; foreach ($request as $key=>$item) { $this->request->post[$key] = $item; } $password = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_secret_key' "); $this->request->post['Password'] = $password->row['value']; $sorted = $this->request->post; ksort($sorted); $log = '['.date('D M d H:i:s Y',time()).'] '; $log.= json_encode($this->request->post); $log.= "\r\n"; $log.= json_encode($sorted); $log.= "\r\n"; file_put_contents(dirname(__FILE__)."/tinkoff_log.log", $log, FILE_APPEND); $original_token = $sorted['Token']; unset($sorted['Token']); $values = implode('', array_values($sorted)); $token = hash('sha256', $values); $log = '['.date('D M d H:i:s Y',time()).'] '; $log .= 'Values : '.$values; $log.= "\r\n"; file_put_contents(dirname(__FILE__)."/tinkoff_log.log", $log, FILE_APPEND); $log = '['.date('D M d H:i:s Y',time()).'] '; $log.= 'new token ='.$token; $log.= "\r\n"; $log.= 'original token ='.$original_token; $log.= "\r\n"; file_put_contents(dirname(__FILE__)."/tinkoff_log.log", $log, FILE_APPEND); if ($token == $original_token) { $order = $this->db->query("select * from `" . DB_PREFIX . "order` where order_id=". (int) $sorted['OrderId']); $status['authorized'] = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_order_status_authorized' ")->row['value']; $status['completed'] = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_order_status_completed' ")->row['value']; $status['canceled'] = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_order_status_canceled' ")->row['value']; $status['rejected'] = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_order_status_rejected' ")->row['value']; $status['refunded'] = $this->db->query("select * from " . DB_PREFIX . "setting where `key`='tinkoff_order_status_refunded' ")->row['value']; if($sorted['Status'] == 'AUTHORIZED' && $order->row['order_status_id'] == $status['completed']){ die('OK'); } //$log .= "Payment status = ". $sorted['Status'] . "\n"; switch ($sorted['Status']) { case 'AUTHORIZED': $order_status = $status['authorized']; break; case 'CONFIRMED': $order_status = $status['completed']; break; case 'CANCELED': $order_status = $status['canceled']; break; case 'REJECTED': $order_status = $status['rejected']; break; case 'REVERSED': $order_status = $status['canceled']; break; case 'REFUNDED': $order_status = $status['refunded']; break; } //$log .= "Orderstatus set as ". $order_status ."\n"; if(isset($order_status)){ $this->load->model('checkout/order'); $this->model_checkout_order->addOrderHistory((int) $sorted['OrderId'], $order_status); die('OK'); //$log .= "AddOrderHistory - Complete \n"; //file_put_contents(dirname(__FILE__)."/tinkoff.log", $log, FILE_APPEND); } } //$log .= "AddOrderHistory - Failed \n"; // file_put_contents(dirname(__FILE__)."/tinkoff.log", $log, FILE_APPEND); die('NOTOK'); } public function failure() { if (isset($this->session->data['order_id'])) { $this->cart->clear(); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['guest']); unset($this->session->data['comment']); unset($this->session->data['order_id']); unset($this->session->data['coupon']); unset($this->session->data['reward']); unset($this->session->data['voucher']); unset($this->session->data['vouchers']); unset($this->session->data['totals']); } $this->language->load('checkout/failure'); $this->document->setTitle($this->language->get('heading_title')); $data['heading_title'] = $this->language->get('heading_title'); $data['text_message'] = sprintf($this->language->get('text_message'), $this->url->link('information/contact')); $data['button_continue'] = $this->language->get('button_continue'); $data['continue'] = $this->url->link('common/home'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); return $this->response->setOutput($this->load->view('extension/payment/tinkoff_failure.tpl', $data)); } public function success() { if (isset($this->session->data['order_id'])) { $this->load->model('account/activity'); if ($this->customer->isLogged()) { $activity_data = array( 'customer_id' => $this->customer->getId(), 'name' => $this->customer->getFirstName() . ' ' . $this->customer->getLastName(), 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_account', $activity_data); } else { $activity_data = array( 'name' => $this->session->data['guest']['firstname'] . ' ' . $this->session->data['guest']['lastname'], 'order_id' => $this->session->data['order_id'] ); $this->model_account_activity->addActivity('order_guest', $activity_data); } $this->cart->clear(); unset($this->session->data['shipping_method']); unset($this->session->data['shipping_methods']); unset($this->session->data['payment_method']); unset($this->session->data['payment_methods']); unset($this->session->data['guest']); unset($this->session->data['comment']); unset($this->session->data['order_id']); unset($this->session->data['coupon']); unset($this->session->data['reward']); unset($this->session->data['voucher']); unset($this->session->data['vouchers']); unset($this->session->data['totals']); } $this->language->load('checkout/success'); $this->document->setTitle($this->language->get('heading_title')); $data['heading_title'] = $this->language->get('heading_title'); if ($this->customer->isLogged()) { $data['text_message'] = sprintf($this->language->get('text_customer'), $this->url->link('account/account', '', 'SSL'), $this->url->link('account/order', '', 'SSL'), $this->url->link('account/download', '', 'SSL'), $this->url->link('information/contact')); } else { $data['text_message'] = sprintf($this->language->get('text_guest'), $this->url->link('information/contact')); } $data['button_continue'] = $this->language->get('button_continue'); $data['continue'] = $this->url->link('common/home'); $data['footer'] = $this->load->controller('common/footer'); $data['header'] = $this->load->controller('common/header'); $data['column_left'] = $this->load->controller('common/column_left'); $data['column_right'] = $this->load->controller('common/column_right'); $data['content_top'] = $this->load->controller('common/content_top'); $data['content_bottom'] = $this->load->controller('common/content_bottom'); return $this->response->setOutput($this->load->view('extension/payment/tinkoff_failure.tpl', $data)); } } тут же в этой папке увидела лог от тинькофф:... ругается на пароль?? но пароль я скопировала какой дали тестовый... [Thu Aug 02 16:39:20 2018] {"Success":"false","Password":"302xz9dz8e1piv1w"} {"Password":"302xz9dz8e1piv1w","Success":"false"} [Thu Aug 02 16:39:20 2018] Values : 302xz9dz8e1piv1wfalse [Thu Aug 02 16:39:20 2018] new token =089ba9f76fd0448e5ccbb0bfd738dabd8995330d08f25859ced7ed5a8c1b6e83 original token =
  5. так, и не получается вывести окно для оплаты, не пойму где может быть причина. opencart 2.3, модуль скорее всего был скачан с тинькофф и думаю для 2.3 (тот кто делал исчез). В настройках я все указала, налоги везде выставлены, в личном кабинете в тинькофф тоже все указано. Шлюз я прописала, в тинькофф страницу оплаты (нотификация) я прописала как написано у них... После выбора оплаты "онлайн" и нажатии кнопки "Оформить заказ" - пишет слово "Подождите... происходит переход к оплате", далее либо зависает (тут скорее другая еще причина есть в зависании), либо просто новая страница "ваш заказ принят, ожидайте звонка" при оплате наличными. В кодах я давно не лазила, многое приходится вспоминать... смотрела файл tinkoff.php - вроде все нормально ведь или? ((( <?php // Heading $_['heading_title'] = 'Онлайн-оплата'; $_['text_title'] = 'Онлайн-оплата'; $_['text_description'] = 'Производите оплату товара только после подтверждения наличия и резерва у нашего менеджера'; // Text $_['text_payment'] = 'Платёж'; $_['text_success'] = 'Настройки успешно соханены!'; $_['button_save'] = 'Сохранить'; $_['button_cancel'] = 'Отмена'; // Entry $_['terminal_key'] = 'Номер магазина (выдаётся банком):'; $_['secret_key'] = 'Секретный ключ (выдаётся банком):'; $_['currency'] = 'Валюта (по умолчанию рубли - 643)'; $_['payment_url'] = 'Адрес платёжного шлюза (выдаётся банком):'; $_['description'] = 'Описание платежа:'; $_['status'] = 'Статус:'; // Error $_['error_permission'] = 'Ошибка! У Вас нет прав на редактирование данного раздела!'; $_['error_terminal_key'] = 'Введите номер магазина!'; $_['error_secret_key'] = 'Введите секретный ключ!'; $_['error_payment_url'] = 'Введите адрес платёжного шлюза!'; $_['error_currency'] = 'Введите валюту платежа!'; // Payment $_['pay_button'] = 'Оплатить'; $_['text_message'] = '<p>Ошибка при оплате заказа!</p><p>Пожалуйста, направляйте в <a href="%s">Службу поддержки</a> любые ваши вопросы.</p><p>Зарегистрированным покупателям доступен просмотр состояния заказов и возможность просмотра истории прошлых покупок.</p><p>Спасибо за покупки в нашем интернет-магазине!</p>'; ?> Может ещё какой файл посмотреть....посоветуете ошибок не выдает никаких...
  6. модуль "Тинькофф банк"...а какой именно - не нашла где смотреть... в корневом каталоге сайта - error.log чистый на сегодня Если в админке opencart журнал ошибок посмотреть - то там вообще на капчу-гугл ругался только сегодня (которая стоит у нас в разделе контакты)
  7. Здравствуйте, подскажите, пожалуйста по какой причине может быть это: В корзине после выборе способа оплаты (онлайн через тинькофф) - висит предложение "Подождите.... происходит переход к оплате" - висеть может целый день.... При этом если сделать переход по сайту - в корзине остается товар, и можешь снова нажать "оформить заказ", и снова ждать ((( Когда выбираешь наличными - нормально (зависания бывают, но редко) Модуль Тинькофф установлен, в нем прописан терминал, пароль, шлюз. В личном кабинете Тинькофф тоже прописано все.
  8. Уважаемые пользователи форума opencart!!! Огромное Вам спасибо за Ваши подробные ответы на наши пустяковые/не пустяковые вопросы. Здоровья Вам, счастья и благополучия! Чтобы хватало и впредь у Вас желания и терпения отвечать нам, порой "тыкать носом" в темы, где на наш вопрос уже дан ответ, или вместе поразмыслить над задачей. Благодаря Вашим ответам, у меня отпадает громадная масса вопросов по оформлению магазинчика, хоть и приходится порой долго посидеть в поиске (не знаешь как правильно сформулировать или как называется). Низкий Вам поклон!
  9. угу, опечаталась - пропустила "НЕ" - оставлял в долларах. Или хотела написать "переводит в доллары" - но мозг был зациклен на "рубле" :-) Но проблему всё равно решила - удалила вообще все валюты, кроме рубля, и языки, кроме русского. Стал нормально отображать цену товара.
  10. Добрый день, подскажите, пожалуйста. в чем может быть проблема. Я хочу, чтобы цена товара для всех показывалась в рублях. В добавлении товара - выбираю рубль, ставлю цену. Но при показе товаров на сайте - он их переводит в рубли. Что сделано: 1. по умолчанию рубль 2. в локализации отключены евро и доллар 3. создан еще один "рубль" ничего не помогает (((
×

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.