Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

IvanDevelop

Новачок
  
  • Публікації

    4
  • З нами

  • Відвідування

Усі публікації користувача IvanDevelop

  1. Допилил \system\storage\modification\catalog\controller\account\order.php перед строкой $this->response->setOutput($this->load->view('account/order_info', $data)); Следующее: if ($order_info['payment_code'] && $order_info['payment_code']=='tinkoff') { $this->load->model('extension/payment/'.$order_info['payment_code']); if (isset($this->session->data['order_id'])) { $tmp_order_id=$this->session->data['order_id']; } $this->session->data['order_id']=$order_info['order_id']; $params = [ 'terminalkey' => $this->config->get('tinkoff_terminal_key'), 'secret' => $this->config->get('tinkoff_secret_key'), 'currency' => $order_info['currency_code'], 'language' => $this->config->get('tinkoff_payment_language'), 'frame' => 'true', 'amount' => $order_info['total'], 'order' => $order_info['order_id'], 'description' => $order_info['comment'], 'email' => $order_info['email'], 'phone' => $order_info['telephone'] ]; $view = [ 'payment' => [ 'params' => $params ] ]; $data['payment_view'] = $this->load->view($this->config->get('config_template') . '/extension/payment/tinkoff_checkout_custom.tpl', $view); if (isset($tmp_order_id)) { $this->session->data['order_id']=$tmp_order_id; } else { unset($this->session->data['order_id']); } } И создал view своё: <style>.tinkoffPayRow{display:block;margin:1%;width:160px;}</style> <script src="https://securepay.tinkoff.ru/html/payForm/js/tinkoff_v2.js"></script> <form name="TinkoffPayForm" onsubmit="pay(this); return false;"> <?php foreach($payment['params'] as $name => $value): ?> <input type="hidden" name="<?php echo $name; ?>" value="<?php echo $value; ?>"> <?php endforeach; ?> <input class="tinkoffPayRow btn btn-success" type="submit" value="Оплатить"> </form> Пока всё в норме, осталось прикрутить страницы ответов со сменой статуса и т.п. После продолжу пост.
  2. Решили проблему? В документации есть такие пункты: Если вы хотите использовать страницы успешного/неуспешного платежа расположенные на вашем сайте, необходимо прописать: URL страницы успешного платежа: <название_сайта>/index.php?route=checkout/success URL страницы неуспешного платежа: <название_сайта>/index.php?route=extension/payment/tinkoff/failure В поле URL для нотификации необходимо прописать: URL для нотификации: <имя_вашего_домена>/index.php?route=extension/payment/tinkoff/callback Правда у меня другая проблема, кнопка оплаты не появляется ни где, хотя модуль по ходу формирования заказа цепляется и проходит инициализация.
  3. Там всё логично по коду, как то отрендерить view надо в контроллере по аналогии с методом robokassa. Как мне кажется... Попробовал насильно форму тз документации tinfoff влепить: $form = <<<FORM <style>.tinkoffPayRow{display:block;margin:1%;width:160px;}</style> <script src="https://securepay.tinkoff.ru/html/payForm/js/tinkoff_v2.js"></script> <form name="TinkoffPayForm" onsubmit="pay(this); return false;"> <input class="tinkoffPayRow" type="hidden" name="terminalkey" value="1526809637201DEMO"> <input class="tinkoffPayRow" type="hidden" name="frame" value="true"> <input class="tinkoffPayRow" type="hidden" name="language" value="ru"> <input class="tinkoffPayRow" type="text" placeholder="Сумма заказа" name="amount" required> <input class="tinkoffPayRow" type="text" placeholder="Номер заказа" name="order"> <input class="tinkoffPayRow" type="text" placeholder="Описание заказа" name="description"> <input class="tinkoffPayRow" type="text" placeholder="ФИО плательщика" name="name"> <input class="tinkoffPayRow" type="text" placeholder="E-mail" name="email"> <input class="tinkoffPayRow" type="text" placeholder="Контактный телефон" name="phone"> <input class="tinkoffPayRow btn btn-success" type="submit" value="Оплатить"> </form> FORM; $data['payment_view'] = $form; Кнопка появляется, оплата работает, но ни как не связана с базой. Шаблон tinkoff_checkout.tpl, тут и есть вывод нужной формы.
  4. Здравствуйте! При установке модуля возникла проблема, модуль встал, но на странице заказа кнопки нет. Стал копаться и по аналогии с методом robokassa в файле: \system\storage\modification\catalog\controller\account\order.php Добавил код if ($order_info['payment_code'] && $order_info['payment_code']=='tinkoff') { $this->load->model('extension/payment/'.$order_info['payment_code']); if (isset($this->session->data['order_id'])) { $tmp_order_id=$this->session->data['order_id']; } $this->session->data['order_id']=$order_info['order_id']; $data['payment_view']=$this->load->controller($this->{'model_extension_payment_' .$order_info['payment_code']}); if (isset($tmp_order_id)) { $this->session->data['order_id']=$tmp_order_id; } else { unset($this->session->data['order_id']); } } И получаем ошибку: Unknown: Object of class Proxy could not be converted to string in /system/storage/modification/system/engine/loader.php on line 11 В инструкции по модулю нет ни чего про то что надо модифицироать контроллеры. Или модуль интегрируется как то иначе? В контроллере \system\storage\modification\catalog\controller\checkout\checkout_simple.php он отрабатывает без проблем. Получается как то надо отрендерить view и присвоить в $data['payment_view'] в \system\storage\modification\catalog\controller\account\order.php которая и выводит кнопку оплаты.

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.