PayPal Error: Unable to process payment. Please contact the merchant as the shipping address provided by the merchant is invalid, and the merchant has requested that your order must be shipped to that address.
in Magento 1.8
we can rewrite this class:
<?php
class Bysoft_MyPaypal_Model_Paypal_Api_Standard extends Mage_Paypal_Model_Api_Standard
{
/**
* Import address object, if set, to the request
*
* @param array $request
*/
protected function _importAddress(&$request)
{
$address = $this->getAddress();
if (!$address) {
if ($this->getNoShipping()) {
$request['no_shipping'] = 1;
}
return;
}
$request = Varien_Object_Mapper::accumulateByMap($address, $request, array_flip($this->_addressMap));
// Address may come without email info (user is not always required to enter it), so add email from order
if (!$request['email']) {
$order = $this->getOrder();
if ($order) {
$request['email'] = $order->getCustomerEmail();
}
}
$regionCode = $this->_lookupRegionCodeFromAddress($address);
if ($regionCode) {
$request['state'] = $regionCode;
}
$this->_importStreetFromAddress($address, $request, 'address1', 'address2');
$this->_applyCountryWorkarounds($request);
//$request['address_override'] = 1;
}
}
注释掉原版代码的:
$request['address_override'] = 1;
即可

本文介绍了一种解决PayPal支付过程中出现的无法处理支付错误的方法。通过修改Magento 1.8中的Bysoft_MyPaypal模块,注释掉特定代码行,可以避免因商户提供的无效送货地址而导致的问题。
2397

被折叠的 条评论
为什么被折叠?



