Example #1
0
 public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo)
 {
     $order_id = $creditmemo->getOrderId();
     $order = Mage::getModel('sales/order')->load($order_id);
     $creditmemo->setFeeAmount($order->getFeeAmount());
     $creditmemo->setBaseFeeAmount($order->getBaseFeeAmount());
     $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $creditmemo->getFeeAmount());
     $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $creditmemo->getBaseFeeAmount());
     return $this;
 }
Example #2
0
File: Fee.php Project: mrphang/Fee
 /**
  * Collect credit memo total
  *
  * @param Mage_Sales_Model_Order_Creditmemo $creditmemo
  * @return Magentix_Fee_Model_Sales_Order_Total_Creditmemo_Fee
  */
 public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo)
 {
     $order = $creditmemo->getOrder();
     if ($order->getFeeAmountInvoiced() > 0) {
         $feeAmountLeft = $order->getFeeAmountInvoiced() - $order->getFeeAmountRefunded();
         $basefeeAmountLeft = $order->getBaseFeeAmountInvoiced() - $order->getBaseFeeAmountRefunded();
         if ($basefeeAmountLeft > 0) {
             $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $feeAmountLeft);
             $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $basefeeAmountLeft);
             $creditmemo->setFeeAmount($feeAmountLeft);
             $creditmemo->setBaseFeeAmount($basefeeAmountLeft);
         }
     } else {
         $feeAmount = $order->getFeeAmountInvoiced();
         $basefeeAmount = $order->getBaseFeeAmountInvoiced();
         $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $feeAmount);
         $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $basefeeAmount);
         $creditmemo->setFeeAmount($feeAmount);
         $creditmemo->setBaseFeeAmount($basefeeAmount);
     }
     return $this;
 }