2015-08-14 142 views
0

我試圖將貝寶IPN整合到我的應用程序。我正處於測試的第一階段。我已經複製/粘貼此代碼: https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.phpPayPal IPN與PHP返回HTTP 400與IPN測試器和沙盒

然後,使用IPN測試儀在這裏: https://developer.paypal.com/developer/ipnSimulator

我發送一個IPN。這會返回消息「我們很抱歉,但存在HTTP錯誤,請重試。」如果我檢查檢查員,在網絡下有400錯誤。

輸出到日誌文件如下:

[2015-08-14 14:21 America/Chicago] 1. HTTP request of validation request:POST /cgi-bin/webscr HTTP/1.1 
Host: www.sandbox.paypal.com 
Accept: */* 
Connection: Close 
Content-Length: 20 
Content-Type: application/x-www-form-urlencoded 

for IPN payload: cmd=_notify-validate 
[2015-08-14 14:21 America/Chicago] 2. HTTP response of validation request: HTTP/1.1 200 OK 
Date: Fri, 14 Aug 2015 19:21:30 GMT 
Server: Apache 
X-Frame-Options: SAMEORIGIN 
Set-Cookie: c9MWDuvPtT9GIMyPc3jwol1VSlO=YSr2aJL5kxPX894uugNhw87ur4ChWoHJjtJLIZ9nqfiS9rOgWSW42T0tPoLj2JpHZ8vclaVwel-vg4GrLQOJbNTcQ42AuITkYbaKVfj_pmpwVXpIB73Wn2C3dLPNWkcXdYWZdmOycOF4sVLHNVsO_cd3XZD2i3hzpptLUBvIKIsJjjq3WggwFQYYZRn-i0RuQnEZtZ1JQph-nT90PrSeqr2l7XNeY0ozqr0bwaZDyAhEWp01pozPZTughjbHzwoDjTetpkBWZkscNLNSomTYRzVlzZNYmVYKF1nh7Hmfb6AM2D_bR3d5cK6DXQcraaj3ZtGNifboMPRVbvJycti1ZOW3RNqFrxZhXkCRPYty_DGfSwo4pHiWW33B0AVCAvHXM7yv2uGjUc1SQjfl3ZXpmVsnpwsEme2MS7DGiwPZEApXixhvFT-9PJCiKm4; domain=.paypal.com; path=/; Secure; HttpOnly 
Set-Cookie: cookie_check=yes; expires=Mon, 11-Aug-2025 19:21:31 GMT; domain=.paypal.com; path=/; Secure; HttpOnly 
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly 
Set-Cookie: navlns=0.0; expires=Sun, 13-Aug-2017 19:21:31 GMT; domain=.paypal.com; path=/; Secure; HttpOnly 
Set-Cookie: Apache=10.72.108.11.1439580090758032; path=/; expires=Sun, 06-Aug-45 19:21:30 GMT 
Vary: Accept-Encoding,User-Agent 
Connection: close 
Paypal-Debug-Id: bf09526fb4efd 
Set-Cookie: X-PP-SILOVER=name%3DSANDBOX3.WEB.1%26silo_version%3D880%26app%3Dappdispatcher%26TIME%3D3124743765; domain=.paypal.com; path=/; Secure; HttpOnly 
Set-Cookie: X-PP-SILOVER=; Expires=Thu, 01 Jan 1970 00:00:01 GMT 
Set-Cookie: Apache=10.72.128.11.1439580090740911; path=/; expires=Sun, 06-Aug-45 19:21:30 GMT 
Strict-Transport-Security: max-age=14400 
Transfer-Encoding: chunked 
Content-Type: text/html; charset=UTF-8 

INVALID 
[2015-08-14 14:21 America/Chicago] 4. Invalid IPN: cmd=_notify-validate 

我已經檢查了我的服務器上的錯誤,有沒有。我也嘗試修改代碼,以解釋以下評論:

// CONFIG: Please download 'cacert.pem' from "http://curl.haxx.se/docs/caextract.html" and set the directory path 
// of the certificate as shown below. Ensure the file is readable by the webserver. 
// This is mandatory for some environments. 
//$cert = __DIR__ . "./cacert.pem"; 
//curl_setopt($ch, CURLOPT_CAINFO, $cert); 

我不知道我還能檢查什麼。

+0

如果您按照本文中介紹的有關[如何測試PayPal IPN](https://www.angelleye.com/test-paypal-ipn/)的程序,您應該能夠追蹤到您的問題。 –

回答

0

我跟隨了鏈接建議中的表單構建,這導致了額外的證據表明PHP代碼工作正常。通過多次跟蹤過程並跟蹤IPN模擬器網絡請求後,我決定嘗試通過http而不是https連接到我的站點。通過https連接是導致400錯誤的觸發器。通過http進行連接可以工作,並且不會產生錯誤。