Disable Payment Method for Admin in Magento 1

magento-1payment-gatewaypayment-methods

I design one payment gateway But It's hosted payment so i want remove that payment method for admin order and reorder.so please some one tell me how to disable this method only for admin orders like Paypal standard.

Best Answer

Jaydeep Sinh Parmar,can do this by Magento Event/Observer

First,using payment_method_is_active disable on depends current store.

Code for this:

Module config.xml code:

<global>
    <events>
    <payment_method_is_active>
        <observers>
            <paymentfilter_payment_method_is_active>
            <type>singleton</type>
            <class>yourmodel/observer</class>
            <method>filterpaymentmethod</method>
            </paymentfilter_payment_method_is_active>
        </observers>
    </payment_method_is_active>
    </events>
</global>

Observer code is:

<?php
class YOURNANESPACE_YOURMODULE_Model_Observer {

    public function filterpaymentmethod(Varien_Event_Observer $observer) {
    /* call get payment method */
    $method = $observer->getEvent()->getMethodInstance();

     /*   get  Quote  */
     $quote = $observer->getEvent()->getQuote();

    /* Disable Your payment method for   adminStore */
    if (Mage::app()->getStore()->isAdmin()):
        if($method->getCode()=='YOUR_PAYMENT_METHOD_CODE' ){
        $result = $observer->getEvent()->getResult();   
         $result->isAvailable = false;
        }
    endif;
}
}
Related Topic