连接超时与IPN呼叫特别是对sandbox.paypal.com

时间:2013-04-19 11:32:56

标签: paypal paypal-sandbox paypal-ipn

以下是示例代码:

$req = "122";
$header = "POST /cgi-bin/webscr HTTP/1.1\r\n";
$header .= "Host: www.sandbox.paypal.com\r\n";
$header .= "Connection: close\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);
if(!$errno)
{
var_dump($fp);
}
else
{
    echo "ERROR: $errno, $errstr";
}

当我连接到沙箱时,它会产生连接超时错误:     错误:110,连接超时

所以我调试了问题,发现它与SSL有关,并验证了服务器中openssl的存在和可访问性。

使用以下方法测试服务器上的openssl和连接

"openssl s_client -connect www.sandbox.paypal.com:443"

我得到了

"Socket: Connection Timed out"

我检查了iptables,端口443没有阻止

所以我再次尝试检查paypal.com的案例,如下所示:

$ fp = fsockopen('ssl://www.paypal.com',443,$ errno,$ errstr,30);

它立即起作用。

所以我在我的其他服务器上试过,我能够连接到sandbox.paypal.com但不能在我需要演示和测试付款的服务器上。

我的托管服务提供商很无能为力,我在这里拔头发。

我很感激任何帮助。

是的,当然是关于Stackoverflow的第一个问题:)

0 个答案:

没有答案