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

job

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

    13
  • З нами

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

job's Achievements

Apprentice

Apprentice (3/14)

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

Recent Badges

0

Репутація

  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 В ранних версиях подобного не заметил. Как устранить сие?
×
×
  • Створити...

Important Information

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