returnurl в систему PayPal сеанса в поле страницы


У меня есть вопрос об использовании paypal на странице, где пользователь вошел в систему

Это с php

Как вы можете иметь пользователя, все еще авторизованного для этой страницы, если paypal перенаправляет обратно на эту страницу.

Я читал что-то о передаче session_id пользовательской переменной с PDT Как насчет, если у вас есть несколько переменных сеанса. Можно ли также передать массив в пользовательскую переменную?

Как это делается, кодируя

Любые идеи хорошо

Редактировать:

Является ли пользовательская переменная PDT просто каким-то самоизобретенным именем, которое вы придерживаетесь за другие обязательные переменные.

Вот так:

$req = "tx=$tx&at= $ token&cmd=$cmd";

$req .= "&somevariablename=".session_id ();

Спасибо, Ричард

5 2

5 ответов:

Может быть, я что-то упускаю.

Итак, ваш пользователь входит в систему .. нажимает на кнопку Купить сейчас или что-то еще и переходит на сайт paypal, когда закончите, возвращается на ваш сайт на странице, которая находится внутри области пользователя.

Это должно работать плавно, без необходимости что-либо делать. Если пользователь не проводит слишком много времени на сайте paypal и время окончания сеанса не достигнуто на сервере или пользователь не закрывает браузер и не переходит непосредственно на вашу платежную страницу paypal.

Сессия будет оставаться живым для своего живого, и пользователь может свободно перемещаться между вашим сайтом и некоторыми другими, пока позволяет тайм-аут сеанса.

Итак, если я правильно понял:

  1. пользователь вошел на вашу страницу.
  2. они нажимают на кнопку paypal / отправляют форму
  3. Теперь они на www.paypal.com завершение их сделки.
  4. после завершения они будут перенаправлены обратно на вашу страницу.

Вы можете использовать файлы 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']);.