PSGI, LWP::UserAgent & PayPal IPN



我一直在尝试一段时间来获得一个简单的PayPal IPN模块工作,但不断从LWP::UserAgent获得400个坏请求错误。我不确定为什么会发生这种情况。PayPal ping我很好(我使用IPN模拟器),我可以看到我的应用程序日志的过程。我可以通过LWP::UserAgent调用PayPal验证URL,没有表单内容,这很好,但是一旦我包含验证的请求内容,我得到错误400。如果有人知道这件事,请告诉我。

-$self->{'_req'}是Plack::Request类型

my $url     = $test ? $VERIFY_URL_DEV : $VERIFY_URL;
my $ua      = new LWP::UserAgent();
my $req     = new HTTP::Request('POST', $url);
my $query   = 'cmd=_notify-validate&' . $self->{'_req'}->raw_body;
$req->content_type('application/x-www-form-urlencoded');
$req->content( $query );
my $res = $ua->request($req);
if ($res->is_error)
{
    # HTTP error, indicate an invalid notification.
    warn "There was an error validating this IPN.";
    warn $res->message;
    warn $res->error_as_HTML;
    return 0;
}

问题出在PayPal这边。当我在沙箱中测试时,而不是在IPN模拟器中,它工作得很好。

相关内容

  • 没有找到相关文章