PayPal - 付款人未被识别

时间:2016-09-15 11:47:25

标签: api magento paypal proxy paypal-sandbox

我目前正在开发一个使用Magento和PayPal的项目。我已经在多个项目中使用沙箱配置了PayPal设置,当我选择在沙盒模式下使用PayPal付款时,我可以正确支付,但是当我被重定向到商店时,我收到错误“付款人未识别”并且无法继续下订单。 该商店也在PayPal中配置代理。支付的电子邮件也是我在其他项目上使用的电子邮件,我没有问题。 任何提示或想法?代理相关?

1 个答案:

答案 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

希望它可以帮助别人。