我正在使用Magento 1.8.1版本,我想设置PayPal IPN以更新我的订单状态,但是当我从PayPal运行IPN Simulator测试时http错误请参阅此http://puu.sh/htqap/af2473710b.png。
请建议我如何解决此问题。
最后,我在深入审查后找到了解决方案。这是由于请求中适当的"用户代理" HTTP标头的原因。您可以在ipn.php文件上更新此信息。只需在应用程序/代码/core/mage/paypal/mode/ipn.php上替换此函数的以下行(请勿在核心文件上应用。将其添加在本地dir上)
)protected function _postBack(Zend_Http_Client_Adapter_Interface $httpAdapter)
在第143行(在Magento 1.8.1中)
$httpAdapter->write(Zend_Http_Client::POST, $this->_config->getPaypalUrl(), '1.1', array(
'Connection: close',
), $sReq);
用
替换$httpAdapter->write(Zend_Http_Client::POST, $this->_config->getPaypalUrl(), '1.1', array(
'Connection: Close', 'User-Agent: your_company_name'
), $sReq);