Skip to content

Instantly share code, notes, and snippets.

@rootindex
Created November 5, 2012 13:30
Show Gist options
  • Save rootindex/4017190 to your computer and use it in GitHub Desktop.
Save rootindex/4017190 to your computer and use it in GitHub Desktop.
public function createVoucher($value=0, $cardnumber){
$voucher_id = Mage::getModel('salesrule/coupon')->load($cardnumber . '-' . Mage::helper('checkout')->getQuote()->getId(), 'code');
if($voucher_id->getRuleId()){
$cartpriceRule = Mage::getModel('salesrule/rule')->load($voucher_id->getRuleId());
$cartpriceRule->setDiscountAmount($value);
}else{
$cartpriceRule = Mage::getModel('salesrule/rule');
$cartpriceRule->setName('Giftcard '. $cardnumber);
$cartpriceRule->setDescription('Giftcard '. $cardnumber);
$cartpriceRule->setIsActive(1);
$cartpriceRule->setWebsiteIds(array(1,2));
$cartpriceRule->setCustomerGroupIds(array(0,1,2,3,4));
$cartpriceRule->setFromDate('');
$cartpriceRule->setToDate('');
$cartpriceRule->setSortOrder('');
$cartpriceRule->setSimpleAction('cart_fixed');
$cartpriceRule->setDiscountAmount($value);
$cartpriceRule->setStopRulesProcessing(0);
$cartpriceRule->setApplyToShipping(1);
$cartpriceRule->setCouponType(2);
$cartpriceRule->setUsesPerCoupon('1');
$cartpriceRule->setUsesPerCustomer('1');
$cartpriceRule->setCouponCode($cardnumber . '-' . Mage::helper('checkout')->getQuote()->getId());
$cartpriceRule->setStoreDefaultLabel('Giftcard ('.$cardnumber.')');
}
$cartpriceRule->save();
$rule_id = $cartpriceRule->getId();
$shoppingCartPriceRule = Mage::getResourceModel('salesrule/rule')->saveStoreLabels($rule_id,array('0'=>'Giftcard ['.$cardnumber.']'));
$card_number = $cardnumber . '-' . Mage::helper('checkout')->getQuote()->getId();
Mage::helper('checkout')->getQuote()->setCouponCode($card_number);
return $card_number;
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment