Перейти к содержанию
vladimir.adm

Создание отдельной страницы для размещения формы оплаты

Рекомендуемые сообщения

Приветствую всех!

 

Клиент хочет, чтоб предоплата заказа осуществлялась после проверки наличия товара.

Соответственно, необходимо создавать заказ и после проверки наличия отправлять в письме ссылку на страницу, на которой клиент будет выбирать размер (20% или 100%) и способ предоплаты (privat24, liqpay или другие) и оплачивать онлайн. 

 

Кто-нибудь сталкивался с такой необходимостью?

 

Сгенерировать ссылку с номером заказа в письме получилось.

20% от суммы заказа в ссылке передать могу.

 

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

 

Посоветуйте как правильно сделать такую страницу: отдельно от движка или все-таки создавать отдельно и контроллер и файл шаблона?

 

Зарнее спасибо всем откликнувшимся.

 

З.Ы. В теме "https://opencartforum.com/topic/52688-%D0%BF%D1%80%D0%B5%D0%B4%D0%BE%D0%BF%D0%BB%D0%B0%D1%82%D0%B0-%D0%B7%D0%B0-%D0%B4%D0%BE%D1%81%D1%82%D0%B0%D0%B2%D0%BA%D1%83-%D0%B8%D0%BB%D0%B8-100-%D1%81%D1%83%D0%BC%D0%BC%D1%8B-%D0%B7%D0%B0%D0%BA%D0%B0%D0%B7%D0%B0-%D0%BD%D0%B0-%D0%B2%D1%8B%D0%B1/" решения нет.

Изменено пользователем vladimir.adm

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Почитав местный форум, а также форум opencart_com решил, что правильно будет не "отделять" страницу от движка: создал контроллер, языковый файл и файл шаблона.

По факту, скопировал и переименоал файлы страницы checkout/cart.

 

При вводе адреса site.com/index.php?route=checkout/prepay появляется пустая корзина (ну путать с пустой страницей!!! :)).

 

Теперь прошу помочь разобраться, как в созданную страницу передать номер заказа.

 

В письме покупателю приходит ссылка вида: site.com/index.php?route=checkout/prepay&order_id=1

 

Как проверить статус заказа и вывести инфо?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всем привет.

Теперь вопрос, заданный в прошлом сообщении, считаю элементарным, т.к. разобрался. :)

 

Решил следующим образом:

1) В ссылке передаю номер заказа и сумму

2) При открытии страницы по ссылке идет проверка на статус заказа (чтоб никто не смог методом перебора посмотреть заказы)

3) Если статус заказа равен нужному (готов к оплате) и сумма в ссылке совпадает с суммой, которая хранится в базе сайта, то отображаем всю информацию по заказу (номер, дата, список товаров и т.д.)

 

Теперь не могу до конца понять как мне на этой странице отобразить форму одной из платежных систем (которая в админке выключена) независимо от метода доставки и региона.

 

Объясните, пожалуйста:

1) есть все данные о заказе

2) есть установленная платежная система

 

Вопрос (возможно задам неправильно): как из контроллера моей страницы подключить контроллер платежной системы?

 

Правильно ли я понимаю, что можно/нужно скопировать из контроллера платежной системы функции в свой контроллер и вызывать их?

Блин, даже не знаю как правильно спросить...

 

Только в этот раз не бросайте одного, пожалуйста. Этот вопрос, в отличие от предыдущих, не элементарный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Что-то я совсем запутался... :(

 

Мне нужно на страницу вывести конкретную систему оплаты, модуль которой установлен (и работает, если включить), но выключен.

 

Я правильно понимаю, что мне нужно обратиться в контроллеру модуля?

На сайте docs.opencart.com/developer/loading/ имеется следующий текст:

 
Loading library files

The OpenCart directory contains a collection of library files that can be accessed by both the admin and catalog controller files. These files are located under system/library in the root folder of the OpenCart store. In the code examples seen inloading the language file, both $this->load->language and $this->document give access to functions within the language.php and document.php files in the library folder. If you want to access a function in a library file you need to call it using $this->[insert library file name]->function() in the controller class.

 

Правильно ли я понимаю, что мне нужно из контроллера страницы вызывать функции модуля через $this->controller_payment_kaznachey (он находится по пути controller/payment/kaznachey) ?

 

Пытаюсь понять, как по аналогии с файлом chackout/checkout отобразить один метод оплаты (указать конктретный независимо от того, какие методы оплаты включены/выключены)

 

Насколько я понимаю, за вывод доступных методов оплаты отвечает этот метод:

public function change_payment() {
$json = array();
$payment_code = $this->request->post['payment_code'];
if(isset($payment_code)) {
$this->session->data['payment_method'] = $this->session->data['payment_methods'][$payment_code]['title'];
$this->session->data['payment_code'] = $payment_code;
$json['payment'] = $this->getChild('payment/' . $payment_code);
}


$this->response->setOutput(json_encode($json));
}

Намекните, что тут надо подправить?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.