-
Публікації
113 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Усі публікації користувача DenKuzmin
-
Помогите исправить ошибку.
topic відповів в DenKuzmin DenKuzmin Допомога програмістам та розробникам
Подскажите, пожалуйста. У меня всё работает, но после оплаты в 3dsecure перекидывает на index.php?route=payment/rbs/callback&orderId=63afe0... с ошибкой 500. В личном кабинете, в транзакциях, успешный платёж вижу, а в успешный заказ не приходит. Где искать проблему? PS Было ещё такое, если убираю всё после index.php?route=payment/rbs/callback&orderId, то вылетала ошибка: Undefined index: order_id in /home/a0263196/domains/mebelmassive.ru/public_html/test/catalog/controller/payment/rbs.php on line 231 Line 231 -
Помогите исправить ошибку.
topic відповів в DenKuzmin DenKuzmin Допомога програмістам та розробникам
Вроде как теперь всё работает. Спасибо большое! -
Помогите исправить ошибку.
topic відповів в DenKuzmin DenKuzmin Допомога програмістам та розробникам
Да, всё верно) -
Помогите исправить ошибку.
topic відповів в DenKuzmin DenKuzmin Допомога програмістам та розробникам
Поменял $this->data на $data. Ошибка пропала. Теперь выдаёт: Notice: Undefined index: cart_id in X:\openserver\OpenServer\domains\localhost\catalog\controller\payment\rbs.php on line 57 Notice: Undefined index: cart_id in X:\openserver\OpenServer\domains\localhost\catalog\controller\payment\rbs.php on line 65 Fatal error: Call to undefined function array_column() in X:\openserver\OpenServer\domains\localhost\system\library\rbs_discount.php on line 244 ...payment\rbs.php: ...rbs_discount.php: -
На osStore 1.5.5.1.2 В оформлении заказа, после нажатия Подтвердить на последнем пункте. Вылетают такие ошибки: Fatal error: Cannot re-assign $this in X:\openserver\OpenServer\domains\localhost\system\library\rbs.php on line 109 <?php /** * Интеграция платежного шлюза RBS с OpenCart */ class RBS { /** @var string $test Адрес тестового шлюза */ private $test_url = 'https://3dsec.sberbank.ru/payment/rest/'; /** @var string $prod_url Адрес боевого шлюза*/ private $prod_url = 'https://securepayments.sberbank.ru/payment/rest/'; /** @var string $language Версия страницы оплаты*/ private $language = 'ru'; private $defaultMeasurement = "шт"; /** @var string $version Версия плагина*/ private $version = '2.2.0'; /** @var string $login Логин продавца*/ private $login; /** @var string $password Пароль продавца */ private $password; /** @var string $mode Режим работы модуля (test/prod) */ private $mode; /** @var string $stage Стадийность платежа (one/two) */ private $stage; /** @var boolean $logging Логгирование (1/0) */ private $logging; /** @var string $currency Числовой код валюты в ISO 4217 */ private $currency; private $ofd_status; private $ffd_version; private $paymentMethodType; private $paymentObjectType; /** @var integer $taxSystem Код системы налогообложения */ public $taxSystem; public $taxType; public $discountHelper; public function __construct() { $this->library('rbs_discount'); $this->discountHelper = new rbsDiscount(); } /** * @return mixed */ public function getFFDVersion() { return $this->ffd_version; } /** * @return mixed */ public function getPaymentMethodType() { return $this->paymentMethodType; } /** * @return mixed */ public function getPaymentObjectType() { return $this->paymentObjectType; } /** * @return string */ public function getDefaultMeasurement() { return $this->defaultMeasurement; } /** * Магический метод, который заполняет инстанс * * @param $property * @param $value * @return $this */ public function __set($property, $value) { if (property_exists($this, $property)) { $this->$property = $value; } return $this; } /** * Формирование запроса в платежный шлюз и парсинг JSON-ответа * * @param string $method Метод запроса в ПШ * @param mixed[] $this->data Данные в запросе * @return mixed[] */ /* LINE 109:*/ private function gateway($method, $this->data) { // Добавления логина и пароля продавца к каждому запросу $this->data['userName'] = $this->login; $this->data['password'] = $this->password; $this->data['language'] = $this->language; // Выбор адреса ПШ в зависимости от выбранного режима if ($this->mode == 'test') { $url = $this->test_url; } else { $url = $this->prod_url; } $curl = curl_init(); curl_setopt_array($curl, array( CURLOPT_URL => $url.$method, CURLOPT_RETURNTRANSFER => true, CURLOPT_POST => true, CURLOPT_SSL_VERIFYHOST => false, CURLOPT_SSL_VERIFYPEER => false, CURLOPT_POSTFIELDS => http_build_query($this->data, '', '&'), CURLOPT_HTTPHEADER => array('CMS: OpenCart 2.1.x', 'Module-Version: ' . $this->version), )); $response = curl_exec($curl); if ($this->logging) { $this->logger($url, $method, $data, $response); } $response = json_decode($response, true); curl_close($curl); return $response; } /** * Логирование запроса и ответа от ПШ * * @param string $url * @param string $method * @param mixed[] $request * @param mixed[] $response * @return integer */ private function logger($url, $method, $request, $response) { $this->library('log'); $logger = new Log('rbs_payment.log'); $logger->write("RBS PAYMENT: ".$url.$method."\nREQUEST: ".json_encode($request). "\nRESPONSE: ".$response."\n\n"); } /** * Регистрация заказа в ПШ * * @param string $order_number Номер заказа в магазине * @param integer $amount Сумма заказа * @param string $return_url Страница в магазине, на которую необходимо вернуть пользователя * @param null $orderBundle * @return mixed[] Ответ ПШ */ public function register_order($order_number, $amount, $return_url, $orderBundle = null) { $this->data = array( 'orderNumber' => $order_number . "_". time(), 'amount' => $amount, 'returnUrl' => $return_url, 'jsonParams' => json_encode( [ 'CMS:' => 'Opencart 2.1.x', 'Module-Version: ' => $this->version ] ), ); if ($this->currency != 0) { $this->data['currency'] = $this->currency; } if ($this->ofd_status && !empty($orderBundle)) { $this->data['taxSystem'] = $this->taxSystem; $this->data['orderBundle']['orderCreationDate'] = date('c'); $this->data['orderBundle'] = json_encode($orderBundle); } return $this->gateway($this->stage == 'two' ? 'registerPreAuth.do' : 'register.do', $this->data); } /** * Статус заказа в ПШ * * @param string $orderId Идентификатор заказа в ПШ * @return mixed[] Ответ ПШ */ public function get_order_status($orderId) { return $this->gateway('getOrderStatusExtended.do', array('orderId' => $orderId)); } /** * В версии 2.1 нет метода Loader::library() * Своя реализация * @param $library */ private function library($library) { $file = DIR_SYSTEM . 'library/' . str_replace('../', '', (string)$library) . '.php'; if (file_exists($file)) { include_once($file); } else { trigger_error('Error: Could not load library ' . $file . '!'); exit(); } } }
-
Здравствуйте! Установил модуль сбербанка, который высылают вместе с инструкцией (стандартный модуль интернет-эквайринга). Модуль был для osStore 2.1, у меня osStore 1.5.5.1.2. Модуль адаптировал под 1.5.5.1.2. При оформлении заказа, если выбрана оплата через модуль сбер, в alert вылетает error. В консоли "jquery-1.8.3.js:8434 GET https://test.mebelmassive.ru/index.php?route=checkout/confirm 500". В чём может быть проблема?
-
Привет. На сайте, после заполнения формы заказа, сразу перенаправляет на страницу Спасибо. Без оплаты. Где смотреть, чтобы отправлял на страницу оплаты, например PayPal, подскажите, пожалуйста? osStore 1.5
-
Привет! Происходит странное дело при парсинге фото. У меня есть 2 товара со схожими артикулами: T005056 и T005056Б. Парсю фото с другого сайта для T005056Б. Фото попадает в товар, всё ок. При этом фото в товаре T005056 пропадает. Сделал с SEO-шаблоном, чтобы избежать замены фото в папке, но фотки в других товарах всё равно улетели. При этом на хостинге они остались, проверил. На скриншоте товар (Комод Оливия) на котором слетело фото. Обновлял товар, который под ним (Комод Оливия (белая эмаль)). Фото обновилось нормально, с новым названием по SEO-шаблону. Второй товар (Комод Оливия (белая эмаль)) это полная копия первого (Комод Оливия) только с другим артикулом и названием. Может у есть какие-то мысли по этому поводу?
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Здравствуйте. Установлен модуль Живая цена. Немного дописали, чтобы считал цену с +%, а именно: elseif ($pov['price_prefix'] == '+%') { $current_price = $price+$option_price; $option_price = round($current_price+$current_price*($pov['price']/100),2)-$price; } elseif ($pov['price_prefix'] == '-%') { $current_price = $price+$option_price; $option_price = round($current_price-$current_price*($pov['price']/100),2)-$price; } В Chrome, Mozilla, Opera и т.д. (на Windows) считает правильно. Прибавляет проценты от итоговой суммы всех опций. Проблема с Apple - Safari. В Safari +% только к изначальной цене товара, игнорируя опции. Не понятно, почему так происходит. Помогите, пожалуйста, разобраться.
-
Как добавить цену с +% в опции? Допустим стоимость товара 1000 руб. Добавляю опцию: Цвет - значение Красный: - цена значения: +%25. После экспорта, админке почему-то получаю +1250 руб. вместо +%25. Как сделать, чтобы после импорта в цене к значению опции было +%25?
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Подскажите, пожалуйста, если в настройках стоит галочка Обнулять отсутствующие значения, опции, которых нет в прайс-листе будут обнулены по цене и количеству?
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Да, извините, image/catalog/ У Вас в настройке "Обновлять фото" указано "Никогда". Попробуйте поменять на "Заменить все".
- 49 498 відповідей
-
- 1
-
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
1. У Вас в настройке "Обновлять фото" указано "Никогда". 2. Папки должны быть в image/data. Например image/data/krovati
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Посмотрите в настройках вот этот пункт PS папки должны находиться в image/data/ и прописаны на вкладке "Категории и наценки"
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Вроде как в самом низу, в настройках, есть опция "Использовать ID категорий:". Точно сказать не могу, то ли это самое. Сам не пользовался.
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Сделал так В опции: Цвет есть значение: Красный Действие: Обнулить цены в опциях Целевые категории (снизу): Кровати Обнулились все опции, в которые входит слово "цвет" во всех категориях. Все цвета обнулились.
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Почему не обновляет цены в опциях из прайса? Количество нормально обновляет, а цены не обновляет совсем. В настройках Опций все колонки правильно расписаны.
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Здравствуйте. Подскажите, пожалуйста, можно ли через Инструменты обнулить цены в только некоторых опций, не затрагивая при этом остальные?
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Здравствуйте. OpenCart 1.5.5.1.2 В прайсе вот такая запись: В настройках вот так: В результате какой-то бред: Всё записал как "=" ВМЕСТО "+%". При этом ещё и размер залез, который вообще в парйсе не указан. Такая билиберда только в первом товаре. В товаре, который идёт второй строкой всё ок. НО во фронтенд значения опций с "+%" выдаёт как и это никак не прибавляется к цене, пока не сохраню товар через админку. После сохранения товара через админку всё ок: и это значение прибавляется к цене как и должно. Как так? Что сделать, чтобы всё работало?
- 49 498 відповідей
-
- поставщики импорт
- наполнение им
- (і ще %d)
-
Подскажите, пожалуйста, как удалить этот модуль?
- 49 498 відповідей
-
- 1
-
-
- поставщики импорт
- наполнение им
- (і ще %d)