public function collect(Mage_Sales_Model_Quote_Address $address) { $address->setPaymentCharge(0); $address->setBasePaymentCharge(0); $items = $address->getAllItems(); if (!count($items)) { return $this; } $paymentMethod = $address->getQuote()->getPayment()->getMethod(); if (Mage::getStoreConfig('tax/calculation/price_includes_tax') != 1) { $tax = $address->getTaxAmount(); } if ($paymentMethod) { $amount1 = Mage::helper('paymentcharge')->getPaymentCharge($paymentMethod, $address->getQuote()); $amount = Mage::helper('directory')->currencyConvert($amount1, Mage::app()->getWebsite()->getConfig('currency/options/default'), Mage::app()->getStore()->getCurrentCurrencyCode()); // if(Mage::getStoreConfig('payment/paypal_payment_solutions/charge_type')!="percentage"){ $address->setPaymentCharge($amount); $address->setBasePaymentCharge($amount1); /* } else { $address->setPaymentCharge($amount); $subTotal = $address->getBaseSubtotal(); $amount12 = ($subTotal+ $tax) * floatval(Mage::getStoreConfig('payment/paypal_payment_solutions/charge_value')) / 100; $address->setBasePaymentCharge($amount12); }*/ } $address->setGrandTotal($address->getGrandTotal() + $tax + $address->getPaymentCharge()); $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBasePaymentCharge()); return $this; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { if (!method_exists($address->getQuote(), 'isR4q') || !$address->getQuote()->isR4q() || Mage::helper('request4quote')->isTaxEstimatesEnabled()) { parent::fetch($address); } return $this; }
public function collect(Mage_Sales_Model_Quote_Address $address) { if (!$this->_getConfigHelper()->getGeneralConfig('enable', $address->getQuote()->getStoreId())) { return $this; } $customer = $address->getQuote()->getCustomer(); $baseGrandTotal = $address->getBaseGrandTotal(); if (!$customer || !$customer->getId() || $baseGrandTotal <= 0) { return $this; } $baseDiscount = 0; $luckyCodes = Mage::getModel('luckydraw/code')->getFailedCodes($customer->getId()); $useCodes = array(); foreach ($luckyCodes as $code) { $codeDiscount = $code->getData('credit_rate'); $useCodes[] = $code->getId(); if ($baseGrandTotal - $codeDiscount <= 0) { $baseGrandTotal = 0; $baseDiscount = $address->getBaseGrandTotal(); break; } $baseGrandTotal -= $codeDiscount; $baseDiscount += $codeDiscount; } if ($baseDiscount) { Mage::getSingleton('core/session')->setUseLuckydrawCodes($useCodes); $discount = Mage::app()->getStore()->convertPrice($baseDiscount); $address->setBaseLuckydrawDiscount(-$baseDiscount); $address->setLuckydrawDiscount(-$discount); $address->setBaseGrandTotal($address->getBaseGrandTotal() - $baseDiscount); $address->setGrandTotal($address->getGrandTotal() - $discount); } return $this; }
public function fetchTotals(Mage_Sales_Model_Quote_Address $address) { $amount = $address->getDiscountAmount(); if ($amount != 0) { $title = Mage::helper('sales')->__('Discount'); if ($address->getQuote()->getCouponCode()) { $title .= ' (' . $address->getQuote()->getCouponCode() . ')'; } $address->addTotal(array('code' => 'discount', 'title' => $title, 'value' => -$amount)); } return $this; }
/** * Init rates * * @param Mage_Sales_Model_Quote_Address $address * @return $this */ public function initRates($address) { $this->_address = $address; $this->setStoreId($address->getQuote()->getStoreId()); $this->_rates = $this->_getService()->getRates($address); if (isset($this->_rates['failure']) && $this->_rates['failure'] === true) { // set error flag for processing estimation errors on upper level $this->_address->getQuote()->setData('estimate_tax_error', true); $this->_address->getQuote()->setData('estimate_tax_error_details', $this->_rates['failure_details']); } return $this; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { $this->_method = $address->getQuote()->getPayment()->getMethod(); $label = Mage::helper('msp')->getFeeLabel($this->_method); $quote = $address->getQuote(); $code = $quote->getPayment()->getMethod(); $amount = $address->getShippingAmount(); if ($amount != 0 || $address->getShippingDescription()) { if ($address->getServicecostAmount()) { $address->addTotal(array('code' => $this->getCode(), 'title' => $label, 'value' => $address->getServicecostPdf())); } } return $this; }
public function collect(Mage_Sales_Model_Quote_Address $address) { $address->setPaymentCharge(0); $address->setBasePaymentCharge(0); $storeId = Mage::app()->getStore()->getId(); $items = $address->getAllItems(); if (!count($items)) { return $this; } $paymentMethod = $address->getQuote()->getPayment()->getMethod(); $quote = $address->getQuote(); if ($paymentMethod && substr($paymentMethod, 0, 11) == 'pay_payment') { $baseAmount = Mage::helper('pay_payment')->getPaymentCharge($paymentMethod, $address->getQuote()); $amount = Mage::helper('directory')->currencyConvert($baseAmount, Mage::app()->getWebsite()->getConfig('currency/options/default'), Mage::app()->getStore()->getCurrentCurrencyCode()); $address->setPaymentCharge($amount); $address->setBasePaymentCharge($baseAmount); $taxClass = Mage::helper('pay_payment')->getPaymentChargeTaxClass($paymentMethod); $taxCalculationModel = Mage::getSingleton('tax/calculation'); $request = $taxCalculationModel->getRateRequest($quote->getShippingAddress(), $quote->getBillingAddress(), null, $storeId); $request->setStore(Mage::app()->getStore()); $rate = $taxCalculationModel->getRate($request->setProductClassId($taxClass)); //$rate = 21; if ($rate > 0) { // $includesTax = Mage::getStoreConfig('tax/calculation/price_includes_tax'); $baseChargeTax = round($address->getBasePaymentCharge() / (1 + $rate / 100) * ($rate / 100), 2); $chargeTax = round($address->getPaymentCharge() / (1 + $rate / 100) * ($rate / 100), 2); } else { $baseChargeTax = 0; $chargeTax = 0; } $rates = array(); $applied = false; foreach ($address->getAppliedTaxes() as $arrRate) { // maximaal 1 keer de btw voor de extra kosten toevoegen if ($arrRate['percent'] == $rate && !$applied) { $applied = true; $arrRate['amount'] = $arrRate['amount'] + $chargeTax; $arrRate['base_amount'] = $arrRate['base_amount'] + $baseChargeTax; } $rates[] = $arrRate; } $address->setAppliedTaxes($rates); $address->setBaseTaxAmount($address->getBaseTaxAmount() + $baseChargeTax); $address->setTaxAmount($address->getTaxAmount() + $chargeTax); $address->setGrandTotal($address->getGrandTotal() + $address->getPaymentCharge()); $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBasePaymentCharge()); } return $this; }
/** * Prepare Data to Storage for Order * * @param Mage_Sales_Model_Quote_Address $address * @return Magestore_Webpos_Model_Total_Quote_Cash */ public function collect(Mage_Sales_Model_Quote_Address $address) { $quote = $address->getQuote(); //Mage::getSingleton('webpos/session')->setWebposCash(null); $cashin = Mage::getSingleton('webpos/session')->getWebposCash(); $baseCashin = $cashin / $quote->getStore()->convertPrice(1); $quote->setWebposCash($cashin); $quote->setWebposBaseCash($baseCashin); if (!$quote->isVirtual() && $address->getAddressType() == 'billing') { return $this; } if ($quote->getWebposCash() < 0.0001) { return $this; } // Order Cash $address->setWebposCash($quote->getWebposCash())->setWebposBaseCash($quote->getWebposBaseCash()); // Update total Paid and Refund $address->setTotalPaid($quote->getWebposCash())->setBaseTotalPaid($quote->getWebposBaseCash()); if ($quote->getWebposCash() >= $address->getGrandTotal()) { $address->setTotalRefunded($quote->getWebposCash() - $address->getGrandTotal())->setBaseTotalRefunded($quote->getWebposBaseCash() - $address->getBaseGrandTotal()); if ($payment = $quote->getPayment()) { if ($method = $payment->getMethodInstance()) { if ($method->getCode() == 'cashforpos') { // prepair for cashin invoice $address->setTotalPaid($address->getTotalRefunded())->setBaseTotalPaid($address->getBaseTotalRefunded()); } } } } return $this; }
/** * Prepare Data to Storage for Order * * @param Mage_Sales_Model_Quote_Address $address * @return Magestore_Webpos_Model_Total_Quote_Cash */ public function collect(Mage_Sales_Model_Quote_Address $address) { $quote = $address->getQuote(); $cashin = Mage::getSingleton('webpos/session')->getWebposCash(); if ($cashin && $cashin <= 0) { return $this; } $baseCashin = $cashin / $quote->getStore()->convertPrice(1); $quote->setWebposCash($cashin); $quote->setWebposBaseCash($baseCashin); if (!$quote->isVirtual() && $address->getAddressType() == 'billing') { return $this; } $address->setWebposCash($quote->getWebposCash())->setWebposBaseCash($quote->getWebposBaseCash()); /* $address->setTotalPaid($quote->getWebposCash()) ->setBaseTotalPaid($quote->getWebposBaseCash()); */ if ($quote->getWebposCash() >= $address->getGrandTotal()) { /* $address->setTotalRefunded($quote->getWebposCash() - $address->getGrandTotal()) ->setBaseTotalRefunded($quote->getWebposBaseCash() - $address->getBaseGrandTotal()); if ($payment = $quote->getPayment()) { if ($method = $payment->getMethodInstance()) { $address->setTotalPaid($address->getTotalRefunded()) ->setBaseTotalPaid($address->getBaseTotalRefunded()); } } */ } else { //$address->setGrandTotal($address->getGrandTotal() - $quote->getWebposCash() ); //$address->setBaseGrandTotal($address->getBaseGrandTotal() - $quote->getWebposBaseCash()); } return $this; }
/** * Invoke collector for nominal items * * @param Mage_Sales_Model_Quote_Address $address * @param Mage_Sales_Model_Quote_Address_Total_Nominal */ public function collect(Mage_Sales_Model_Quote_Address $address) { $collector = Mage::getSingleton('Mage_Sales_Model_Quote_Address_Total_Nominal_Collector', array('store' => $address->getQuote()->getStore())); // invoke nominal totals foreach ($collector->getCollectors() as $model) { $model->collect($address); } // aggregate collected amounts into one to have sort of grand total per item foreach ($address->getAllNominalItems() as $item) { $rowTotal = 0; $baseRowTotal = 0; $totalDetails = array(); foreach ($collector->getCollectors() as $model) { $itemRowTotal = $model->getItemRowTotal($item); if ($model->getIsItemRowTotalCompoundable($item)) { $rowTotal += $itemRowTotal; $baseRowTotal += $model->getItemBaseRowTotal($item); $isCompounded = true; } else { $isCompounded = false; } if ((double) $itemRowTotal > 0 && ($label = $model->getLabel())) { $totalDetails[] = new Varien_Object(array('label' => $label, 'amount' => $itemRowTotal, 'is_compounded' => $isCompounded)); } } $item->setNominalRowTotal($rowTotal); $item->setBaseNominalRowTotal($baseRowTotal); $item->setNominalTotalDetails($totalDetails); } return $this; }
/** * Check if address actionable to calculate tax * * @param Mage_Sales_Model_Quote_Address $address * @return bool */ protected function _isAddressActionable($address) { /** @var OnePica_AvaTax_Helper_Data $helper */ $helper = Mage::helper('avatax'); $storeId = $address->getQuote()->getStoreId(); return $helper->isAddressActionable($address, $storeId, OnePica_AvaTax_Model_Config::REGIONFILTER_TAX); }
/** * Collect the order total * * @param object $address The address instance to collect from * * @return Sisow_Model_Quote_TaxTotal */ public function collect(Mage_Sales_Model_Quote_Address $address) { $quote = $address->getQuote(); if ($quote->getId() == null || $address->getAddressType() != "shipping") { return $this; } $payment = $quote->getPayment(); if (substr($payment->getMethod(), 0, 6) != 'sisow_' && (!count($quote->getPaymentsCollection()) || !$payment->hasMethodInstance())) { return $this; } $methodInstance = $payment->getMethodInstance(); if (substr($methodInstance->getCode(), 0, 6) != 'sisow_') { return $this; } $helper = Mage::helper('sisow/paymentfee'); $fee = $helper->getPaymentFeeArray($methodInstance->getCode(), $quote); if (!is_array($fee)) { return $this; } $address->setTaxAmount($address->getTaxAmount() + $fee['taxamount']); $address->setBaseTaxAmount($address->getBaseTaxAmount() + $fee['base_taxamount']); $address->setInvoiceTaxAmount($fee['taxamount']); $address->setBaseInvoiceTaxAmount($fee['base_taxamount']); return $this; }
/** * @param Mage_Sales_Model_Quote_Address $address * @return Mage_Sales_Model_Quote_Address_Total_Abstract */ public function collect(Mage_Sales_Model_Quote_Address $address) { $quote = $address->getQuote(); $payment = $quote->getPayment(); if ($address->getAddressType() === 'billing') { return $this; } $configId = $payment->getPayoneConfigPaymentMethodId(); if (empty($configId)) { return $this; } $config = $this->helperConfig()->getConfigPaymentMethodById($configId, $quote->getStoreId()); if (empty($config)) { return $this; } $feeConfig = $config->getFeeConfigForQuote($quote); if (!is_array($feeConfig) or !array_key_exists('fee_config', $feeConfig)) { return $this; } $paymentFee = $feeConfig['fee_config']; $oldShippingAmount = $address->getBaseShippingAmount(); $newShippingAmount = $oldShippingAmount + $paymentFee; $address->setBaseShippingAmount($newShippingAmount); $address->setShippingAmount($quote->getStore()->convertPrice($newShippingAmount, false)); return parent::collect($address); }
/** * Collect the order total * * @param object $address The address instance to collect from * * @return Sisow_Model_Quote_Total */ public function collect(Mage_Sales_Model_Quote_Address $address) { if ($address->getAddressType() != "shipping") { return $this; } $this->address = $address; $this->quote = $address->getQuote(); $this->payment = $this->quote->getPayment(); if (substr($this->payment->getMethod(), 0, 6) != 'sisow_') { return $this; } $this->_resetValues(); if ($this->address->getQuote()->getId() == null) { return $this; } $items = $this->address->getAllItems(); if (!count($items)) { return $this; } if ($this->payment->hasMethodInstance()) { $this->paymentMethod = $this->payment->getMethodInstance(); if (substr($this->paymentMethod->getCode(), 0, 6) == 'sisow_') { $this->_initInvoiceFee(); } } }
/** * Process the gift rules * * @param Mage_Sales_Model_Quote_Address $address */ protected function _processGiftRules($address) { $quote = $address->getQuote(); $store = Mage::app()->getStore($quote->getStoreId()); $validator = Mage::getSingleton('gift/rule_validator')->init($store->getWebsiteId(), $quote->getCustomerGroupId()); $validator->process($address); }
/** * Add fee information to address * * @param Mage_Sales_Model_Quote_Address $address * @return Brander_PaymentFee_Model_Sales_Quote_Address_Total_Fee */ public function fetch(Mage_Sales_Model_Quote_Address $address) { $amount = $address->getFeeAmount(); $title = Mage::getModel('payment_fee/fee')->getTotalTitle(null, $address->getQuote()); $address->addTotal(array('code' => $this->getCode(), 'title' => $title, 'value' => $amount)); return $this; }
public function collect(Mage_Sales_Model_Quote_Address $address) { if ($address->getQuote()->isVirtual()) { if ($address->getData('address_type') == 'shipping') { return $this; } } else { if ($address->getData('address_type') == 'billing') { return $this; } } $this->_setAddress($address); parent::collect($address); $quote = $address->getQuote(); $amount = $quote->getMundipaggInterest(); if ($amount > 0) { $this->_setBaseAmount(0.0); $this->_setAmount(0.0); $quote->getPayment()->setPaymentInterest($amount); $address->setMundipaggInterest($amount); $this->_setBaseAmount($amount); $this->_setAmount($amount); } else { $this->_setBaseAmount(0.0); $this->_setAmount(0.0); $quote->getPayment()->setPaymentInterest(0.0); $address->setMundipaggInterest(0.0); } return $this; }
/** * @param Mage_Sales_Model_Quote_Address $address * @param Mage_SalesRule_Model_Rule $rule * @param Mage_Sales_Model_Quote_Item_Abstract[] $allItems * @param Mage_Sales_Model_Quote_Item_Abstract[] $validItems * * @return bool */ public function handle(Mage_Sales_Model_Quote_Address $address, Mage_SalesRule_Model_Rule $rule, array $allItems, array $validItems) { if ($rule->getSimpleAction() !== Mage_SalesRule_Model_Rule::BUY_X_GET_Y_ACTION) { return false; } $helper = $this->getHelper(); // Get the X and Y values $x = max(floatval($rule->getDiscountStep()), 0.0); $y = max(floatval($rule->getDiscountAmount()), 0.0); if ($x <= 0.0 || $y <= 0.0) { return false; } // Get the discount step size $step = $x + $y; $applied = false; foreach ($validItems as $item) { // Get max quantity $qty = $helper->getItemRuleQty($item, $rule); // Apply discount step size limitation $qty = max($qty - ceil($qty / $step) * $x, 0.0); if ($qty <= 0.0) { continue; } $applied = true; // Get unit prices $itemPrice = $helper->getItemPrice($item); $itemBasePrice = $helper->getItemBasePrice($item); $itemOriginalPrice = $helper->getItemOriginalPrice($item); $itemBaseOriginalPrice = $helper->getItemBaseOriginalPrice($item); // Calculate discount amounts $discountAmount = $itemPrice * $qty; $originalDiscountAmount = $itemOriginalPrice * $qty; $baseDiscountAmount = $itemBasePrice * $qty; $baseOriginalDiscountAmount = $itemBaseOriginalPrice * $qty; // Round the discount amounts $discountAmount = $helper->round($discountAmount, $address->getQuote()->getQuoteCurrencyCode()); $baseDiscountAmount = $helper->round($baseDiscountAmount, $address->getQuote()->getBaseCurrencyCode()); $originalDiscountAmount = $helper->round($originalDiscountAmount, $address->getQuote()->getQuoteCurrencyCode()); $baseOriginalDiscountAmount = $helper->round($baseOriginalDiscountAmount, $address->getQuote()->getBaseCurrencyCode()); // Update the item discounts $item->setDiscountAmount($item->getDiscountAmount() + $discountAmount); $item->setBaseDiscountAmount($item->getBaseDiscountAmount() + $baseDiscountAmount); $item->setOriginalDiscountAmount($item->getOriginalDiscountAmount() + $originalDiscountAmount); $item->setBaseOriginalDiscountAmount($item->getBaseOriginalDiscountAmount() + $baseOriginalDiscountAmount); } return $applied; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { if ($address->getAddressType() == 'shipping' && $address->getQuote()->getIsActive()) { $paymentMethod = $address->getQuote()->getPayment()->getMethod(); if (isset($paymentMethod) && $this->getHelper()->isBillpayRatPayment($paymentMethod)) { $quote = $address->getQuote(); $baseAmount = $this->getCalculation()->getCalculationBaseAmount($quote); $baseAmount = $this->getHelper()->currencyToSmallerUnit($baseAmount); if ($this->getSession()->validateRateOptions($baseAmount)) { $address->addTotal(array('area' => 'footer', 'code' => $this->getCode(), 'title' => Mage::helper('billpay')->__('billpay_rate_calculation_partial_price'), 'value' => $this->getSession()->getTotalPaymentAmount())); } else { $this->getSession()->clearCurrentRateOptions(); } } } return $this; }
/** * Collect gift wrapping tax totals * * @param \Mage_Sales_Model_Quote_Address $address * @return $this */ public function collect(Mage_Sales_Model_Quote_Address $address) { $storeId = $address->getQuote()->getStore()->getId(); if ($this->_getAvaTaxDataHelper()->isAvataxEnabled($storeId)) { return $this; } return parent::collect($address); }
public function fetch(Mage_Sales_Model_Quote_Address $address) { $paymentMethod = Mage::app()->getFrontController()->getRequest()->getParam('payment'); $paymentMethod = Mage::app()->getStore()->isAdmin() && isset($paymentMethod['method']) ? $paymentMethod['method'] : null; if ($paymentMethod !== 'payexinvoice' && (!count($address->getQuote()->getPaymentsCollection()) || !$address->getQuote()->getPayment()->hasMethodInstance())) { return $this; } $paymentMethod = $address->getQuote()->getPayment()->getMethodInstance(); if ($paymentMethod->getCode() !== 'payexinvoice') { return $this; } $fee = $address->getPayexinvoicePaymentFee(); if ($fee > 0) { $address->addTotal(array('code' => $this->getCode(), 'title' => Mage::helper('payexinvoice')->__('Payment fee'), 'value' => $fee)); } return $this; }
public function collect(Mage_Sales_Model_Quote_Address $address) { $address->setPaymentCharge(0); $address->setBasePaymentCharge(0); $items = $address->getAllItems(); if (!count($items)) { return $this; } $paymentMethod = $address->getQuote()->getPayment()->getMethod(); if ($paymentMethod) { $amount = Mage::helper('paymentcharge')->getPaymentCharge($paymentMethod, $address->getQuote()); $address->setPaymentCharge($amount['amount']); $address->setBasePaymentCharge($amount['base_amount']); } $address->setGrandTotal($address->getGrandTotal() + $address->getPaymentCharge()); $address->setBaseGrandTotal($address->getBaseGrandTotal() + $address->getBasePaymentCharge()); return $this; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { if ($address->getAddressType() == 'shipping' && $address->getQuote()->getIsActive()) { $paymentMethod = $address->getQuote()->getPayment()->getMethod(); if (isset($paymentMethod) && $this->getHelper()->isBillpayRatPayment($paymentMethod)) { $quote = $address->getQuote(); $baseAmount = $this->getCalculation()->getCalculationBaseAmount($quote); $baseAmount = $this->getHelper()->currencyToSmallerUnit($baseAmount); if ($this->getSession()->validateRateOptions($baseAmount)) { $interestFormula = $this->getCalculation()->getRateSurchargeFormula($this->format($this->getCalculation()->getCalculationBaseAmount($quote)), $this->getSession()->getInterestRate(), $this->getSession()->getBillpayRates()); $address->addTotal(array('area' => 'footer', 'code' => $this->getCode(), 'title' => Mage::helper('billpay')->__('billpay_rate_calculation_interest_add') . ' ' . Mage::helper('billpay')->__('billpay_rate_for_text') . ' ' . $this->getSession()->getBillpayRates() . ' ' . Mage::helper('billpay')->__('billpay_rate_rate_text') . '<br />' . $interestFormula, 'value' => $this->getSession()->getSurchargeAmount())); } else { $this->getSession()->clearCurrentRateOptions(); } } } return $this; }
/** * Convert quote address model to order * * @param Mage_Sales_Model_Quote $quote * @return Mage_Sales_Model_Order */ public function addressToOrder(Mage_Sales_Model_Quote_Address $address, $order = null) { if (!$order instanceof Mage_Sales_Model_Order) { $order = $this->toOrder($address->getQuote()); } Mage::helper('Mage_Core_Helper_Data')->copyFieldset('sales_convert_quote_address', 'to_order', $address, $order); Mage::dispatchEvent('sales_convert_quote_address_to_order', array('address' => $address, 'order' => $order)); return $order; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { $amount = $address->getCapayableFee(); $paymentTitle = Mage::helper('capayable')->getMethodTitle($address->getQuote()->getPayment()->getMethod()); if ($amount != 0) { $address->addTotal(array('code' => $this->getCode(), 'title' => Mage::helper('capayable')->__($paymentTitle), 'value' => $amount)); } return $this; }
/** * Convert quote address model to order * * @param Mage_Sales_Model_Quote $quote * @return Mage_Sales_Model_Order */ public function addressToOrder(Mage_Sales_Model_Quote_Address $address, $order = null) { if (!$order instanceof Mage_Sales_Model_Order) { $order = $this->toOrder($address->getQuote()); } $order->setWeight($address->getWeight())->setShippingMethod($address->getShippingMethod())->setShippingDescription($address->getShippingDescription())->setShippingRate($address->getShippingRate())->setSubtotal($address->getSubtotal())->setTaxAmount($address->getTaxAmount())->setDiscountAmount($address->getDiscountAmount())->setShippingAmount($address->getShippingAmount())->setGiftcertAmount($address->getGiftcertAmount())->setCustbalanceAmount($address->getCustbalanceAmount())->setGrandTotal($address->getGrandTotal())->setBaseSubtotal($address->getBaseSubtotal())->setBaseTaxAmount($address->getBaseTaxAmount())->setBaseDiscountAmount($address->getBaseDiscountAmount())->setBaseShippingAmount($address->getBaseShippingAmount())->setBaseGiftcertAmount($address->getBaseGiftcertAmount())->setBaseCustbalanceAmount($address->getBaseCustbalanceAmount())->setBaseGrandTotal($address->getBaseGrandTotal()); Mage::dispatchEvent('sales_convert_quote_address_to_order', array('address' => $address, 'order' => $order)); return $order; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { if ($address->getAddressType() == 'shipping' && $address->getQuote()->getIsActive()) { $paymentMethod = $address->getQuote()->getPayment()->getMethod(); if (isset($paymentMethod) && $this->getHelper()->isBillpayRatPayment($paymentMethod)) { $quote = $address->getQuote(); if ($this->getSession()->getTransationFee() > 0) { $title = $this->getHelper()->__('billpay_rate_transaction_fee'); $feeTaxAmount = $this->getSession()->getTransationFee() - $this->getSession()->getTransationFeeNet(); if ($feeTaxAmount > 0) { $title .= '<br >(' . $this->getHelper()->__('billpay_rate_included_tax') . ': ' . $this->format($feeTaxAmount) . ')'; } $address->addTotal(array('area' => 'footer', 'code' => $this->getCode(), 'title' => $title, 'value' => $this->getSession()->getTransationFee())); } } } return $this; }
/** * Collect totals process. * * @param Mage_Sales_Model_Quote_Address $address * * @return $this */ public function collect(Mage_Sales_Model_Quote_Address $address) { $store = $address->getQuote()->getStore(); if (!$this->getHelper()->isActive($store)) { return parent::collect($address); } // We do all the subtotal tax processing in the tax total collector return $this; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { $quote = $address->getQuote(); if ($quote->getPayment()->getMethod() == "cashondelivery") { $amt = $address->getFeeAmount(); $address->addTotal(array('code' => $this->getCode(), 'title' => "Cash On Delivery Charges", 'value' => $amt)); } return $this; }
public function fetch(Mage_Sales_Model_Quote_Address $address) { $amount = $address->getCodFee(); if ($amount != 0) { $quote = $address->getQuote(); $address->addTotal(array('code' => $this->getCode(), 'title' => Mage::helper('phoenix_cashondelivery')->__('Cash on Delivery fee'), 'value' => $amount)); } return $this; }