/** * Handle customer VAT number if needed on collect_totals_before event of quote address * * @param \Magento\Framework\Event\Observer $observer * @return void */ public function execute(\Magento\Framework\Event\Observer $observer) { /** @var \Magento\Quote\Api\Data\ShippingAssignmentInterface $shippingAssignment */ $shippingAssignment = $observer->getShippingAssignment(); /** @var \Magento\Quote\Model\Quote $quote */ $quote = $observer->getQuote(); /** @var \Magento\Quote\Model\Quote\Address $address */ $address = $shippingAssignment->getShipping()->getAddress(); $customer = $quote->getCustomer(); $storeId = $customer->getStoreId(); if ($customer->getDisableAutoGroupChange() || false == $this->vatValidator->isEnabled($address, $storeId)) { return; } $customerCountryCode = $address->getCountryId(); $customerVatNumber = $address->getVatId(); $groupId = null; if (empty($customerVatNumber) || false == $this->customerVat->isCountryInEU($customerCountryCode)) { $groupId = $customer->getId() ? $this->groupManagement->getDefaultGroup($storeId)->getId() : $this->groupManagement->getNotLoggedInGroup()->getId(); } else { // Magento always has to emulate group even if customer uses default billing/shipping address $groupId = $this->customerVat->getCustomerGroupIdBasedOnVatNumber($customerCountryCode, $this->vatValidator->validate($address, $storeId), $storeId); } if ($groupId) { $address->setPrevQuoteCustomerGroupId($quote->getCustomerGroupId()); $quote->setCustomerGroupId($groupId); $customer->setGroupId($groupId); $quote->setCustomer($customer); } }
public function execute(\Magento\Framework\Event\Observer $observer) { $quote = $observer->getQuote(); $this->_items = $quote->getAllItems(); // if (count($this->_items)>0){ $this->setCartProductTaxAmount($quote); // } }
public function execute(\Magento\Framework\Event\Observer $observer) { return; $payment = $observer->getQuote()->getPayment(); $cc_bin = substr($payment->getCcNumber(), 0, 6); if ($cc_bin) { $payment->setAdditionalInformation('riskified_cc_bin', $cc_bin); } }
/** * Set payment fee to order * * @param EventObserver $observer * @return $this */ public function execute(\Magento\Framework\Event\Observer $observer) { $quote = $observer->getQuote(); $CustomFeeFee = $quote->getFee(); $CustomFeeBaseFee = $quote->getBaseFee(); if (!$CustomFeeFee || !$CustomFeeBaseFee) { return $this; } //Set fee data to order $order = $observer->getOrder(); $order->setData('fee', $CustomFeeFee); $order->setData('base_fee', $CustomFeeBaseFee); return $this; }
/** * Add subtotals to order data * * @param EventObserver $observer * @return $this */ public function execute(EventObserver $observer) { $order = $observer->getOrder(); $quote = $observer->getQuote(); $discountCoupon = $quote->getShippingAddress()->getDiscountCouponAmount(); $baseDiscountCoupon = $quote->getShippingAddress()->getBaseDiscountCouponAmount(); $financeCost = $quote->getShippingAddress()->getFinanceCostAmount(); $baseFinanceCost = $quote->getShippingAddress()->getBaseFinanceCostAmount(); if (!empty($discountCoupon)) { $order->setDiscountCouponAmount($discountCoupon); $order->setBaseDiscountCouponAmount($baseDiscountCoupon); } if (!empty($financeCost)) { $order->setFinanceCostAmount($financeCost); $order->setBaseFinanceCostAmount($baseFinanceCost); } return $this; }