2016-09-27 3 views
1

Страница установлена ​​с уведомлением URL для оплаты в PayPal. Я хочу получить информацию из предопределенного сеанса. Я не получаю никакого вывода из предопределенного сеанса на этой странице ipn, пока нет проблем с другими страницами.Невозможно получить информацию из указанного сеанса на странице IPN Paypal

образец кода:

use CGI::Session; 
my $session = CGI::Session->new or die CGI::Session->errstr; 
my $info_var = $session->param("info_var"); 
+0

Из любопытства, почему вы используете сеанс по URL-адресу IPN? PayPal будет публиковать это напрямую, минуя пользователя, поэтому вы сможете делать то, что вам нужно, без сохранения состояния между запросами. – oalders

+0

Не создавая предварительный заказ, я просто хотел обработать данные из сеанса. Но, наконец, он сделал это и использовал страницу ipn только для подтверждения заказа. –

ответ

0

Это может быть, что сессия истекла. Вы должны попробовать использовать load вместо new, потому что new создаст новый сеанс, если он не найдет.

$session = CGI::Session->load() or die CGI::Session->errstr(); 
if (!$session->is_expired && !$session->is_empty) { 
    print $session->param("info_var"); 
} 
+0

Друг! Я просто проверил то же самое, но все же нашел, что параметр session равен нулю. –

+0

Я могу видеть значение сеанса на странице ipn, если я просто запускаю его через URL-адрес перед процессом paypal. Но его следует отслеживать после процесса paypal. Не знаю, почему он был уничтожен после оплаты на сайте paypal. –