2013-03-10 9 views
0

나는 간단한 PayPal IPN 모듈을 작동 시키려고 노력했지만 LWP :: UserAgent에서 400 개의 잘못된 요청 오류가 계속 발생했습니다. 왜 이런 일이 일어나고 있는지 잘 모르겠습니다. PayPal은 나를 핑 소리내어 (나는 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

+1

월요일 밤까지 Sandbox IPN에 HTTP 400 오류를 제공 한 PayPal 문제가있었습니다. 오류가 여전히 발생하고 있는지 또는 모두 양호한지 알려 줄 수 있습니까? –

답변

0

이다. IPN 시뮬레이터가 아닌 샌드 박스에서 테스트했을 때 제대로 작동했습니다. 그것은 매우 좌절했습니다.