1

I want to disable cash on delivery payment method option for some specific products. I want to show cash on delivery method only for specific products and need to hide other payment options.

How can I do this? I read this other question but it did not solve my problem.

Community
  • 1
  • 1

3 Answers3

0

you can use following free extension to solve your problem

http://www.magentocommerce.com/magento-connect/shipping-and-payment-filters.html

Ansyori
  • 2,807
  • 3
  • 29
  • 37
  • This extension is unsupported please give me another extension or method –  Apr 23 '14 at 08:18
0

Using payment_method_is_active observer you could load the current checkout session quote and check what city the order is be shipped to.

$checkout = Mage::getSingleton('checkout/session')->getQuote();
$shipping = $checkout->getShippingAddress();
$cashOnDeliveryCities = array('city name 1','city name 2',..)    
if(in_array($shipping->getCity(), $cashOnDeliveryCities)){
    $result->isAvailable = true;
}else{
    $result->isAvailable = false;
}
Jeffrey Bosboom
  • 13,313
  • 16
  • 79
  • 92
Neha
  • 71
  • 1
-1

Here's how to do it without an extension.

Just go to admin > per motions > Shopping Cart Price Rule and create rules for this "cash on delivery payment method option for some specific products".

First in conditions select payment method "COD" in options. After that in "Action" add product SKU, for multiple using add SKU by comma. Activate the rule and check your payment method for those products to ensure it's working.

Jeffrey Bosboom
  • 13,313
  • 16
  • 79
  • 92
Ravi Chomal
  • 459
  • 2
  • 8