Jump to content
Sign in to follow this  
Bross

Выборка переменных товара на этапе формирования заказа (под платежку)

Recommended Posts

Здрасте!

 

Стоит задача передать параметры заказа в платёжную систему. В отличие от других платёжек (сравниваю эквайринг от Сбера, Киви, Яндекс), данный вариант (предоставление кредита YesCredit) требует модель товара (принципиально подтянуть именно модель, потому как название и модель немного разнятся из-за специфического представления информации) и количество.

 

Так вот, в программировании я не силён.  :-)

 

Что уже "получилось":

 

1) Забрать номер заказа

<?php
        
        //Описание номера заказа
        if (isset($this->request->get['order_id'])) {
                
			$order_id = $this->request->get['order_id'];
		} else {
			$order_id = '';
		}
		if ($order_id == ''){
		$order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']);
		}else{
		$order_info = $this->model_account_order->getOrder($order_id);
                
	}

2) Выхватить тотал суммы заказа и номер заказа.

$product_price = $this->currency->format($order_info['total']);
$order_id = $order_info['order_id'];

Но почему-то не получается подтянуть модель и количество. Подскажите, в каком файле\модели\контроллере происходит присвоение данных переменным, которые мне необходимы.

Share this post


Link to post
Share on other sites

Если есть сформированный в базе заказ, то по его ID вытаскиваете ID товаров из таблицы order_product по order_id = $order_id

Получите массив, в котором есть элементы с нужными ключами:

'model' - модель товара

'quantity' - кол-во товара

 

т.е. в вашем случае после $order_id = $order_info['order_id'];

сделайте запрос:

$query = $thid->db->query("SELECT * FROM " . DB_PREFIX . "order_product WHERE order_id = ".$order_id);

далее в цикле

foreach ($query->rows as $row) {

$model = $row['model'];

$quantity = $row['quantity'];

}

