コード例 #1
0
 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;
 }
コード例 #2
0
ファイル: Tax.php プロジェクト: VinuWebtech/production267
 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;
 }
コード例 #3
0
ファイル: Luckydraw.php プロジェクト: xiaoguizhidao/magento
 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;
 }
コード例 #4
0
 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;
 }
コード例 #5
0
ファイル: Calculator.php プロジェクト: onepica/avatax
 /**
  * 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;
 }
コード例 #6
0
 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;
 }
コード例 #7
0
 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;
 }
コード例 #8
0
 /**
  * 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;
 }
コード例 #9
0
ファイル: Cash.php プロジェクト: javik223/Evron-Magento
 /**
  * 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;
 }
コード例 #10
0
ファイル: Nominal.php プロジェクト: relue/magento2
 /**
  * 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;
 }
コード例 #11
0
ファイル: Grand.php プロジェクト: shabirm/avatax
 /**
  * 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);
 }
コード例 #12
0
ファイル: TaxTotal.php プロジェクト: wouter90/sisowpayment
 /**
  * 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;
 }
コード例 #13
0
 /**
  * @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);
 }
コード例 #14
0
ファイル: Total.php プロジェクト: wouter90/sisowpayment
 /**
  * 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();
         }
     }
 }
コード例 #15
0
ファイル: Observer.php プロジェクト: rbrown/magento-gifts
 /**
  * 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);
 }
コード例 #16
0
ファイル: Fee.php プロジェクト: kirchbergerknorr/payment-fee
 /**
  * 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;
 }
コード例 #17
0
ファイル: Interest.php プロジェクト: rorteg/rafaelmage
 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;
 }
コード例 #18
0
ファイル: BuyxGety.php プロジェクト: aoepeople/aoe_salesrule
 /**
  * @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;
 }
コード例 #19
0
ファイル: Total.php プロジェクト: xiaoguizhidao/bilderrahmen
 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;
 }
コード例 #20
0
ファイル: Giftwrapping.php プロジェクト: shabirm/avatax
 /**
  * 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);
 }
コード例 #21
0
ファイル: Total.php プロジェクト: anziv/Magento-modules
 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;
 }
コード例 #22
0
 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;
 }
コード例 #23
0
 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;
 }
コード例 #24
0
ファイル: Quote.php プロジェクト: nemphys/magento2
 /**
  * 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;
 }
コード例 #25
0
 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;
 }
コード例 #26
0
ファイル: Quote.php プロジェクト: arslbbt/mangentovies
 /**
  * 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;
 }
コード例 #27
0
 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;
 }
コード例 #28
0
ファイル: Subtotal.php プロジェクト: aoepeople/aoe_avatax
 /**
  * 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;
 }
コード例 #29
0
ファイル: Codpayment.php プロジェクト: axovel/exqzt
 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;
 }
コード例 #30
0
 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;
 }