From 3563653d554c3c84279460de04d6572e669cff73 Mon Sep 17 00:00:00 2001 From: Raphael Michel Date: Tue, 10 Jan 2023 13:17:27 +0100 Subject: [PATCH] Payment step: Fix edge case when redeeming gift cards with service fees --- src/pretix/presale/checkoutflow.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 08328b00da..7598306a4e 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -1124,8 +1124,13 @@ class PaymentStep(CartMixin, TemplateFlowStep): def _total_order_value(self): cart = get_cart(self.request) total = get_cart_total(self.request) - total += sum([f.value for f in get_fees(self.request.event, self.request, total, self.invoice_address, None, - cart)]) + total += sum([ + f.value for f in get_fees( + self.request.event, self.request, total, self.invoice_address, + [p for p in self.cart_session.get('payments', []) if p.get('multi_use_supported')], + cart, + ) + ]) return Decimal(total) @cached_property @@ -1211,6 +1216,7 @@ class PaymentStep(CartMixin, TemplateFlowStep): f'and returned True from payment_prepare, but did not call ' f'add_payment_to_cart') + cart = self.get_cart() valid, remainder = self.current_payments_valid(cart['total']) if valid: return redirect(self.get_next_url(request))