【问题标题】:PSGI, LWP::UserAgent & PayPal IPNPSGI、LWP::UserAgent 和 PayPal IPN
【发布时间】:2013-02-26 01:16:09
【问题描述】:

一段时间以来,我一直在尝试让一个简单的 PayPal IPN 模块正常工作,但不断收到来自 LWP::UserAgent 的 400 Bad Request 错误。我不确定为什么会这样。 PayPal 对我很好(我正在使用 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;
}

【问题讨论】:

  • 分别设置一个工作和失败的请求对象,并使用as_string 提供转储。编辑任何非公开数据。
  • 周一晚上之前,PayPal 问题一直为沙盒 IPN 提供 HTTP 400 错误。您能否告知错误是否仍在发生或一切正常?

标签: perl paypal paypal-ipn lwp psgi


【解决方案1】:

问题出在 PayPal 方面。当我在沙盒而不是 IPN 模拟器中进行测试时,它运行良好。这很令人沮丧。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-09-24
    • 1970-01-01
    • 2023-03-06
    • 2014-05-01
    • 2015-12-11
    • 1970-01-01
    • 2021-02-09
    • 2013-10-09
    相关资源
    最近更新 更多