我目前正在开发一个使用Magento和PayPal的项目。我已经在多个项目中使用沙箱配置了PayPal设置,当我选择在沙盒模式下使用PayPal付款时,我可以正确支付,但是当我被重定向到商店时,我收到错误“付款人未识别”并且无法继续下订单。 该商店也在PayPal中配置代理。支付的电子邮件也是我在其他项目上使用的电子邮件,我没有问题。 任何提示或想法?代理相关?
答案 0 :(得分:0)
最后发现它是在API NVP的调用中,它与代理冲突,有时调用的答案得到4(发送)数组和3(得到)数组。 / p>
在app\code\core\Mage\Paypal\Model\Api\Nvp.php
第973行
我已经改变了
$response = preg_split('/^\r?$/m', $response, 2);
$response = trim($response[1]);
$response = $this->_deformatNVP($response);
到
$answer = preg_split('/^\r?$/m', $response, 4);
if($answer[3]) {
$response = preg_split('/^\r?$/m', $response, 4);
$response = trim($response[3]);
} else {
$response = preg_split('/^\r?$/m', $response, 3);
$response = trim($response[2]);
}
$response = $this->_deformatNVP($response);
当然,我已经超越了Class来保持核心代码的清洁。
Magento版本:1.9.2.4
希望它可以帮助别人。