paypal IPN的ssl地址SSL是什么?

时间:2013-08-04 12:36:42

标签: php paypal paypal-ipn

我正在尝试制作一个php页面来收听Paypal的IPN。我已经让它在沙盒中工作了,现在我想推动它。我找不到合适的SSL请求。

这是我的PHP脚本的一部分:

$header = "POST /cgi-bin/webscr HTTP/1.0\r\n";
$header .= "Host: www.sandbox.paypal.com:443\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.sandbox.paypal.com', 443, $errno, $errstr, 30);

问题的第二部分:如何在用户购买之前测试它是否有效?

1 个答案:

答案 0 :(得分:1)

ssl://www.paypal.com是要验证的地址。

确保/ cgi-bin / webscr是您要发送POST的URI,并且它在有效负载中包含cmd = _notify-validate。

此外,将HTTP版本设置为HTTP / 1.1。 HTTP / 1.0请求将来会not be supported anymore 您已经添加了主机标头,因此您在技术上已经在发送HTTP 1.1数据。

请注意,HTTP 1.1可能会返回分块数据,因此如果您使用的是fsockopen(),则需要能够处理它。
(cURL没有这个问题,因为它是一个更复杂的HTTP库,而不是fsockopen,它纯粹是一个套接字连接。)