У меня проблема с движком магазина osCommerce. Я пользуюсь сторонним платежным сайтом. Если клиент не нажмет, чтобы вернуться на мою страницу, заказ не будет сохранен.
Вот код двух вариантов: первый — это URL-адрес внешней веб-страницы, второй — страница, на которой сохранен порядок (checkout_success.php). Могу ли я сделать что-нибудь, чтобы открыть их обоих?
<?php
if (isset($$payment->form_action_url)) {
$form_action_url = $$payment->form_action_url; ///opens external site
} else {
$form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL'); ///saves the order
}
?>
Сначала вы должны сохранить заказ, перенаправив на FILENAME_CHECKOUT_PROCESS
URL и после этого вы можете перенаправить на внешний сайт оплаты.
Ваш код должен выглядеть так
<?php
if (isset($$payment->form_action_url)) {
$_SESSION['externalPaymentSite'] = true;
}
$form_action_url = tep_href_link(FILENAME_CHECKOUT_PROCESS, '', 'SSL'); /saves the order
?>
и после сохранения заказа в FILENAME_CHECKOUT_PROCESS
ты должен сделать что-то вроде
if ($_SESSION['externalPaymentSite'] === true) {
// 1. delete session externalPaymentSite
// 2. redirect to external site
}
Других решений пока нет …