PayPal Error:shipping address provided by the merchant is invalid

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; 

即可

你可能感兴趣的:(Invalid)