Перейти к содержанию

tersik

Новичок
  • Публикаций

    10
  • Зарегистрирован

  • Посещение

Репутация

9 Обычный

Информация о tersik

  • Звание
    Пользователь

Посетители профиля

678 просмотров профиля
  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. tersik

    цена товара

    угу, опечаталась - пропустила "НЕ" - оставлял в долларах. Или хотела написать "переводит в доллары" - но мозг был зациклен на "рубле" :-) Но проблему всё равно решила - удалила вообще все валюты, кроме рубля, и языки, кроме русского. Стал нормально отображать цену товара.
  10. tersik

    цена товара

    Добрый день, подскажите, пожалуйста. в чем может быть проблема. Я хочу, чтобы цена товара для всех показывалась в рублях. В добавлении товара - выбираю рубль, ставлю цену. Но при показе товаров на сайте - он их переводит в рубли. Что сделано: 1. по умолчанию рубль 2. в локализации отключены евро и доллар 3. создан еще один "рубль" ничего не помогает (((
×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.