Perl 无法从Paypal IPN页上的指定会话获取信息

Perl 无法从Paypal IPN页上的指定会话获取信息,perl,paypal-ipn,paypal-sandbox,Perl,Paypal Ipn,Paypal Sandbox,该页面设置了paypal支付的通知url。我想从预定义的会话中获取信息。我没有从这个ipn页面中的预定义会话获得任何输出,而其他页面没有问题 示例代码: use CGI::Session; my $session = CGI::Session->new or die CGI::Session->errstr; my $info_var = $session->param("info_var"); 可能是会话已过期。您应该尝试使用load而不是new,因为new如果找不到任何会

该页面设置了paypal支付的通知url。我想从预定义的会话中获取信息。我没有从这个ipn页面中的预定义会话获得任何输出,而其他页面没有问题

示例代码:

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

可能是会话已过期。您应该尝试使用
load
而不是
new
,因为
new
如果找不到任何会话,将创建新会话

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

可能是会话已过期。您应该尝试使用
load
而不是
new
,因为
new
如果找不到任何会话,将创建新会话

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

朋友!我刚刚检查了相同的,但仍然发现session参数为nil。如果在paypal进程之前通过url运行session,我可以在ipn页面中看到session值。但它应该在paypal流程之后进行跟踪。不知道为什么一旦在贝宝网站上付款,它就被毁了。朋友!我刚刚检查了相同的,但仍然发现session参数为nil。如果在paypal进程之前通过url运行session,我可以在ipn页面中看到session值。但它应该在paypal流程之后进行跟踪。不知道为什么一旦在paypal网站上付款,它就会被销毁。出于好奇,你为什么要在IPN URL上使用会话?PayPal将绕过用户直接发布到该页面,因此您应该能够在不维护请求之间的状态的情况下执行需要执行的操作。无需创建预订单,我只想处理会话中的数据。但最终还是这样做了,并且只将ipn页面用于订单验证。出于好奇,您为什么要在ipn URL上使用会话?PayPal将绕过用户直接发布到该页面,因此您应该能够在不维护请求之间的状态的情况下执行需要执行的操作。无需创建预订单,我只想处理会话中的数据。但最终还是这样做了,并将ipn页面仅用于订单验证。