I am using
Mage::getSingleton('checkout/cart')->getQuote()->getShippingAddress()
->setCollectShippingRates(true);
Mage::getSingleton('checkout/cart')->getQuote()
->setCouponCode($xfCouponCode)->collectTotals()->save();
i can apply coupon perfectly but when
Mage::getSingleton('checkout/cart')->getQuote()
->setCouponCode($xfCouponCode)->collectTotals()->save();
this line run then echo coupon in template. i don't know why echo coupon in template..
In the coupon.phtml in input field have show coupon just comment out $this->htmlEscape($this->getCouponCode())
like this:
<div class="input-box">
<input class="input-text" id="coupon_code" name="coupon_code" value="<?php //echo $this->htmlEscape($this->getCouponCode()) ?>" />
</div>
Modify coupon code:
$couponCode="amitG";
$oldCouponCode = Mage::getSingleton('checkout/cart')->getQuote()->getCouponCode();
if (strlen($couponCode) && strlen($oldCouponCode)) {
Mage::getSingleton('checkout/cart')->getQuote()-->getShippingAddress()->setCollectShippingRates(true);
Mage::getSingleton('checkout/cart')->getQuote()->setCouponCode(strlen($couponCode) ? $couponCode : '')
->collectTotals()
->save();
}