2016-09-27 93 views
1

该页面设置了通知网址以进行贝宝付款。我想从预定义的会话中获取信息。我没有从这个ipn页面的预定义会话中获得任何输出,而其他页面没有问题。无法从Paypal IPN页面的指定会话获取信息页面

样本代码:

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

出于好奇,你为什么在IPN URL上使用会话?贝宝将直接发布到此,绕过用户,所以你应该能够做你需要做的事情,而不需要在请求之间保持状态。 – 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

朋友!我只是查了一下,但仍然发现会话参数为零。 –

+0

如果我在paypal过程之前通过url运行它,我可以在ipn页面中看到会话值。但它应该在paypal过程之后跟踪。不知道为什么它在贝宝网站付款后销毁。 –