From 8f4360b3d0e501d54d66bcf6cd20d26174824319 Mon Sep 17 00:00:00 2001 From: Pradeep Mudaliar Date: Sun, 2 Feb 2020 15:23:45 +0530 Subject: [PATCH] 24938: Fix wrong shipping amount in totals for multiple address is used. --- .../Tax/Model/Sales/Total/Quote/Shipping.php | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/app/code/Magento/Tax/Model/Sales/Total/Quote/Shipping.php b/app/code/Magento/Tax/Model/Sales/Total/Quote/Shipping.php index ddfb6f9fd5073..5a3198394fc10 100644 --- a/app/code/Magento/Tax/Model/Sales/Total/Quote/Shipping.php +++ b/app/code/Magento/Tax/Model/Sales/Total/Quote/Shipping.php @@ -48,10 +48,16 @@ public function collect( ->calculateTax($baseQuoteDetails, $storeId); $baseTaxDetailsItems = $baseTaxDetails->getItems()[self::ITEM_CODE_SHIPPING]; - $quote->getShippingAddress() - ->setShippingAmount($taxDetailsItems->getRowTotal()); - $quote->getShippingAddress() - ->setBaseShippingAmount($baseTaxDetailsItems->getRowTotal()); + if ($quote->getIsMultiShipping()) { + $address = $shippingAssignment->getShipping()->getAddress(); + $address->setShippingAmount($taxDetailsItems->getRowTotal()); + $address->setBaseShippingAmount($taxDetailsItems->getRowTotal()); + } else { + $quote->getShippingAddress() + ->setShippingAmount($taxDetailsItems->getRowTotal()); + $quote->getShippingAddress() + ->setBaseShippingAmount($baseTaxDetailsItems->getRowTotal()); + } $this->processShippingTaxInfo( $shippingAssignment,