В настоящее время у меня есть большая форма, которая отправляется нашему авторизатору платежей (сделано действием action = "paymentautherizerURL"), однако я не получаю всю необходимую мне информацию обратно, когда я иду, чтобы сохранить транзакцию в моемDB.
Мне нужно либо перехватить данные формы перед их отправкой, чтобы я мог сохранить их в сеансе (мы используем PHP / jQuery), либо я также попытался отправить их в промежуточный скриптлет, который захватываетнеобходимую информацию, а затем с помощью $ .post () jQuery пересоздать и отправить данные авторизатору.
второй подход, похоже, не работает, по крайней мере, в меру моих усилий.Я не уверен, что $ .post должным образом эмулирует действие отправки формы, или, по крайней мере, я не сделал это правильно.
<?php
session_start();
$post = $_POST;
//gets all of the information that beanstream does not return to approved.php, but is still required to make
//a legitimate database entry. gets from the POST and stores in the session array for approved.PHP to access
$_SESSION['approvedArray']['billAddress'] = $_POST['ordAddress1'];
$_SESSION['approvedArray']['billProvince'] = $_POST['ordProvince'];
$_SESSION['approvedArray']['billCountry'] = $_POST['ordCountry'];
$_SESSION['approvedArray']['billPostalCode'] = $_POST['ordPostalCode'];
$_SESSION['approvedArray']['billCity'] = $_POST['ordCity'];
$_SESSION['approvedArray']['shipAddress'] = $_POST['shipAddress1'];
$_SESSION['approvedArray']['shipPostal'] = $_POST['shipPostalCode'];
$_SESSION['approvedArray']['shipCity'] = $_POST['shipCity'];
$_SESSION['approvedArray']['shipProvince'] = $_POST['shipProvince'];
$_SESSION['approvedArray']['shipCountry'] = $_POST['shipCountry'];
session_write_close();
//the javascript below will send what is required to beanstream as though it were sent from the form
<script type='text/javascript'>
$.post(, {
<?php
//rebuild the POST such that "name: value, " except the last name/value will not be followed by a comma
$keys = array_keys($_POST);
for($i = 0; $i < count($_POST); $i++) {
$currentKey = $keys[$i];
$currentPost = $_POST[i];
echo $currentKey . ": " . $currentPost;
if ($i < (count($_POST) - 1)) {
echo ", ";
}
}
?>
});
</script>
?>
обычно, авторизатор транзакций перенаправляет пользователя к одному из3 страницы (утверждено, отклонено, ошибка), и наш веб-сайт выполняет свою работу оттуда.тем не менее, в настоящее время он застрял на этой странице, что заставляет меня думать, что оно не отсылает должным образом.
Я открыт для всех форм критики, подходов и идей.Большое спасибо заранее, и если нужна какая-либо другая информация, пожалуйста, дайте мне знать!