単純なPayPalIPNモジュールを機能させるためにしばらくの間試みてきましたが、LWP::UserAgentから400BadRequestエラーが発生し続けます。なぜこれが起こっているのかわかりません。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;
}