далее уже делайте, что нудно с этими данными

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
You are posting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

  • Similar Content

    • By SirGrey
      1 200.00 руб
      Скачать/Купить дополнение


      Тинькофф Кредит (КупиВкредит)
      Модуль оплаты для возможности покупки в кредит на вашем сайте

      Используется простая схема интеграции.

      После выбора метода оплаты "Купить в кредит" клиент перенаправляется на заполнение формы заявки, которая отправляется в банк.

      Реализовано с помощью сервиса Тинькофф Кредит (КупиВкредит) .
      Подробности подключения магазина здесь:
      https://www.tinkoff.ru/business/loans/

      Результат одобрения/отказа по кредиту вы можете видеть в личном кабинете сервиса Тинькофф Кредит. 
      В случае одобрения сделки менять статус заказа нужно самостоятельно.
      Добавил SirGrey Добавлено 13.07.2018 Категория Платежные системы Системные требования Сайт разработчика http://simple-opencart.com/ Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.2
      2.1
      2.0
      1.5.6.4
      1.5.6.3
      1.5.6.2
      1.5.6.1
      1.5.6
      1.5.5.1 ocStore 3.0
      2.3
      2.2
      2.1
      1.5.5.1.2
      1.5.5.1.1
      1.5.5.1 OpenCart.Pro, ocShop Не проверялось Обращение к серверу разработчика Нет  
    • By CGS
      1 000.00 руб
      Скачать/Купить дополнение


      Модуль платёжной системы "Monobank (Монобанк) | Universal Bank"
      Модуль платёжной системы "Monobank (Монобанк) | Universal Bank".
       
      Описание:
      Модуль позволяет производить оплату частями через платёжную систему "Monobank | Universal Bank".
      Кол-во частей выбирается покупателем. Варианты кол-ва частей оплаты задаётся в настройках модуля.
      Совместимо с модулем Simple.
       
      Демо: http://qviz.cgs.space
      Логин: demo
      Пароль: demo
      (покупка должна быть от 1000)
       
      Установка:
      Через “Установщик дополнений OCMOD” в панели администрирования.
       
      Версия 1.0.11
      Исправления для версии магазина 3.x.x
      Исправлены переменные.
       
      Версия 1.0.10
      Добавлена версия под Opencart/Store 3.x.x
       
      Версия 1.0.10
      Добавлена версия под Opencart/Store 2.1.x
      Исправлена ошибка добавления .00 при формировании суммы.
       
      Версия 1.0.9
      Добавлена возможность назначать кол-во частей оплаты в производителях, категориях и товарах.
      Про настройки частей, добавлены поля в производителей, категории и товара.
      Приоритет товар -> категория -> производитель, то есть настройка поля товара имеет высший приоритет. И ещё момент, если установить в этих полях или одном каком то поле 0, то это будет означать что модуль не будет задействован в данном случае, и так же если не указано вообще ничего, то по умолчанию берётся настройка из модуля "Кол-во частей оплаты".
       
      Версия 1.0.6
      Исправлены ошибки.
       
      Версия 1.0.5
      Добавил CGS Добавлено 21.12.2018 Категория Платежные системы Системные требования Сайт разработчика Старая цена Метод активации Без активации Ioncube Loader Нет OpenCart 3.0
      2.3
      2.1 ocStore 3.0
      2.3
      2.1 OpenCart.Pro, ocShop Opencart.pro 2.3
      Opencart.pro 2.1 Обращение к серверу разработчика Нет  
    • By Alexanderder
      Здравствуйте!
      Подскажите пожалуйста решение. Бьюсь уже второй день и понимаю, что что-то упускаю.
      Мне нужно настроить платежную систему paygateway на opencart 1.5
      Ошибка на первом шаге передачи параметров на сервер оплаты.
      Вот файл php 
      <?php class ControllerPaymentCod1 extends Controller { protected function index() { $this->data['button_confirm'] = $this->language->get('button_confirm'); //$this->data['button_back'] = $this->language->get('button_back'); $this->data['action'] = 'https://secure.test.paygateway.ru/api/payment/start'; $this->load->model('checkout/order'); $order_info = $this->model_checkout_order->getOrder($this->session->data['order_id']); $this->data['number'] = $order_info['order_id']; $this->data['amount'] = ceil($order_info['total']); $this->data['amountcurr'] = $order_info['currency_code']; $this->data['description'] = urlencode("Тестовая оплата"); $this->data['currency'] = 'MBC'; $this->data['trtype'] = '1'; $this->data['account'] = 'ACC004129'; $this->data['signature'] = "$amount:$amountcurr:$currency:$number:$description:"; $this->data['signature'] .= "$trtype:$account:"; $this->data['signature'] .= "key1:key2"; $this->data['signature'] = strtoupper(md5($signature)); if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/payment/cod_1.tpl')) { $this->template = $this->config->get('config_template') . '/template/payment/cod_1.tpl'; } else { $this->template = 'default/template/payment/cod_1.tpl'; } $this->render(); } А вот tpl 
      <form action="https://secure.test.paygateway.ru/api/payment/start" method=POST> <input type="hidden" name="amount" value="<?echo $amount; ?>"> <input type="hidden" name="amountcurr" value="<?echo $amountcurr; ?>"> <input type="hidden" name="currency" value="<?echo $currency; ?>"> <input type="hidden" name="number" value="<?echo $number; ?>"> <input type="hidden" name="description" value="<?echo $description; ?>"> <input type="hidden" name="trtype" value="<?echo $trtype; ?>"> <input type="hidden" name="account" value="<?echo $account; ?>"> <input type="hidden" name="signature" value="<?echo $signature; ?>"> </form> <div class="form-actions"> <input type="submit" > </div> Что происходит: при нажатии на оплату, отправляется post но сразу же происходит редирект на магазин. Все параметры передаются именно так как и должны.

      В чем может быть дело?
    • By CGS
      Модуль платёжной системы "Monobank (Монобанк) | Universal Bank".
       
      Описание:
      Модуль позволяет производить оплату частями через платёжную систему "Monobank | Universal Bank".
      Кол-во частей выбирается покупателем. Варианты кол-ва частей оплаты задаётся в настройках модуля.
      Совместимо с модулем Simple.
       
      Демо: http://qviz.cgs.space
      Логин: demo
      Пароль: demo
      (покупка должна быть от 1000)
       
      Установка:
      Через “Установщик дополнений OCMOD” в панели администрирования.
       
      Версия 1.0.11
      Исправления для версии магазина 3.x.x
      Исправлены переменные.
       
      Версия 1.0.10
      Добавлена версия под Opencart/Store 3.x.x
       
      Версия 1.0.10
      Добавлена версия под Opencart/Store 2.1.x
      Исправлена ошибка добавления .00 при формировании суммы.
       
      Версия 1.0.9
      Добавлена возможность назначать кол-во частей оплаты в производителях, категориях и товарах.
      Про настройки частей, добавлены поля в производителей, категории и товара.
      Приоритет товар -> категория -> производитель, то есть настройка поля товара имеет высший приоритет. И ещё момент, если установить в этих полях или одном каком то поле 0, то это будет означать что модуль не будет задействован в данном случае, и так же если не указано вообще ничего, то по умолчанию берётся настройка из модуля "Кол-во частей оплаты".
       
      Версия 1.0.6
      Исправлены ошибки.
       
      Версия 1.0.5
    • By matroskin92
      Простое решение для реального упрощения оформления заказа, с настройкой которого разберется любой чайник. Модуль разделен на блоки, содержание (поля, методы) которых можно настроить индивидуально (например, для каждой группы доставки указать свои поля, а для самовывоза и вовсе их отключить). 
      При разработке модуля был использован опыт и требования к оформлению заказа интернет-магазинов с высокой конверсией продаж.
       
      ДЕМО
      Opencart / ocStore 2.3
      Opencart / ocStore 3.0
       
      Логин: demo
      Пароль: demo
       
      УСТАНОВКА
      Установите модуль через стандартный установщик Перейдите к настройкам модуля "Оформление заказа Custom" Осуществите первичную настройку модуля Обновите кэш модификаторов (Встроенный модификатор осуществляет переадресацию со стандартных страниц корзины и оформления заказа на настраиваемую.)  
      ЧТО ВНУТРИ
      Модуль имеет 8 основных блоков на одной странице
      Оформить как - (с регистрацией, без регистрации и авторизация) Корзина (с набором колонок, необходимых для отображения на странице) Личные данные (настройка полей для каждой группы пользователей) Доставка (поля, с отметкой для каких методов осуществлять отображение) Оплата (методы и группы пользователей для отображения) Поле комментария Модуле (таких как подарочные сертификаты, купоны) Итоговая таблица   
      Данное решение удовлетворит большинство магазинов, которым необходимо простое и быстрое оформление заказа, но нет желания устанавливать сложные модули. 
       
      ИЗМЕНЕНИЕ ОФОРМЛЕНИЯ
      Вы можете самостоятельно изменить оформление и изменить расположение блоков на свое усмотрение. Для сохранения работоспособности модуля сохраняйте уникальные идентификаторы (id) и названия полей и методов (name). В планах добавить в модуль различные темы оформления для быстрого старта.
       
      ПОДДЕРЖКА
      Поддержка осуществляется преимущественно в личных сообщениях, а так же по электронной почте support@matro.site
       
      Простая корзина, упрощенная корзина, custom checkout
       
      Внимание, описание выше соответствует модулю версии 2.0. Если Вы покупали модуль ранее - Вы можете бесплатно обновиться до актуальной версии.
  • Recently Browsing   0 members

    No registered users viewing this page.

×

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.