/** * @param Mage_Sales_Model_Order $order * @return array */ protected function _getCouponsFormatted($order) { $result = array(); if ($order->getCouponCode()) { if (Mage::helper("shopgate/config")->getIsMagentoVersionLower1410()) { $mageRule = Mage::getModel('salesrule/rule')->load($order->getCouponCode(), 'coupon_code'); $mageCoupon = $mageRule; } else { $mageCoupon = Mage::getModel('salesrule/coupon')->load($order->getCouponCode(), 'code'); $mageRule = Mage::getModel('salesrule/rule')->load($mageCoupon->getRuleId()); } $externalCoupon = new ShopgateExternalCoupon(); $couponInfo = array(); $couponInfo["coupon_id"] = $mageCoupon->getId(); $couponInfo["rule_id"] = $mageRule->getId(); $externalCoupon->setCode($order->getCouponCode()); $externalCoupon->setCurrency($order->getOrderCurrencyCode()); $externalCoupon->setName($mageRule->getName()); $externalCoupon->setDescription($mageRule->getDescription()); $externalCoupon->setInternalInfo($this->_getConfig()->jsonEncode($couponInfo)); $externalCoupon->setAmount($order->getDiscountAmount()); array_push($result, $externalCoupon); } return $result; }