2013-03-10 142 views
0

我一直試圖獲得一個簡單的PayPal IPN模塊工作,但不斷從LWP :: UserAgent得到一個400錯誤的請求錯誤。我不知道爲什麼會發生這種情況。貝寶給我打了個電話(我使用的是IPN模擬器),我可以在我的應用程序日誌中看到這個過程。我可以通過LWP :: UserAgent在沒有表單內容的情況下調用PayPal驗證URL,並且工作正常,但是一旦我包含請求內容以進行驗證,就會收到錯誤400.如果有人知道此信息,請告訴我。PSGI,LWP :: UserAgent&PayPal IPN

- $自我 - > { '_ 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; 
} 
+0

設置一個工作和失敗的請求對象,並提供[as_string](http://p3rl.org/HTTP::Request#r-as_string)轉儲。編輯任何非公開數據。 – daxim 2013-03-11 06:44:51

+1

有一個PayPal問題,直到星期一晚上才爲沙盒IPN提供HTTP 400錯誤。你能否建議如果錯誤仍在發生或者一切正常? – 2013-03-13 14:46:36

回答

0

問題是在貝寶的一面。當我在沙箱中測試時,不是IPN模擬器,它工作正常。這非常令人沮喪。