我们正在运行Magento ver。 1.9.0.1并且直到最近我们才遇到Paypal的问题。我们正在使用Paypal Express Checkout。
如果客户输入了送货地址和不同的帐单邮寄地址,则结帐会使用剩余的送货地址发送结算信息。
例如:
结算地址
123约翰莱恩 伦敦 SW1 3AA送货地址
333 Peter Lane 伦敦 SW14 4AA
当客户被重定向到Paypal时显示的地址是.. 333 Peter Lane,London,SW1 3AA。
是否有人遇到此问题并可以提供帮助?
答案 0 :(得分:3)
最近我遇到了同样的问题。好消息是 - 我找到了解决方案。
Paypal Express Checkout在送货地址和帐单地址不同时表现相同,但报价中送货地址的“same_as_billing”属性设置为1.可能有很多方法可以在这种情况下结束。
在我的情况下,这是我使用的结帐扩展程序(由idev指定的onetepcheckout),在结帐时,当发货地址与结算地址不同时,忽略了在报价单中设置发货地址的same_as_billing属性。
您可以使用以下代码检查checkout期间是否正确设置了same_as_billing属性(要获取var_dump的输出,您可以将代码放入您选择的控制器并制作):
$quote = Mage::getSingleton('checkout/session')->getQuote();
var_dump($quote->getShippingAddress()->getData());
在我的onestepcheckout扩展的情况下,修复是更改代码 app / code / local / Idev / OneStepCheckout / controllers / AjaxController.php来自:
if(!empty($billing_data['use_for_shipping'])) {
$shipping_data = $billing_data;
}
为:
if(!empty($billing_data['use_for_shipping'])) {
$shipping_data = $billing_data;
$shipping_data['same_as_billing'] = 1;
} else {
$shipping_data['same_as_billing'] = 0;
}
希望这个回复可以节省一些调试时间给遇到同样错误的其他人。