Magento - Paypal Express - Checkout发送错误的邮政编码

时间:2015-06-10 02:38:18

标签: php magento paypal

我们正在运行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。

是否有人遇到此问题并可以提供帮助?

1 个答案:

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

希望这个回复可以节省一些调试时间给遇到同样错误的其他人。