Magento 贝宝 IPN 不工作

Magento Paypal IPN is not working

我正在使用 Magento 1.8.1 版本,我想设置 Paypal IPN 来更新我的订单状态,但是当我 运行 来自 PayPal 的 IPN 模拟器测试不起作用时会抛出 HTTP 错误看到这个 http://puu.sh/hTQaP/af2473710b.png.

请告诉我如何解决这个问题。

经过深思熟虑,终于找到了解决办法。这是由于 "USER Agent" HTTP Header 请求引起的。您可以在 Ipn.php 文件中更新它。只需在 app/code/core/Mage/Paypal/Model/Ipn.php 上替换此函数的以下行(不要应用于核心文件。将其添加到本地目录)

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);