From e88b95f2295e0ea4e3235eceddd66d6f6b675baf Mon Sep 17 00:00:00 2001 From: James Banton Date: Mon, 13 Oct 2025 10:49:48 +0100 Subject: [PATCH] Adjust discount calculation in `CalculateProductCouponsDiscounts` to account for item-to-basket subtotal ratio. --- .../RecalculateBasket/CalculateProductCouponsDiscounts.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Commerce/Pipeline/RecalculateBasket/CalculateProductCouponsDiscounts.php b/src/Commerce/Pipeline/RecalculateBasket/CalculateProductCouponsDiscounts.php index d668703..08e8ebf 100644 --- a/src/Commerce/Pipeline/RecalculateBasket/CalculateProductCouponsDiscounts.php +++ b/src/Commerce/Pipeline/RecalculateBasket/CalculateProductCouponsDiscounts.php @@ -54,7 +54,7 @@ protected function processCoupon(ProductCoupon $coupon, Basket $basket): void id: Uuid::uuid4()->toString(), discountItemId: $discountItem->id, name: $coupon->name(), - amount: $discountTotal, + amount: $discountTotal * ($item->subTotal / $basket->subTotal), ); $item->discountTotal += array_sum(array_column($item->discounts, 'amount'));