【问题标题】:Unable to get information from a specified session at Paypal IPN page无法从 Paypal IPN 页面上的指定会话获取信息
【发布时间】:2016-09-27 07:22:52
【问题描述】:

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

示例代码:

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

【问题讨论】:

  • 出于好奇,您为什么要在 IPN URL 上使用会话? PayPal 将绕过用户直接发布到这里,因此您应该能够在不维护请求之间的状态的情况下做您需要做的事情。
  • 没有创建预购,我只想处理会话中的数据。但最后还是做了,只用了ipn页面进行订单验证。

标签: perl paypal-ipn paypal-sandbox


【解决方案1】:

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

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

【讨论】:

  • 朋友!我刚刚检查过,但仍然发现会话参数为零。
  • 如果我在 paypal 进程之前通过 url 运行它,我可以在 ipn 页面中看到会话值。但它应该在贝宝处理之后进行跟踪。不知道为什么在贝宝网站付款后它就销毁了。
猜你喜欢
  • 2015-07-07
  • 1970-01-01
  • 2015-08-01
  • 1970-01-01
  • 1970-01-01
  • 2018-11-19
  • 1970-01-01
  • 2012-03-31
  • 1970-01-01
相关资源
最近更新 更多