Jump to content
  • разработка интернет магазинов на opencart
  • доработка интернет магазинов на opencart

job

Новичок
  
  • Posts

    13
  • Joined

  • Last visited

job's Achievements

Apprentice

Apprentice (3/14)

  • First Post
  • Collaborator
  • Conversation Starter
  • Week One Done
  • One Month Later

Recent Badges

0

Reputation

  1. Какой именно? По ссылке - многое не то, но разрилитлик отказывается дорабатывать, аdmonco просто не отвечает. Поэтому уточню, что требуется. Все как описал dmonco выше + отправка пин.кода с письмом, что заказ "оплачен и досивлен".
  2. Посмотрел код еещё раз. Врогде и javascript`ом можно. Но тут тоже прошу помощи, сам не смогу внести правильно изменения.
  3. pmp, спасипотому что! Я логику предсивляю, я не знаю, КАК это php-условие прописать :( На русском это бугдет примерно ик: Если url-стр = site.ru/shop/tovar5, то на кнопку "в корзину" сивим линк на "site2.ru/bla-bla" Если url-стр = site.ru/shop/tovar8, то на кнопку "в корзину" сивим линк на "site3.ru/page8" Если люпотому чтой другой url-стр, то на кнопку "в корзину" сивим <a id="button"><span>В корзину</span></a> (т.е. как по-умолчанию в движке) Липотому что вместо url-стр = .... можно по "product_id" условие прописать. Вот только как?!
  4. Здравствуйте! Помогите решить икую задачку: для двух товаров надо посивить условие, чтобы при нажатии на страниэто товара кнопки "в корзину" они попадали не в корзину, а переходили по ссылке на другой url. Осильные товары должны покупаться обычно. Думаю, что можно задать IF-условие для кнопки "в корзину", но не получается это сгделать...
  5. Спасипотому что! Но немного не устраивает, как реализовано. Есть ли еещё известные решения или кто-то готов написать скрипт?
  6. Ищу модуль (или исполнителя), который позволит продавать пин коды. Т.е. в админке для товара загружается список кодов для продажи "один в одни руки". После отвеи от плат.системы клиент получает уникальный код.
  7. rb2, вы правы. Наверное, от 1.4. Не возьметесь ли вы (или люпотому чтой желающий) дорилиить его до актуальной версии с правом последуюещёй продажи? Модуля этого в паблике нет. Покупал в том году, продавец пропал, разрилитлик неизвестен, кониктов и имен в скрипте нет.
  8. Другие инструменты оплаты я не пропотому чтовал, но если вы полагаете, что гдело в модуле Интеркассы, можете подсказать, ггде именно исправить переадресацию? catalog/controller/payment/interkassa.php <?php class ControllerPaymentInterkassa extends Controller { private $order; private $log; private static $LOG_OFF = 0; private static $LOG_SHORT = 1; private static $LOG_FULL = 2; public function __construct($registry) { parent::__construct($registry); $this->language->load('payment/interkassa'); } protected function index() { $this->data['text_confirm_title'] = $this->language->get('text_confirm_title'); $this->data['button_confirm'] = $this->language->get('button_confirm'); $this->data['button_back'] = $this->language->get('button_back'); $this->data['return'] = HTTPS_SERVER . 'index.php?route=checkout/success'; if ($this->request->get['route'] != 'checkout/guest_step_3') { $ik_baggage_fields = 'index.php?route=checkout/payment'; } else { $ik_baggage_fields = 'index.php?route=checkout/guest_step_2'; } $this->data['back'] = HTTPS_SERVER . $ik_baggage_fields; $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $ik_payment_amount = number_format($this->currency->format($order_info['total'], $this->config->get('interkassa_currency'), $this->currency->getValue($this->config->get('interkassa_currency')), FALSE), 2, '.', ''); $ik_payment_id = $this->session->data['order_id']; $ik_paysystem_alias = ''; $this->_setData(array( 'action' => 'http://www.interkassa.com/lib/payment.php', //Игдентификатор магазина //Игдентификатор магазина зарегистрированного в системе «INTERKASSA». Узнать его можно в разгделе «Настройки магазина». //Пример: 64C18529-4B94-0B5D-7405-F2752F2B716C 'ik_shop_id' => $this->config->get('interkassa_shop_id'), //Сумма платожеа //Сумма платожеа, которую продавец желает полулить от покупателя (с учетом валюты и курса магазина, настраивается в «Настройки магазина»). Сумма должна быть потому чтольше нуля, дробная часть отгделяется точкой. //Пример: 1.00 'ik_payment_amount' => $ik_payment_amount, //Игдентификатор платожеа //В этом поле продавец задает игдентификатор покупки в соответствии со своей системой учеи. Желательно использовать уникальный номер для каждого платожеа, что позволит быстро полулить относящуюся к нему информацию через другие интерфейсы системы Interkassa Payment Interface. 'ik_payment_id' => $ik_payment_id, //Описание платожеа //Описание товара или услуги. Формируется продавцом. Строка добавляется в назначение платожеа. //Максимальная длина - 255 символов. //Пример: iPod 80Gb черный 'ik_payment_desc' => sprintf($this->language->get('text_ik_payment_desc'), $this->session->data['order_id']), //Способ оплаты (пока не используется) //Поле позволяет заранее опрегделить способ оплаты для покупателя. Для того, что бы покупатель мог сам выбрать способ оплаты, осивьте это поле пустым. //Возможные значения: //<ПУСТО>, webmoneyz, webmoneyu, webmoneyr, webmoneye, ukrmoneyu, ukrmoneyz, ukrmoneyr, ukrmoneye, liberty, pecunix… 'ik_paysystem_alias' => $ik_paysystem_alias, //Пользовательское поле (записывается URL возвраи на платожеа) //Это поле обрабатываются сервисом Interkassa Payment Interface автоматически и передается на веб-сайт продавца после выполнения платожеа. //Максимальная длина - 255 символов. //Пример: email: [email protected], tel: +380441234567 'ik_baggage_fields' => $ik_baggage_fields, //Электронная подпись //Контрольная подпись оповеещёния о выполнении платожеа, которая используется для проверки этолостности полученной информации и однозначной игдентификации отправителя. Несмотря на то, что параметр является не обязательным, мы рекомендуем всегда задавать его для повышения безопасности и свегдения к минимуму возможности подгделки данных платожеа злоумышленником. 'ik_sign_hash' => strtoupper(md5($this->config->get('interkassa_shop_id') . ':' . $ik_payment_amount . ':' . $ik_payment_id . ':' . $ik_paysystem_alias . ':' . $ik_baggage_fields . ':' . $this->config->get('interkassa_sign_hash'))), 'ik_success_url' => HTTPS_SERVER . 'index.php?route=payment/interkassa/success', 'ik_success_method' => 'POST', 'ik_fail_url' => HTTPS_SERVER . 'index.php?route=payment/interkassa/fail', 'ik_fail_method' => 'POST', 'ik_status_url' => HTTPS_SERVER . 'index.php?route=payment/interkassa/status', 'ik_status_method' => 'POST', )); $this->id = 'payment'; if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/interkassa.tpl')) { $this->template = $this->config->get('config_template') . '/template/payment/interkassa.tpl'; } else { $this->template = 'default/template/payment/interkassa.tpl'; } $this->render(); } public function status() { $this->logWrite('StatusURL: ', self::$LOG_FULL); $this->logWrite(' POST:' . var_export($this->request->post, true), self::$LOG_FULL); $this->logWrite(' GET:' . var_export($this->request->get, true), self::$LOG_FULL); if (!$this->validate()) { return; } if ($this->request->post['ik_payment_state'] == 'success') { $this->model_checkout_order->confirm($this->order['order_id'], $this->config->get('interkassa_order_status_id'), sprintf($this->language->get('text_comment'), $this->request->post['ik_paysystem_alias'], $this->request->post['ik_payment_amount'], $this->request->post['ik_trans_id'] )); } $this->sendOk(); } public function success() { $this->logWrite('SuccessURL', self::$LOG_FULL); $this->logWrite(' POST:' . var_export($this->request->post, true), self::$LOG_FULL); $this->logWrite(' GET:' . var_export($this->request->get, true), self::$LOG_FULL); if ($this->validate()) { $this->redirect(HTTPS_SERVER . 'index.php?route=checkout/success'); } else { if (isset($this->request->post['ik_baggage_fields'])) { $this->redirect(HTTPS_SERVER . $this->request->post['ik_baggage_fields']); } else { $this->redirect(HTTPS_SERVER . 'index.php?route=checkout/payment'); } } return true; } public function fail() { $this->logWrite('FailURL', self::$LOG_FULL); $this->logWrite(' POST:' . var_export($this->request->post, true), self::$LOG_FULL); $this->logWrite(' GET:' . var_export($this->request->get, true), self::$LOG_FULL); $this->redirect(HTTPS_SERVER . $this->request->post['ik_baggage_fields']); return true; } private function validate() { $this->load->model('checkout/order'); if ($this->request->server['REQUEST_METHOD'] != 'POST') { $this->sendForbidden($this->language->get('text_error_post')); return false; } ; $ik_sign_hash_string = $this->config->get('interkassa_shop_id') . ':' . $this->request->post['ik_payment_amount'] . ':' . $this->request->post['ik_payment_id'] . ':' . $this->request->post['ik_paysystem_alias'] . ':' . $this->request->post['ik_baggage_fields'] . ':' . $this->request->post['ik_payment_state'] . ':' . $this->request->post['ik_trans_id'] . ':' . $this->request->post['ik_currency_exch'] . ':' . $this->request->post['ik_fees_payer'] . ':' . $this->config->get('interkassa_sign_hash'); $ik_sign_hash = strtoupper(md5($ik_sign_hash_string)); if (strtoupper($this->request->post['ik_sign_hash']) != $ik_sign_hash) { $this->sendForbidden($this->language->get('text_error_ik_sign_hash')); $this->logWrite($ik_sign_hash . '=md5(' . $ik_sign_hash_string . ')', self::$LOG_SHORT); return false; } ; $this->order = $this->model_checkout_order->getOrder($this->request->post['ik_payment_id']); if (!$this->order) { $this->sendForbidden(sprintf($this->language->get('text_error_order_not_found'), $this->request->post['ik_payment_id'])); return false; } return true; } private function sendForbidden($error) { $this->logWrite('ERROR: ' . $error, self::$LOG_SHORT); header('HTTP/1.1 403 Forbidden'); echo "<html> <head> <title>403 Forbidden</title> </head> <body> <p>$error.</p> </body> </html>"; } private function sendOk() { $this->logWrite('OK: ' . http_build_query($this->request->post, '', ','), self::$LOG_SHORT); header('HTTP/1.1 200 OK'); echo "<html><head><title>200 OK</title></head></html>"; } private function _setData($values) { foreach ($values as $key => $value) { if (is_int($key)) { $this->data[$value] = $this->language->get($value); } else { $this->data[$key] = $value; } } } private function logWrite($message, $type) { switch ($this->config->get('interkassa_log')){ case self::$LOG_OFF: return; case self::$LOG_SHORT: if ($type == self::$LOG_FULL){ return; } } if (!$this->log) { $this->log = new Log('interkassa.log'); } $this->log->Write($message); } } ?> вот это? $this->redirect(HTTPS_SERVER . 'index.php?route=checkout/payment');
  9. Как же не для человека, если после оплаты, например, в Интеркассе, человек попадает на эту стр. После успешной оплаты, после нажатия "Вернуться в интернет-магазин" открывается эи страница.
  10. Давайте проверим, одно и то же ли мы видим. Я в версии 1.5.1.3 на разных сайих (в т.ч. не моих) набераю ДОМЕН/index.php?route=checkout/payment и вижу это: В ранних версиях тут показывается пусия корзина. Я думаю, это норм.ответ, но не как на скрине.
  11. afwollis, вы могли бы подсказать, как?
  12. В версии 1.5.1.3 на вашем сайте наберите ДОМЕН/index.php?route=checkout/payment В ранних версиях подобного не заметил. Как устранить сие?
×
×
  • Create New...

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.