returnurl в систему PayPal сеанса в поле страницы
У меня есть вопрос об использовании paypal на странице, где пользователь вошел в систему
Это с php
Как вы можете иметь пользователя, все еще авторизованного для этой страницы, если paypal перенаправляет обратно на эту страницу.
Я читал что-то о передаче session_id пользовательской переменной с PDT Как насчет, если у вас есть несколько переменных сеанса. Можно ли также передать массив в пользовательскую переменную?
Как это делается, кодируя
Любые идеи хорошо
Редактировать:
Является ли пользовательская переменная PDT просто каким-то самоизобретенным именем, которое вы придерживаетесь за другие обязательные переменные.
Вот так:
$req = "tx=$tx&at= $ token&cmd=$cmd";
$req .= "&somevariablename=".session_id ();
Спасибо, Ричард
5 ответов:
Может быть, я что-то упускаю.
Итак, ваш пользователь входит в систему .. нажимает на кнопку Купить сейчас или что-то еще и переходит на сайт paypal, когда закончите, возвращается на ваш сайт на странице, которая находится внутри области пользователя.
Это должно работать плавно, без необходимости что-либо делать. Если пользователь не проводит слишком много времени на сайте paypal и время окончания сеанса не достигнуто на сервере или пользователь не закрывает браузер и не переходит непосредственно на вашу платежную страницу paypal.
Сессия будет оставаться живым для своего живого, и пользователь может свободно перемещаться между вашим сайтом и некоторыми другими, пока позволяет тайм-аут сеанса.
Итак, если я правильно понял:
- пользователь вошел на вашу страницу.
- они нажимают на кнопку paypal / отправляют форму
- Теперь они на www.paypal.com завершение их сделки.
- после завершения они будут перенаправлены обратно на вашу страницу.
Вы можете использовать файлы cookie, ноони небезопасны , поскольку пользователь может отключить их.
Возможным методом является создание уникальной идентификационной строки, которая будет отправлена в paypal, так что они перенаправляются на пользовательский URL-адрес со строкой. На этой странице вы проверяете его и авторизуете пользователя.
Просто пройти текущий идентификатор сессии (сделать это с $ID = идентификатора session_id(); ) на PayPal, и как только вы получите пользователя и идентификатор сессии, обратно от PayPal просто установить идентификатор сессии в одну систему PayPal отправлен вам с помощью идентификатора session_id($idPaypalSent);
Прошу прощения, что задал старый вопрос, но сегодня утром у меня возникла эта проблема.
Оказывается, я забыл session_start (); doh!
После того, как я сделал это на странице возврата (подтверждения заказа), оказалось, что моя сессия была в порядке все время - она просто не была запущена на этой конкретной странице.
Надеюсь, это кому-то поможет
echo 'session var:'.$_SESSION['var']; if (!isset($_SESSION)) { session_start(); } echo 'session var again:'.$_SESSION['var'];
У вас неверная концепция идентификатора сеанса: идентификатор сеанса-это не просто другая переменная сеанса, а идентификатор сеанса, так что вы можете назначить пользователя переменным сеанса. Вы можете получить идентификатор сеанса через
$sess_id = session_id();
и присоединить его к пользовательской переменной возврата как"&ppsessid=" . $sessid
. Затем можно задать идентификатор сеанса черезsession_id($_GET['ppsessid']);
.