public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $allowedAmount = $order->getShippingAmount() - $order->getShippingRefunded(); $baseAllowedAmount = $order->getBaseShippingAmount() - $order->getBaseShippingRefunded(); /** * Check if shipping amount was specified (from invoice or another source). * Using has magic method to allow setting 0 as shipping amount. */ if ($creditmemo->hasBaseShippingAmount()) { $baseShippingAmount = Mage::app()->getStore()->roundPrice($creditmemo->getBaseShippingAmount()); if ($baseShippingAmount < $baseAllowedAmount) { $shippingAmount = $allowedAmount * $baseShippingAmount / $baseAllowedAmount; $shippingAmount = Mage::app()->getStore()->roundPrice($shippingAmount); } elseif ($baseShippingAmount == $baseAllowedAmount) { $shippingAmount = $allowedAmount; } else { $baseAllowedAmount = $order->formatBasePrice($baseAllowedAmount); Mage::throwException(Mage::helper('sales')->__('Maximum shipping amount allowed to refound is: %s', $baseAllowedAmount)); } } else { $baseShippingAmount = $baseAllowedAmount; $shippingAmount = $allowedAmount; } $creditmemo->setShippingAmount($shippingAmount); $creditmemo->setBaseShippingAmount($baseShippingAmount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $shippingAmount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseShippingAmount); return $this; }
/** * Set entity * * @param Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object * @return $this */ public function setEntity($object) { $this->setEntityId($object->getId()); $this->setEntityIncrementId($object->getIncrementId()); $this->setStoreId($object->getStoreId()); return $this; }
/** * Save order in AvaTax system * * @see OnePica_AvaTax_Model_Observer_SalesOrderCreditmemoSaveAfter::execute() * @param Mage_Sales_Model_Order_Creditmemo $creditmemo * @param OnePica_AvaTax_Model_Records_Queue $queue * @return mixed * @throws OnePica_AvaTax_Exception * @throws OnePica_AvaTax_Model_Service_Exception_Commitfailure * @throws OnePica_AvaTax_Model_Service_Exception_Unbalanced */ public function process($creditmemo, $queue) { $order = $creditmemo->getOrder(); $storeId = $order->getStoreId(); $this->setStoreId($storeId); $shippingAddress = $order->getShippingAddress() ? $order->getShippingAddress() : $order->getBillingAddress(); if (!$shippingAddress) { throw new OnePica_AvaTax_Exception($this->_getHelper()->__('There is no address attached to this order')); } /** @var OnePica_AvaTax_Model_Service_Result_Creditmemo $creditmemoResult */ $creditmemoResult = $this->_getService()->creditmemo($creditmemo, $queue); //if successful if (!$creditmemoResult->getHasError()) { $message = $this->_getHelper()->__('Credit memo #%s was saved to AvaTax', $creditmemoResult->getDocumentCode()); $this->_getHelper()->addStatusHistoryComment($order, $message); $totalTax = $creditmemoResult->getTotalTax(); if ($totalTax != $creditmemo->getBaseTaxAmount() * -1) { throw new OnePica_AvaTax_Model_Service_Exception_Unbalanced('Collected: ' . $creditmemo->getTaxAmount() . ', Actual: ' . $totalTax); } //if not successful } else { $messages = $creditmemoResult->getErrors(); throw new OnePica_AvaTax_Model_Service_Exception_Commitfailure(implode(' // ', $messages)); } return true; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $totalTax = 0; $baseTotalTax = 0; foreach ($creditmemo->getAllItems() as $item) { $orderItemTax = $item->getOrderItem()->getTaxAmount(); $baseOrderItemTax = $item->getOrderItem()->getBaseTaxAmount(); $orderItemQty = $item->getOrderItem()->getQtyOrdered(); if ($orderItemTax && $orderItemQty) { $tax = $orderItemTax * $item->getQty() / $orderItemQty; $baseTax = $baseOrderItemTax * $item->getQty() / $orderItemQty; $tax = $creditmemo->getStore()->roundPrice($tax); $baseTax = $creditmemo->getStore()->roundPrice($baseTax); $item->setTaxAmount($tax); $item->setBaseTaxAmount($baseTax); $totalTax += $tax; $baseTotalTax += $baseTax; } } $creditmemo->setTaxAmount($totalTax); $creditmemo->setBaseTaxAmount($baseTotalTax); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $totalTax); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseTotalTax); return $this; }
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; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $baseDiscount = 0; $discount = 0; foreach ($creditmemo->getAllItems() as $item) { if ($item->getOrderItem()->isDummy()) { continue; } $orderItem = $item->getOrderItem(); $orderItemDiscount = (double) $orderItem->getAffiliateplusAmount(); $baseOrderItemDiscount = (double) $orderItem->getBaseAffiliateplusAmount(); $orderItemQty = $orderItem->getQtyOrdered(); if ($orderItemDiscount && $orderItemQty) { $discount -= $orderItemDiscount * $item->getQty() / $orderItemQty; $baseDiscount -= $baseOrderItemDiscount * $item->getQty() / $orderItemQty; } } if (!floatval($baseDiscount)) { $order = $creditmemo->getOrder(); $baseDiscount = $order->getBaseAffiliateplusDiscount(); $discount = $order->getAffiliateplusDiscount(); } if (floatval($baseDiscount)) { $baseDiscount = Mage::app()->getStore()->roundPrice($baseDiscount); $discount = Mage::app()->getStore()->roundPrice($discount); $creditmemo->setBaseAffiliateplusDiscount($baseDiscount); $creditmemo->setAffiliateplusDiscount($discount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseDiscount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $discount); } return $this; }
/** * Collect total cost of refunded items * * @param Mage_Sales_Model_Order_Creditmemo $creditmemo * @return Mage_Sales_Model_Order_Creditmemo_Total_Cost */ public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $baseRefundTotalCost = 0; foreach ($creditmemo->getAllItems() as $item) { if (!$item->getHasChildren()) { $baseRefundTotalCost += $item->getBaseCost() * $item->getQty(); } } $creditmemo->setBaseCost($baseRefundTotalCost); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { if (!$creditmemo->getInvoice() || !$creditmemo->getInvoice()->getId()) { return; } $order = $creditmemo->getOrder(); if ($order->getWebposChange() < 0.0001) { return; } $creditmemo->setWebposChange($order->getWebposChange())->setWebposBaseChange($order->getWebposBaseChange()); }
/** * Returns the currency compliant to ISO 4217 (3 char code) * @return string 3 Character long currency code * * @param Mage_Sales_Model_Quote|Mage_Sales_Model_Order|Mage_Sales_Model_Order_Invoice|Mage_Sales_Model_Order_Creditmemo $object * @return string */ public function getCurrency($object) { $currency = $object->getBaseCurrencyCode(); if (!Mage::helper('paymill/optionHelper')->isBaseCurrency()) { if ($object instanceof Mage_Sales_Model_Quote) { $currency = $object->getQuoteCurrencyCode(); } else { $currency = $object->getOrderCurrencyCode(); } } return $currency; }
* * @category FCM * @package FCM_Fulfillment * @author Pawan Prakash Gupta * @author_id 51405591 * @company HCL Technologies * @created Monday, August 13, 2012 * @copyright Four cross media */ /** * Orderpayment model class * * @category FCM * @package FCM_Fulfillment * @author Pawan Prakash Gupta <51405591> */ class FCM_Fulfillment_Model_Salespayment extends Mage_Sales_Model_Order_Payment { /** * Refund payment online or offline, depending on whether there is invoice set in the creditmemo instance * Updates transactions hierarchy, if required * Updates payment totals, updates order status and adds proper comments * * @param Mage_Sales_Model_Order_Creditmemo $creditmemo * @return Mage_Sales_Model_Order_Payment */ public function refund($creditmemo) { $baseAmountToRefund = $this->_formatAmount($creditmemo->getBaseGrandTotal()); $order = $this->getOrder(); $this->_generateTransactionId(Mage_Sales_Model_Order_Payment_Transaction::TYPE_REFUND); // call refund from gateway if required $isOnline = false; $gateway = $this->getMethodInstance(); $invoice = null; if ($gateway->canRefund() && $creditmemo->getDoTransaction()) { $this->setCreditmemo($creditmemo); $invoice = $creditmemo->getInvoice(); if ($invoice) { $isOnline = true; $captureTxn = $this->_lookupTransaction($invoice->getTransactionId()); if ($captureTxn) { $this->setParentTransactionId($captureTxn->getTxnId()); } $this->setShouldCloseParentTransaction(true); // TODO: implement multiple refunds per capture try { $gateway->setStore($this->getOrder()->getStoreId())->processBeforeRefund($invoice, $this)->refund($this, $baseAmountToRefund)->processCreditmemo($creditmemo, $this); } catch (Mage_Core_Exception $e) { if (!$captureTxn) {
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $totalDiscountAmount = $order->getMwStorecreditDiscountShow(); $baseTotalDiscountAmount = $order->getMwStorecreditDiscount(); /* $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $totalDiscountAmount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() - $baseTotalDiscountAmount); */ $creditmemo->setGrandTotal($creditmemo->getGrandTotal()); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal()); $creditmemo->setMwStorecredit($order->getMwStorecredit()); $creditmemo->setMwStorecreditBuyCredit($order->getMwStorecreditBuyCredit()); $creditmemo->setMwStorecreditDiscount($baseTotalDiscountAmount); $creditmemo->setMwStorecreditDiscountShow($totalDiscountAmount); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $creditmemo->setWebposGiftwrapAmount(0); $orderGiftwrapAmount = $creditmemo->getOrder()->getWebposGiftwrapAmount(); $baseOrderShippingAmount = $creditmemo->getOrder()->getWebposGiftwrapAmount(); if ($orderGiftwrapAmount) { $creditmemo->setWebposGiftwrapAmount($orderGiftwrapAmount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $orderGiftwrapAmount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $orderGiftwrapAmount); } return $this; }
/** * If no fee is available, return an empty string. * * @return string */ protected function _toHtml() { if (!$this->_source->getBuckarooFee()) { return ''; } return parent::_toHtml(); }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $creditmemo->setSurchargeAmount(0); $creditmemo->setBaseSurchargeAmount(0); $orderSurchargeAmount = Mage::helper('sagepaysurcharges')->getAmount($creditmemo->getOrder()->getId()); if (!$orderSurchargeAmount) { $orderSurchargeAmount = Mage::getSingleton('core/session')->getData('surchargeamount'); } if ($orderSurchargeAmount) { $creditmemo->setSurchargeAmount($orderSurchargeAmount); $creditmemo->setBaseSurchargeAmount($orderSurchargeAmount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $orderSurchargeAmount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $orderSurchargeAmount); } return $this; }
/** * @magentoConfigFixture current_store design/theme/full_name default/default/default * @magentoDataFixture Mage/Sales/_files/order.php */ public function testSendEmail() { $order = new Mage_Sales_Model_Order(); $order->loadByIncrementId('100000001'); $order->setCustomerEmail('*****@*****.**'); $creditmemo = new Mage_Sales_Model_Order_Creditmemo(); $creditmemo->setOrder($order); $payment = $order->getPayment(); $paymentInfoBlock = Mage::helper('Mage_Payment_Helper_Data')->getInfoBlock($payment); $paymentInfoBlock->setArea('invalid-area'); $payment->setBlockMock($paymentInfoBlock); $this->assertEmpty($creditmemo->getEmailSent()); $creditmemo->sendEmail(true); $this->assertNotEmpty($creditmemo->getEmailSent()); $this->assertEquals('frontend', $paymentInfoBlock->getArea()); }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $amount = $order->getServicecostInvoiced() - $order->getServicecostRefunded(); $baseamount = $order->getBaseServicecostInvoiced() - $order->getBaseServicecostRefunded(); $taxamount = $order->getServicecostTaxInvoiced() - $order->getServicecostTaxRefunded(); $basetaxamount = $order->getBaseServicecostTaxInvoiced() - $order->getBaseServicecostTaxRefunded(); if ($baseamount > 0) { $creditmemo->setServicecost($amount); $creditmemo->setBaseServicecost($baseamount); $creditmemo->setServicecostTax($order->getServicecostTaxRefunded()); $creditmemo->setBaseServicecostTax($order->getBaseServicecostTaxRefunded()); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $amount + $taxamount - $order->getServicecostTax()); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseamount + $basetaxamount - $order->getServicecostTax()); } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $_helper = Mage::helper('msp_cashondelivery'); $_model = Mage::getModel('msp_cashondelivery/cashondelivery'); $order = $creditmemo->getOrder(); $baseAmount = $order->getMspBaseCashondelivery(); $baseAmountInclTax = $order->getMspBaseCashondeliveryInclTax(); $amount = $order->getMspCashondelivery(); $amountInclTax = $order->getMspCashondeliveryInclTax(); $codTax = $amountInclTax - $amount; $codBaseTax = $baseAmountInclTax - $baseAmount; $creditmemo->setTaxAmount($creditmemo->getTaxAmount() + $codTax); $creditmemo->setBaseTaxAmount($creditmemo->getBaseTaxAmount() + $codBaseTax); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $codTax); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $codBaseTax); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $invoice = $order->getInvoiceCollection()->getFirstItem(); $payment = $order->getPayment(); $paymentMethod = $payment->getMethod(); if ($this->getHelper()->isBillpayRatPayment($paymentMethod)) { $info = $payment->getMethodInstance()->getInfoInstance(); // Temporary set creditmemo amount to current amount (will be overriden after partialCancel-request was successful) $creditmemo->setBillpayRateSurcharge($info->getBillpayRateSurcharge()); $creditmemo->setBillpayRateFee($info->getBillpayRateFee()); $creditmemo->setBillpayRateFeeNet($info->getBillpayRateFeeNet()); $creditmemo->setBillpayRateTotalAmount($info->getBillpayRateTotalAmount()); $creditmemo->setBillpayRateFeeTax($info->getBillpayRateFeeTax()); // TODO: ... /*if ($diff < 0 && -$diff = $feeTaxAmount) { // must be a full cancel $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $feeTaxAmount); } else if ($diff == 0) { $creditmemo->setTaxAmount($creditmemo->getTaxAmount() + $feeTaxAmount); } $diffBase = $order->getBaseGrandTotal() - $order->getBaseTotalRefunded() - $creditmemo->getBaseGrandTotal(); if ($diffBase < 0 && -$diffBase = $feeTaxAmount) { // must be a full cancel $creditmemo->setBaseGrandTotal($creditmemo->getGrandTotal() - $feeTaxAmount); } else if ($diff == 0) { $creditmemo->setBaseTaxAmount($creditmemo->getBaseTaxAmount() + $feeTaxAmount); }*/ } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $invoice) { $order = $invoice->getOrder(); $amount = $order->getMspCashondelivery(); $baseAmount = $order->getMspBaseCashondelivery(); $invoice->setGrandTotal($invoice->getGrandTotal() + $amount); $invoice->setBaseGrandTotal($invoice->getBaseGrandTotal() + $baseAmount); $invoice->setMspCashondelivery($amount); $invoice->setMspBaseCashondelivery($baseAmount); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $creditmemo->setWebposDiscountAmount(0); $orderWebposDiscount = $creditmemo->getOrder()->getWebposDiscountAmount(); if ($orderWebposDiscount) { $creditmemo->setWebposDiscountAmount($orderWebposDiscount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $orderWebposDiscount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() - $orderWebposDiscount); } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $amount = number_format($order->getGiftCardValue(), 2); if ($amount) { if ($creditmemo->getGrandTotal() - $amount < 0) { $creditmemo->setGrandTotal(number_format(0.0)); $creditmemo->setBaseGrandTotal(number_format(0.0)); } else { $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $amount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() - $amount); } } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $amount = $this->_giftWrapAmount($creditmemo->getOrder()); $creditmemo->setGiftWrapAmount($amount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $amount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $amount); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $baseDiscount = $order->getBaseLuckydrawDiscount(); $discount = $order->getLuckydrawDiscount(); if (floatval($baseDiscount)) { $creditmemo->setBaseLuckydrawDiscount($baseDiscount); $creditmemo->setLuckydrawDiscount($discount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $baseDiscount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $discount); } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $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); } return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $creditmemo->setRewardpointsInvitedDiscount(0); $creditmemo->setRewardpointsInvitedBaseDiscount(0); $order = $creditmemo->getOrder(); $totalDiscountAmount = 0; $baseTotalDiscountAmount = 0; if ($this->isLast($creditmemo)) { $baseTotalDiscountAmount = $order->getRewardpointsInvitedBaseDiscount(); $totalDiscountAmount = $order->getRewardpointsInvitedDiscount(); foreach ($order->getCreditmemosCollection() as $existedCreditmemo) { if ($baseTotalDiscountAmount > 0.0001) { $baseTotalDiscountAmount -= $existedCreditmemo->getRewardpointsInvitedBaseDiscount(); $totalDiscountAmount -= $existedCreditmemo->getRewardpointsInvitedDiscount(); } } } else { foreach ($creditmemo->getAllItems() as $item) { $orderItem = $item->getOrderItem(); if ($orderItem->isDummy()) { continue; } $orderItemDiscount = (double) $orderItem->getRewardpointsInvitedDiscount(); $baseOrderItemDiscount = (double) $orderItem->getRewardpointsInvitedBaseDiscount(); $orderItemQty = $orderItem->getQtyOrdered(); if ($orderItemDiscount && $orderItemQty) { $discount = $creditmemo->roundPrice($orderItemDiscount / $orderItemQty * $item->getQty(), 'regular', true); $baseDiscount = $creditmemo->roundPrice($baseOrderItemDiscount / $orderItemQty * $item->getQty(), 'base', true); $item->setRewardpointsInvitedDiscount($discount); $item->setRewardpointsInvitedBaseDiscount($baseDiscount); $totalDiscountAmount += $discount; $baseTotalDiscountAmount += $baseDiscount; } } } $creditmemo->setRewardpointsInvitedDiscount($totalDiscountAmount); $creditmemo->setRewardpointsInvitedBaseDiscount($baseTotalDiscountAmount); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $totalDiscountAmount); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() - $baseTotalDiscountAmount); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); if ($order->getPayment()->getMethodInstance()->getCode() != 'Balticode_Cashondelivery') { return $this; } $creditmemoBaseGrandTotal = $creditmemo->getBaseGrandTotal(); $creditmemoGrandTotal = $creditmemo->getGrandTotal(); $baseCodFeeRefunded = $order->getBaseCodFeeRefunded(); $codFeeRefunded = $order->getCodFeeRefunded(); $baseCodFeeInvoiced = $order->getBaseCodFeeInvoiced(); $codFeeInvoiced = $order->getCodFeeInvoiced(); $baseCodFeeToRefund = abs($baseCodFeeInvoiced - $baseCodFeeRefunded); $codFeeToRefund = abs($codFeeInvoiced - $codFeeRefunded); if ($baseCodFeeToRefund <= 0) { return $this; } $creditmemo->setBaseGrandTotal($creditmemoBaseGrandTotal + $baseCodFeeToRefund)->setGrandTotal($creditmemoGrandTotal + $codFeeToRefund)->setBaseCodFee($baseCodFeeToRefund)->setCodFee($codFeeToRefund); $order->setBaseCodFeeRefunded($baseCodFeeRefunded + $baseCodFeeToRefund)->setCodFeeRefunded($codFeeRefunded + $codFeeToRefund); return $this; }
/** * Dispatch order and update planning * */ protected function _afterSave() { parent::_afterSave(); $order = $this->getOrder(); //plan update for ordered and reserved qty for products foreach ($this->getAllItems() as $item) { $productId = $item->getProductId(); mage::helper('BackgroundTask')->AddTask('Update stock for product ' . $productId . ' (from credit memo aftersave)', 'purchase', 'UpdateProductStock', $productId); } //dispatch order in order preparation tabs mage::helper('BackgroundTask')->AddTask('Dispatch order #' . $order->getId(), 'Orderpreparation', 'dispatchOrder', $order->getId()); }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $creditmemo->setGrandTotal($creditmemo->getGrandTotal() + $order->getDesconto()); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() + $order->getBaseDesconto()); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $cm) { $order = $cm->getOrder(); if ($order->getPayment()->getMethodInstance()->getCode() != 'cashondelivery') { return $this; } $baseCmTotal = $cm->getBaseGrandTotal(); $cmTotal = $cm->getGrandTotal(); $baseCodFeeCredited = $order->getBaseCodFeeCredited(); $codFeeCredited = $order->getCodFeeCredited(); $baseCodFeeInvoiced = $order->getBaseCodFeeInvoiced(); $codFeeInvoiced = $order->getCodFeeInvoiced(); if ($cm->getInvoice()) { $invoice = $cm->getInvoice(); $baseCodFeeToCredit = $invoice->getBaseCodFee(); $codFeeToCredit = $invoice->getCodFee(); } else { $baseCodFeeToCredit = $baseCodFeeInvoiced; $codFeeToCredit = $codFeeInvoiced; } if (!$baseCodFeeToCredit > 0) { return $this; } // Subtracting invoiced COD fee from Credit memo total //$cm->setBaseGrandTotal($baseCmTotal-$baseCodFeeToCredit); //$cm->setGrandTotal($cmTotal-$codFeeToCredit); //$cm->setBaseCodFee($baseCodFeeToCredit); //$cm->setCodFee($codFeeToCredit); //$order->setBaseCodFeeCredited($baseCodFeeCredited+$baseCodFeeToCredit); //$order->setCodFeeCredited($codFeeCredited+$baseCodFeeToCredit); return $this; }
public function collect(Mage_Sales_Model_Order_Creditmemo $creditmemo) { $order = $creditmemo->getOrder(); $creditpointAmountLeft = $order->getCreditpointAmountInvoiced() - $order->getCreditpointAmountRefunded(); $basecreditpointAmountLeft = $order->getBaseCreditpointAmountInvoiced() - $order->getBaseCreditpointAmountRefunded(); if ($basecreditpointAmountLeft > 0) { //customer redeemed discount so we are subtracting the value from total $creditmemo->setGrandTotal($creditmemo->getGrandTotal() - $creditpointAmountLeft); $creditmemo->setBaseGrandTotal($creditmemo->getBaseGrandTotal() - $basecreditpointAmountLeft); $creditmemo->setCreditpointAmount($creditpointAmountLeft); $creditmemo->setBaseCreditpointAmount($basecreditpointAmountLeft); } return $this; }