Añadir orden de descuento personalizado en total con el botón

Tengo mi módulo con mi descuento personalizado y está bien.

config.xml:

<sales>
   <quote>
       <totals>
             <aver> 
                <class>Dani_Prueba_Model_Total_Aver</class> 
                <after>subtotal</after> 
             </aver>
        </totals>
    </quote>
</sales>

Mi modulo:

<?php
class Dani_Prueba_Model_Total_Aver extends Mage_Sales_Model_Quote_Address_Total_Abstract{

    public function collect(Mage_Sales_Model_Quote_Address $address){

        $baseDiscount = 2.5;
        $discount = Mage::app()->getStore()->convertPrice($baseDiscount);

        $address->setCustomDiscount($baseDiscount);

        $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseDiscount);
        $address->setGrandTotal($address->getGrandTotal() - $discount);

        return $this;
    }

    public function fetch(Mage_Sales_Model_Quote_Address $address){
        $this->setCode('aver');
        $amount = $address->getCustomDiscount();
            if ($amount != 0){
                $address->addTotal(array(
                'code'  => $this->getCode(),
                'title' => 'Custom Discount',
                'value' => $amount
            ));
        }
        return $this;
    }
}

Esto está bien y cuando agrego un producto al carrito, aplico automáticamente mi descuento personalizado.

Pero ahora necesito hacerlo con un botón. Cuando agrego productos al carrito no aplico descuento y tengo el total correcto. Pero cuando hago clic en un botón, aplico mi descuento personalizado, y con otro botón "Cancelar", cancele el descuento. Necesito algunos similares como la función de un código de cupón.

¿¿Cómo lo hago??

Respuestas a la pregunta(3)

Su respuesta a la pregunta