2013-07-17 3 views
0

나는 페이팔 IPN에 어려움을 겪고 있습니다. 나는 (필연적으로 ipn.php) 스크립트에 다시 연결하고 작동하는지 테스트하기 위해 구매 버튼을 설정, 그것의 유일한 코드는 다음과 같다 :Paypal ipn post 도착하지 않음

$from = "Guide Test Page"; 
$to = "[email protected]"; 
$subject = "VERIFIED IPN"; 
$message = "Post: ".serialize($_POST)."<br>"; 
$headers = "From:" . $from; 

mail($to, $subject, $message, $headers); 

echo "Mail Sent"; 

는 그래서 나에게 이메일을 보내, 다행히 모든 페이팔 포스트 변수. 'Buy'를 통과하면 ipn.php 로의 리디렉션이 작동한다는 것을 알 수 있습니다. 화면에 'Mail Sent'텍스트가 표시되고 이메일이 도착합니다. 그러나 직렬화를 ($ _ POST)는가 생산하는 : 0 : {}

이 가

사람이 무슨 일이 일어나고 있는지 제안 할 수 있습니다?

+0

항상 적절한 언어로 태그 ​​달기 –

+1

나는 ipn과의 혼란스러운 반환 url을 생각한다. ipn은 인간이 보지 못하는 paypal bot에 맞고, return url은 인간 구매자가 사이트로 돌아 오는 곳이다. –

+0

ipn은 url 변수를 통해 데이터를 전송하므로 $ _GET이 아닌 $ _POST를 사용합니다. –

답변

1

IPN 스크립트는 거래를 제출 한 후 어느 시점에 (개별적으로) PayPal에서 호출되기 때문에 화면에 "Mail Sent"메시지가 표시되지 않을 것이라고 생각합니다. 몇 초 동안). 아마도 IPN.PHP를 반환 URL로 사용하고 있습니까?

+0

감사합니다. 바로 그 일을 정확하게 수행하고 있습니다. 그러나 나는 아직도 문제가있다. 나는 이제 IPN 메시지에 적절하게 응답해야하고 그에 따라 Paypal 계정의 IPN 알림 URL을 변경해야하는 스크립트를 설정했습니다. 그러나 Paypal은 IPN 메시지를 이전 알림 URL로 보내고 있습니다 (응답으로 인해 알 수 있습니다). 왜 그랬을까요? 세부 사항이 변경되면 Paypal에서 서버를 업데이트하는 데 몇 시간/일이 걸립니까? – Perkin5

+0

그 이상으로, 나는 지금 페이팔에게 숨겨진 입력으로 name = "notify_url"을 사용하는 버튼 코드에서 그것을 오버라이드함으로써 정확한 알림 URL을 보내고 지금은 올바르게 응답하는 것처럼 보인다 - 지금까지 만세! – Perkin5