diff --git a/vendor/magento/module-multicoupon/Model/ResourceModel/Quote/AddCoupons.php b/vendor/magento/module-multicoupon/Model/ResourceModel/Quote/AddCoupons.php index ff43e0621c4d..e0377bff7250 100644 --- a/vendor/magento/module-multicoupon/Model/ResourceModel/Quote/AddCoupons.php +++ b/vendor/magento/module-multicoupon/Model/ResourceModel/Quote/AddCoupons.php @@ -49,10 +49,13 @@ public function execute(string $cartId, array $couponCodes): void ]; } $connection = $this->resourceConnection->getConnection(); + $tableName = $this->resourceConnection->getTableName(self::MAIN_TABLE); - $connection->insertMultiple( - $this->resourceConnection->getTableName(self::MAIN_TABLE), - $rows + // Use insertOnDuplicate to avoid Duplicate Entry Errors in concurrent requests + $connection->insertOnDuplicate( + $tableName, + $rows, + [self::QUOTE_ID, self::COUPON_CODE] ); } }