我遇到PayPal IPN的棘手问题。 简而言之,有时它可以完美地工作,有时则不会。
我猜这是与PayPal服务器的自发连接问题,我打算创建一个重试脚本,如果发生故障并且最多3次尝试,它将在几秒后再次尝试连接。
然而,我想在这里也提到这个,以防我错过了什么。
我使用的代码直接通过PayPal Github:
我得到的错误是:
PHP Fatal error: Uncaught exception 'Exception' with message 'cURL error: [7] Failed to connect to ipnpb.paypal.com port 443: Connection refused' in /mysite/PaypalIPN.php:129\nStack trace:\n#0 /mysite/buy.php(11): PaypalIPN->verifyIPN()\n#1 {main}\n thrown in /mysite/PaypalIPN.php on line 129
在buy.php(11)我有:
$verified = $ipn->verifyIPN();
在PayPalIPN.php(129)(PayPal脚本)我有:
$res = curl_exec($ch);
if ( ! ($res)) {
$errno = curl_errno($ch);
$errstr = curl_error($ch);
curl_close($ch);
(Line 129) throw new Exception("cURL error: [$errno] $errstr");
}
就像我说的那样,相同的脚本在90%的时间内成功。最后一个例子包括在几分钟内发送的4个(延迟的)IPN。一个注册成功,另外三个没注册。
我正在使用WHM / Cpanel和Engintron for nginx。如果nginx存在一些问题,这是我唯一的怀疑。但是对我而言,它在某个时刻而不是在另一个时间有效是没有意义的。
任何提示都会有所帮助。