Example #1
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $order_id = $invoice->getOrderId();
     $order = Mage::getModel('sales/order')->load($order_id);
     $invoice->setFeeAmount($order->getFeeAmount());
     $invoice->setBaseFeeAmount($order->getBaseFeeAmount());
     $invoice->setGrandTotal($invoice->getGrandTotal() + $invoice->getFeeAmount());
     $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $invoice->getBaseFeeAmount());
     return $this;
 }
Example #2
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $order = $invoice->getOrder();
     $feeAmountLeft = $order->getFeeAmount() - $order->getFeeAmountInvoiced();
     $baseFeeAmountLeft = $order->getBaseFeeAmount() - $order->getBaseFeeAmountInvoiced();
     if (abs($baseFeeAmountLeft) < $invoice->getBaseGrandTotal()) {
         $invoice->setGrandTotal($invoice->getGrandTotal() + $feeAmountLeft);
         $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseFeeAmountLeft);
     } else {
         $feeAmountLeft = $invoice->getGrandTotal() * -1;
         $baseFeeAmountLeft = $invoice->getBaseGrandTotal() * -1;
         $invoice->setGrandTotal(0);
         $invoice->setBaseGrandTotal(0);
     }
     $invoice->setFeeAmount($feeAmountLeft);
     $invoice->setBaseFeeAmount($baseFeeAmountLeft);
     return $this;
 }
Example #3
0
File: Fee.php Project: ext/magento
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $order = $invoice->getOrder();
     $invoiceTax = $order->getPayment()->getAdditionalInformation('billmateinvoice_fee_tax');
     $feeAmountLeft = $order->getFeeAmount() - $order->getFeeAmountInvoiced();
     $baseFeeAmountLeft = $order->getBaseFeeAmount() - $order->getBaseFeeAmountInvoiced();
     if ($order->getFeeTaxAmount() > 0 && version_compare(Mage::getVersion(), '1.9.0.0', '<')) {
         $feeAmountLeft += $order->getFeeTaxAmount();
         $baseFeeAmountLeft += $order->getBaseFeeTaxAmount();
     }
     if ($baseFeeAmountLeft > 0 || abs($baseFeeAmountLeft) < $invoice->getBaseGrandTotal()) {
         $invoice->setGrandTotal($invoice->getGrandTotal() + $feeAmountLeft);
         $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseFeeAmountLeft);
     } else {
         $feeAmountLeft = $invoice->getGrandTotal() * -1;
         $baseFeeAmountLeft = $invoice->getBaseGrandTotal() * -1;
         $invoice->setGrandTotal($invoice->getGrandTotal() + $feeAmountLeft);
         $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseFeeAmountLeft);
     }
     $invoice->setFeeAmount($feeAmountLeft);
     $invoice->setBaseFeeAmount($baseFeeAmountLeft);
     return $this;
 }