我正在使用CakePHP“HttpSocket”类将信息发布到Paypal支付服务器。当目标网址为http://www.something.com时,我的代码工作正常,我可以按照自己的意愿解析响应。
但是,当我尝试将数据发布到PayPals付款API网址(在HTTPS上)时,我得不到任何回复。
我在其他HTTPS网址上尝试了相同的代码,同样没有响应。
这个问题的原因是什么?
答案 0 :(得分:1)
我和你有同样的问题...我似乎无法从Paypal API得到任何回复。
但我发现我做错了什么。我实际上只是对https://www.sandbox.paypal.com进行了POST,实际上它应该是https://www.sandbox.paypal.com/cgi-bin/webscr。
当我检查CakePHP的$ HttpSocket->响应属性时,我意识到这一点,我发现我已经收到了301错误。然后我意识到 - 它不应该在基本URL上......
然后我重新阅读了IPN指南,并在那里查看了示例代码......瞧!我意识到自己的错误。
希望使用CakePHP的其他人可以从中受益。在我意识到这一点之前花了很长时间。
答案 1 :(得分:1)
我意识到这已经超过2年了,但我最近遇到了这个问题,这就是我如何解决它:
您需要指定端口443以及URL,如下所示:
$httpSocket = new HttpSocket();
$httpSocket->get('https://domain:443/sample/path', array('q' => 'example'));
您也可以在第三个参数中将端口和主机一起传递,或者使用request()方法。
希望这有助于某人!