Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

job

Newbie
  
  • 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.