How to disable specfic payment method for specfic products
If you want to disable a specfic payment method for specfic products then follow these steps.
1.Make a new file in app/etc/module/Arunendra_Disablepayment.xml
copy and Paste below code in that file
6. create a attribute,make sure attribute code must be (disablepayment) and type must be yes/no.
7.Assign this attribute in attribute set.
<?xml version="1.0"?>2.Now make module folder inside app/code/local/Arunendra/Disablepayment 3.Make new folder and file inside app/code/local/Arunendra/Disablepayment/etc/config.xml and copy and paste below code in that file.true local
<?xml version="1.0"?>4.Make new folder and file inside app/code/local/Arunendra/Disablepayment/Model/Observer.php and copy and paste below code in that file.1.0.1 Arunendra_Disablepayment_Model singleton disablepayment/observer filterpaymentmethod
<?php class Arunendra_Disablepayment_Model_Observer { public function filterpaymentmethod(Varien_Event_Observer $observer) { /* call get payment method */ $method = $observer->getEvent()->getMethodInstance(); if($method->getCode()=='paypal_express'){ $productWeight = array(); $CartSession = Mage::getSingleton('checkout/session'); foreach($CartSession->getQuote()->getAllItems() as $item) { $product_id = $item->getProductId(); $obj = Mage::getModel('catalog/product')->load($product_id); $productWeight[] = $obj->getDisablepayment(); } if(!in_array(1,$productWeight)){ $result = $observer->getEvent()->getResult(); $result->isAvailable = true; return; } else{ $result = $observer->getEvent()->getResult(); $result->isAvailable = false; } } return; } }5. Login to your admin section.
6. create a attribute,make sure attribute code must be (disablepayment) and type must be yes/no.
7.Assign this attribute in attribute set.
No comments:
Post a Comment