public function collect(Mage_Sales_Model_Order_Invoice $invoice) { parent::collect($invoice); $order = $invoice->getOrder(); $invoice->setGrandTotal($invoice->getGrandTotal() + $order->getMtGiftCardTotal()); $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $order->getBaseMtGiftCardTotal()); return $this; }
public function collect(Mage_Sales_Model_Order_Invoice $invoice) { $_result = parent::collect($invoice); $baseTotal = $invoice->getBaseGrandTotal(); $total = $invoice->getGrandTotal(); $baseTotalGiftcardAmount = 0; $totalGiftcardAmount = 0; $invoiceGiftCards = array(); if (null === $invoice->getId()) { $quoteGiftcardsItems = Mage::helper('aw_giftcard/totals')->getQuoteGiftCards($invoice->getOrder()->getQuoteId()); foreach ($quoteGiftcardsItems as $quoteCard) { $_baseGiftcardAmount = $quoteCard->getBaseGiftcardAmount(); $_giftcardAmount = $quoteCard->getGiftcardAmount(); $invoices = Mage::helper('aw_giftcard/totals')->getAllInvoicesForGiftCard($invoice->getOrder()->getId(), $quoteCard->getGiftcardId()); if (count($invoices) > 0) { foreach ($invoices as $giftcardInvoice) { $_baseGiftcardAmount -= $giftcardInvoice->getBaseGiftcardAmount(); $_giftcardAmount -= $giftcardInvoice->getGiftcardAmount(); } } $baseCardUsedAmount = $_baseGiftcardAmount; if ($_baseGiftcardAmount >= $baseTotal) { $baseCardUsedAmount = $baseTotal; } $baseTotal -= $baseCardUsedAmount; $cardUsedAmount = $_giftcardAmount; if ($_giftcardAmount >= $total) { $cardUsedAmount = $total; } $total -= $cardUsedAmount; $_baseGiftcardAmount = round($baseCardUsedAmount, 4); $_giftcardAmount = round($cardUsedAmount, 4); $baseTotalGiftcardAmount += $_baseGiftcardAmount; $totalGiftcardAmount += $_giftcardAmount; $_invoiceCard = new Varien_Object($quoteCard->getData()); $_invoiceCard->setBaseGiftcardAmount($_baseGiftcardAmount)->setGiftcardAmount($_giftcardAmount); array_push($invoiceGiftCards, $_invoiceCard); } } if (null !== $invoice->getId() && $invoice->getAwGiftCards()) { $invoiceGiftCards = $invoice->getAwGiftCards(); foreach ($invoiceGiftCards as $invoiceCard) { $baseTotalGiftcardAmount += $invoiceCard->getBaseGiftcardAmount(); $totalGiftcardAmount += $invoiceCard->getGiftcardAmount(); } } $invoice->setAwGiftCards($invoiceGiftCards)->setBaseAwGiftCardsAmount($baseTotalGiftcardAmount)->setAwGiftCardsAmount($totalGiftcardAmount)->setBaseGrandTotal($invoice->getBaseGrandTotal() - $baseTotalGiftcardAmount)->setGrandTotal($invoice->getGrandTotal() - $totalGiftcardAmount); return $_result; }
public function collect(Mage_Sales_Model_Order_Invoice $invoice) { parent::collect($invoice); $order = $invoice->getOrder(); if ($order->getShopgatePaymentFee() && $order->getBaseShopgatePaymentFee()) { $invoiceBaseGrandTotal = $invoice->getBaseGrandTotal(); $invoiceGrandTotal = $invoice->getGrandTotal(); $shopgateBaseGrandTotal = $invoiceBaseGrandTotal + $order->getBaseShopgatePaymentFee(); $shopgateGrandTotal = $invoiceGrandTotal + $order->getShopgatePaymentFee(); $invoice->setBaseGrandTotal($shopgateBaseGrandTotal); $invoice->setGrandTotal($shopgateGrandTotal); $invoice->setBaseShopgatePaymentFee($order->getBaseShopgatePaymentFee()); $invoice->setShopgatePaymentFee($order->getShopgatePaymentFee()); } return $this; }
/** * @param Mage_Sales_Model_Order_Invoice $invoice * @return $this|Mage_Sales_Model_Order_Invoice_Total_Abstract */ public function collect(Mage_Sales_Model_Order_Invoice $invoice) { if (Mage::helper('payperrentals/config')->isChargedDeposit()) { $order = $invoice->getOrder(); $feeAmountLeft = floatval($order->getDepositpprAmount() - $order->getDepositpprAmountInvoiced()); $baseFeeAmountLeft = floatval($order->getBaseDepositpprAmount() - $order->getBaseDepositpprAmountInvoiced()); if ($baseFeeAmountLeft > 0) { $invoice->setGrandTotal($invoice->getGrandTotal() + $feeAmountLeft); $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseFeeAmountLeft); $invoice->setDepositpprAmount($feeAmountLeft); $invoice->setBaseDepositpprAmount($baseFeeAmountLeft); } return $this; } return parent::collect($invoice); }