Windows srv 2012 R2 IPN问题上的XAMPP

时间:2015-01-23 11:51:29

标签: php ssl paypal paypal-ipn

我在win server 2012 R2上有最新的xampp,并已成功为我的域安装了ssl证书,并且可以从外部访问(我的网站:https://www.n-aos.com/)。网站服务还好!

我在这里使用官方的paypal php ipn代码:https://github.com/paypal/ipn-code-samples/blob/master/paypal_ipn.php#L58-L59并标记了无效的问题,第58和59行。

如果我将CURLOPT_SSL_VERIFYPEERCURLOPT_SSL_VERIFYHOST设置为 0 ,那么该服务可以正常运行,但我不想在没有验证的情况下工作...

此外,我确实尝试从(http://curl.haxx.se/docs/caextract.html)下载cabundle证书并使用未注释的行来使用该证书,但错误与没有第79和80行的错误相同

调试错误日志只有这一行:

[2015-01-23 10:36 Europe/Zagreb] Can't connect to PayPal to validate IPN message: SSL certificate problem: unable to get local issuer certificate

如果你能想到我能做的事,我会非常感激。顺便说一句,这个相同的ipn check代码安静确实工作了几个月,当它从linux盒子(一些debian发行版)托管时,如果有帮助的话。

thx,kreso

1 个答案:

答案 0 :(得分:0)

好的,经过非常漫长而彻底的测试,并试图让PayPal IPN工作,我的同事,发现了疾病是什么,所以我会在这里张贴给别人穿我的鞋子睡个好觉: )

我们的服务器ipn地址是https,需要执行此步骤。

与paypal交谈的内部php文件中添加以下行:

curl_setopt($ch, CURLOPT_SSLCERT, 'c:/path/some.crt');
curl_setopt($ch, CURLOPT_SSLKEY, 'c:/path/some.key');
curl_setopt($ch, CURLOPT_CAINFO, 'c:/path/cabundle.crt');
第一行和第二行的

添加域名的证书文件的完整路径,该文件正在向PayPal发送。

对于第三行,这是一个棘手的部分,从此页面添加第二个证书

http://curl.haxx.se/docs/caextract.html

具有1024bit长的verisign密钥的那个! :)

奇怪的是,一些ssl网站上的测试确实通过了新的cabundle,比如google,银行网站但paypal失败了......所以这让我们感到困惑

github上cert文件的直接链接位于:github link from 13.08.2015

欢呼声,