diff --git a/vendor/magento/module-advanced-checkout/Model/Cart.php b/vendor/magento/module-advanced-checkout/Model/Cart.php index 9c0c031d9e4..2a0ae12a6a3 100644 --- a/vendor/magento/module-advanced-checkout/Model/Cart.php +++ b/vendor/magento/module-advanced-checkout/Model/Cart.php @@ -1242,7 +1242,7 @@ class Cart extends \Magento\Framework\DataObject implements \Magento\Checkout\Mo $checkedItems = $this->areProductsSalable($checkedItems); $products = $this->preloadProducts($checkedItems); foreach ($checkedItems as $sku => &$item) { - $itemProduct = $products[$sku] ?? null; + $itemProduct = $products[mb_strtolower($sku)] ?? null; $item = $this->checkItem( $sku, $item['qty'], @@ -1934,13 +1934,15 @@ class Cart extends \Magento\Framework\DataObject implements \Magento\Checkout\Mo $collection->addAttributeToSelect('*'); $collection->addFieldToFilter('sku', ['in' => $skuForFind]); $collection->setFlag('has_stock_status_filter', false); + $itemsLowerCase = array_combine(array_map('mb_strtolower', array_keys($items)), $items); foreach ($collection as $product) { + $sku = $product->getSku(); $isSalable = true; - if ($items[$product->getSku()]['code'] === Data::ADD_ITEM_STATUS_FAILED_OUT_OF_STOCK) { + if ($itemsLowerCase[mb_strtolower($sku)]['code'] === Data::ADD_ITEM_STATUS_FAILED_OUT_OF_STOCK) { $isSalable = false; } $product->setIsSalable($isSalable); - $products[$product->getSku()] = $product; + $products[mb_strtolower($sku)] = $product; $this->addProductToLocalCache($product, $product->getStoreId()); } }