Magento - Paypal Express - 结帐发送不正确的邮政编码

Posted

技术标签:

【中文标题】Magento - Paypal Express - 结帐发送不正确的邮政编码【英文标题】:Magento - Paypal Express - Checkout sending incorrect postcode 【发布时间】:2015-08-25 02:30:14 【问题描述】:

我们正在运行 Magento 版本。 1.9.0.1,直到最近我们才遇到 Paypal 的问题。我们正在使用 Paypal Express Checkout。

如果客户输入了送货地址和不同的帐单地址,结帐将发送帐单邮政编码以及其余的送货地址。

例如:

帐单地址

123 约翰·莱恩 伦敦 SW1 3AA

收货地址

333 彼得莱恩 伦敦 SW14 4AA

当客户被重定向到 Paypal 时显示的地址是.. 333 Peter Lane, London, SW1 3AA。

有人遇到过这个问题可以帮忙吗?

【问题讨论】:

【参考方案1】:

最近我自己也遇到了同样的问题。好消息是 - 我找到了解决方案。

当送货地址和帐单地址不同时,Paypal Express Checkout 会以这种方式运行,但报价单中送货地址的“same_as_billing”属性设置为 1。在这种情况下,您可能会遇到多种情况。

就我而言,这是我使用的结帐扩展程序(idev 的 onestepcheckout),当送货地址与帐单地址不同时,它忽略了在结帐时在报价单中设置送货地址的 same_as_billing 属性。

您可以在结帐期间使用以下代码检查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;
    

希望这个回复可以为其他偶然发现相同错误的人节省一些调试时间。

【讨论】:

以上是关于Magento - Paypal Express - 结帐发送不正确的邮政编码的主要内容,如果未能解决你的问题,请参考以下文章

获取 Paypal Express [Magento] 的完整账单地址

沙盒模式下的 Magento + Paypal Express 结帐

Magento:使用 PayPal Express 时添加支付费用 [关闭]

Magento 1.9.1 PayPal Express 评论页面为空

Magento 2:如何在 Paypal Express 中即时更改付款方式

Mage2 :传递给 Magento\Paypal\Model\Adminhtml\Express::isOrderAuthorizationAllowed() 的参数 1 必须是 Magento\S