使用外部脚本Magento将优惠券代码应用于报价
我想从外部脚本应用优惠券代码,这将设置代码和折扣金额报价和最终结果将保存新的总报价。我已完成以下操作,但未保存报价使用外部脚本Magento将优惠券代码应用于报价,magento,magento-1.9,Magento,Magento 1.9,我想从外部脚本应用优惠券代码,这将设置代码和折扣金额报价和最终结果将保存新的总报价。我已完成以下操作,但未保存报价 $quoteid = "53701"; $couponCode = "Discount99"; $oCoupon = Mage::getModel('salesrule/coupon')->load(trim($couponCode), 'code'); $oRule = Mage::getModel('salesrule/rule')
$quoteid = "53701";
$couponCode = "Discount99";
$oCoupon = Mage::getModel('salesrule/coupon')->load(trim($couponCode), 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
if($oRule->getRuleId() && $oRule->getRuleId() > 0){
try{
$quoteObj = Mage::getModel('sales/quote')->setCouponCode($oCoupon)->load($quoteid);
$quoteObj->setTotalsCollectedFlag(true)
->collectTotals()
->save();
$returndata["success"] = "1";
$returndata["message"] = "Coupon Applied Successfully";
$returndata["data"]["discount_amount"] = $oRule->getDiscountAmount();
}catch (Exception $e){
$returndata["success"] = "0";
$returndata["message"] = "Cart Coupon update Failed";
$returndata["data"] = null;
}
}else{
$returndata["success"] = "0";
$returndata["message"] = "Invalid Coupon";
$returndata["data"] = null;
}
echo json_encode($returndata);
exit;
$quoteid = '53703';
$couponCode = "cvpcode2013";
$oCoupon = Mage::getModel('salesrule/coupon')->load(trim($couponCode), 'code');
$oRule = Mage::getModel('salesrule/rule')->load($oCoupon->getRuleId());
if($oRule->getRuleId() && $oRule->getRuleId() > 0){
try{
$quote = $this->_getQuote($quoteid,Mage::app()->getStore()->getStoreId());
$quote->setCouponCode($couponCode);
$quote->setTotalsCollectedFlag(false)->collectTotals();
$quote->collectTotals();
$quote->save();
}catch (Exception $e){
echo $e->getMessage();
}
}else{
// invalid coupon
}
// create new function
protected function _getQuote($quoteId, $store = null)
{
$quote = Mage::getModel("sales/quote");
if (!(is_string($store) || is_integer($store))) {
$quote->loadByIdWithoutStore($quoteId);
} else {
$storeId = $store;
$quote->setStoreId($storeId)
->load($quoteId);
}
if (is_null($quote->getId())) {
$this->_fault('quote_not_exists');
}
return $quote;
}