| Категории [FAQ] Часто задаваемые вопросы и ответы Проблемы и решения Ошибки и исправления Общие вопросы   Расширения Установка и обновление   Модули Шаблоны   Локализация интерфейса Коммерческие предложения Учимся бизнесу Бизнес книги Поисковая оптимизация (SEO) Магазины на ShopOS Хостинг для ShopOS Предложения и пожелания Курилка   | МодулЬ оплаты КвитанцияВсем привет. С новым годом!!У меня такой вопрос
 есть модуль оплаты kvitancia.php
 мне нужно чтобы по завершении оплаты этим способом клиент переходил на сторонний сайт
 делаю $this->form_action_url = "адрес сайта";
 на сайт переходит, но заказ в базу данных не попадает, если убрать  $this->form_action_url то заказ в базу данных попадает
 как сделать чтобы до перехода на сайт информация о заказе попадала в базу данных??
 
 юзал функции after_process и before_process но эффекта нет
 
 Если не ошибаюсь, то нужно в function confirmation() добавить код оформления заказа. Посмотрите как реализовано в webmoney мерчант. 
 нет тут эта функция не причем, можно дописать в нее но думаю не рационально будет, за добавление в базу отвечает файл checkout_process.php
 алгоритм следующий, в пхп файле квитанции должен быть form_action_url но переход по этому урлу должен происходить после перехода со страницы подтверждения , т.е. перед загрузкой страницы checkout_success.php
 
 подтверждение адреса -> выбор способа оплаты -> подтверждение -> и переход на сайт где можно оплатить банком не выходя из дома
 
 сделал следующее в файле checkout_confirmation.php
 
 if (isset ($$_SESSION['payment']->form_action_url) && !$$_SESSION['payment']->tmpOrders) {
 //********************************************************************************
 if ($order->info['payment_method'] == 'kvitancia'){
 //Костыль
 $payment_url = $$_SESSION['payment']->form_action_url;
 //Костыль
 $form_action_url = os_href_link(FILENAME_CHECKOUT_PROCESS, 'url='.$payment_url, 'SSL');
 }
 else {
 $form_action_url = $$_SESSION['payment']->form_action_url;
 }
 //*******************************************************************************
 } else {
 $form_action_url = os_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL');
 }
 
 все то что между звездочек дописал сам
 тут все нормально, перешли дальше на checkout_process.php с него переходим на checkout_success.php
 теперь нам отсюда надо перейти сразу на сайт оплаты, делаю следующим образом, но не получается получить урл из класса
 
 require (_CLASS.'payment.php');
 $payment_url = new payment('kvitancia');
 $form_action_url = $payment_url->form_action_url;
 os_redirect($form_action_url);
 
 почему то урл не приходит7 может кто подскажет где ошибка
 
 сделал сам! просто поместил урл в массив $_SESSION где нужно достал оттуда
 спасибо NEBOX за ответ.
 
 Источник 
 
 |