Example #1
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $invoice->setSurchargeAmount(0);
     $invoice->setBaseSurchargeAmount(0);
     $orderSurchargeAmount = Mage::helper('sagepaysuite/surcharge')->getAmount($invoice->getOrder()->getId());
     if (!$orderSurchargeAmount) {
         $orderSurchargeAmount = Mage::getSingleton('core/session')->getData('surchargeamount');
     }
     if ($orderSurchargeAmount) {
         $invoice->setSurchargeAmount($orderSurchargeAmount);
         $invoice->setBaseSurchargeAmount($orderSurchargeAmount);
         $invoice->setGrandTotal($invoice->getGrandTotal() + $orderSurchargeAmount);
         $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $orderSurchargeAmount);
     }
     return $this;
 }
Example #2
0
 public function collect(Mage_Sales_Model_Order_Invoice $invoice)
 {
     $order = $invoice->getOrder();
     $SurchargeAmountLeft = $order->getSurchargeAmount() - $order->getSurchargeAmountInvoiced();
     $baseSurchargeAmountLeft = $order->getBaseSurchargeAmount() - $order->getBaseSurchargeAmountInvoiced();
     if (abs($baseSurchargeAmountLeft) < $invoice->getBaseGrandTotal()) {
         $invoice->setGrandTotal($invoice->getGrandTotal() + $SurchargeAmountLeft);
         $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseSurchargeAmountLeft);
     } else {
         $SurchargeAmountLeft = $invoice->getGrandTotal() * -1;
         $baseSurchargeAmountLeft = $invoice->getBaseGrandTotal() * -1;
         $invoice->setGrandTotal(0);
         $invoice->setBaseGrandTotal(0);
     }
     $invoice->setSurchargeAmount($SurchargeAmountLeft);
     $invoice->setBaseSurchargeAmount($baseSurchargeAmountLeft);
     return $this;
 }