货到付款付款方式应仅对 magento 中的某些邮政编码/密码可见

Posted

技术标签:

【中文标题】货到付款付款方式应仅对 magento 中的某些邮政编码/密码可见【英文标题】:Cash on delivery payment method should visible only for some zip codes/pin codes in magento 【发布时间】:2015-03-27 11:32:55 【问题描述】:

我们在 magento 1.9.0 版本中使用“货到付款”付款方式

我们仅支持部分邮政编码位置的货到付款。

表示我们只接受来自某些邮政编码的现金[表示地点]。

在“收货地址”中的“结帐”下,客户将输入他/她的“邮政编码”。

使用我们必须验证的邮政编码。

表示如果我们将产品交付到该邮政编码,则“COD”付款方式应显示在“付款方式”下

否则“COD”应该不可见。

如果有人对上述问题不清楚,请参考以下链接:

How to restrict default COD in magento to certain zip codes only?

这是问题。

任何人都可以详细解释上述解决方案....

以下链接也有:

restrict default Cash on delivery for some zip/pin codes in magento 1.9.0

有一个选项可以输入受限制的邮政编码列表。但我们需要一个允许的邮政编码列表的解决方案。

【问题讨论】:

【参考方案1】:

您只需编辑文件/app/code/core/Mage/Payment/Model/Method/Cashondelivery.php

在这里你会得到答案:

public function isAvailable($quote = null)

    if ($quote) 

        // Here is the list of restricted Zip Codes
        $restrictedZips = array(
            '85001',
            '87965'
        );

        $address = $quote->isVirtual() ? $quote->getBillingAddress() : $quote->getShippingAddress();
        $customerZip = $address->getPostcode();

        if (in_array($customerZip, $restrictedZips)) 
            return false;
        
    

    return parent::isAvailable($quote);

restrict default Cash on delivery for some zip/pin codes in magento 1.9.0

【讨论】:

【参考方案2】:

这里是基于邮政编码的 Cashondelivery 限制的免费扩展

http://www.magentocommerce.com/magento-connect/cashondelivery-based-on-zipcode.html

【讨论】:

以上是关于货到付款付款方式应仅对 magento 中的某些邮政编码/密码可见的主要内容,如果未能解决你的问题,请参考以下文章

在付款方式中选择选项而不是 magento 中的单选按钮

Magento 中付款方式的名称

Magento 2:来自印度以外的Paypal付款问题

Magento:不显示有运费的免费产品的付款方式

如何在magento中使用付款方式取消订单

将配置保存为非管理员用户时,Magento 付款方式访问被拒绝