Я создаю сайт бронирования билетов с использованием API, я использую JSON для получения & публиковать значения и создавать сессии php для передачи данных на другие страницы,
страница 1: создание сессий
страница 2: платежный шлюз (я проверил страницу оплаты сессии, она работает нормально)
страница 3: страница успеха (после перенаправления с платежного шлюза на страницу моего сервера сеансы показывают нулевые значения в браузере Chrome, но отлично работают в Firefox).
Все предложения приветствуются. Спасибо заранее.
некоторый код
<?php
session_start();
if(isset($_REQUEST['blockTicketId'])!=''){
$rootId= $_REQUEST['ruteId'];
if( $_REQUEST['dropPoint_'.$rootId]!=''){
$board = explode("_", $_REQUEST['dropPoint_'.$rootId]);
}
$_SESSION['formcity']=$_REQUEST['fromCity'];
$_SESSION['tocity']=$_REQUEST['toCity'];
$_SESSION['dateofjurny']=$_REQUEST['fromDate'];
$_SESSION['pickup']=$board[0];
$_SESSION['pickupTime']=$board[2];
$_SESSION['travelName']=$_REQUEST['travelNmae'];
$_SESSION['seat']=$_REQUEST['selectedSeat_'.$rootId];
echo $_SESSION['blockTicketNumber']=$_REQUEST['blockTicketId'];
$_SESSION['mobno']=$_REQUEST['bookerMob'];
$_SESSION['mailid']=$_REQUEST['bookerEmail'];
$_SESSION['user']=$_REQUEST['UserName_1'];
$_SESSION['amnt']=$_REQUEST['selectedSeatAmnt_'.$rootId];
?>
<html>
<head>
<script>
function submitPayuForm() {
var payuForm = document.forms.payuForm;
payuForm.submit();
}
</script>
</head>
<body onLoad="submitPayuForm()">
<form action="PayUMoney_form.php" method="post" name="payuForm">
<table>
<tr>
<td></td>
</tr>
<tr>
<td></td>
<td><input style="visibility:hidden" name="amount" value="<?php echo "1"; ?>" /></td>
<td></td>
<td><input style="visibility:hidden" name="firstname" id="firstname" value="<?php echo $_REQUEST['UserName_1']; ?>" /></td>
</tr>
<tr>
<td></td>
<td><input style="visibility:hidden" name="email" id="email" value="<?php echo $_REQUEST['bookerEmail']; ?>" /></td>
<td></td>
<td><input style="visibility:hidden" name="phone" value="<?php echo $_REQUEST['bookerMob']; ?>" /></td>
</tr>
<tr>
<td colspan="4"><input type="submit" style="visibility:hidden" value="Submit" /></td>
</tr>
</table>
</form>
</body>
</html>
<?php
}
?>
Причиной такого поведения является то, что сеансовые куки-файлы не имеют даты истечения срока действия и стираются, когда браузер закрывается или веб-сайт остается. Таким образом, cookie больше не будет присутствовать, когда пользователь вернется с сайта оплаты.
Решением этой проблемы является включение некоторого атрибута идентификации в строку запроса ссылки обратного вызова. Вам также нужно будет сохранить данные сеанса вместе с атрибутом идентификации на вашем сервере.
Других решений пока нет …