簡體   English   中英

貝寶IPN偵聽器響應

[英]PayPal IPN listener response

在貝寶(PayPal)的沙盒中進行全面測試並使其正常運行之后。 我已經將其啟用,但無法正常工作。

我正在通過notify_url從PayPal接收POST數據。 然后,我使用數據前面的cmd = _notify-validate將其發送回PayPal。

使用貝寶(PayPal)記錄的代碼,我正在使用該代碼將消息發送到貝寶(PayPal)。

$header .= "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Content-Type: application/x-www-form-urlencoded\r\n";
$header .= "Content-Length: " . strlen($req) . "\r\n\r\n";
$fp = fsockopen ('ssl://www.paypal.com', 443, $errno, $errstr, 30);

(使用此代碼獲取響應)

$res = stream_get_contents($fp, 1024);

我得到的答復是:

HTTP/1.1 200 OK
Date: Fri, 11 May 2012 20:51:28 GMT
X-Frame-Options: SAMEORIGIN
Set-Cookie: cwrClyrK4LoCV1fydGbAxiNL6iG=SdeBuKBN39mjr3w791CHr_MlSkoBdDmbxpQOjT_WOicyD_Sg6BYZm8koiEv2-5XBUkCjpXQwFqIxIQgIyo3e7arO8015CVw96dpne2CNjbgc1CvpDlqXn72IBWq%7cW7uYn6Za7ljG4iLtLVcyFoPk8gZD7sr_S8WjwZrZWD8UXzE7KAH3bll9TVik3wbdCFlrZG%7csxrZZHSH5SWBGfrKsIU6Dz-K43j4h37efIkWFcVJVER0ncRxNJ0wANN1Dp3pZpV2PLxC1m%7c1336769488; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: cookie_check=yes; expires=Mon, 09-May-2022 20:51:28 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navcmd=_notify-validate; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: navlns=0.0; expires=Thu, 06-May-2032 20:51:28 GMT; domain=.paypal.com; path=/; Secure; HttpOnly
Set-Cookie: Apache=10.73.8.50.1336769488653443; path=/; expires=Sun, 04-May-42 20:51:28 GMT
Vary: Accept-Encoding
Strict-Transport-Security: max-age=14400
Connection: close
Content-Type: text/html; charset=UTF-8
Set-Cookie: TSe9a623=bb3c8ce40a7f3f6d1c018255c9

我沒有得到的是這個中的INVALID或VERIFIED響應。 這是PayPal的全部輸出。 在沙盒中,我在最后一行得到了VERIFIED,並且沒有Set-Cookie。

我沒有收到INVALID或VERIFIED響應似乎很奇怪。

任何建議,將不勝感激。

您是否使用fwrite / fputs將請求寫入套接字? 同樣,從響應的長度來看,您可能需要從流中讀取1024個以上的字節。 那已經非常接近了。

您可能需要循環讀取響應:

$resp = '';
while (!feof($fp)) {
    $resp .= stream_get_contents($fp, 1024);
}

然后,您可以使用以下方法將標題與正文分開:

list($headers, $response) = explode("\r\n\r\n", 2);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM