diff --git a/src/pretix/presale/checkoutflow.py b/src/pretix/presale/checkoutflow.py index 8872574c3..f4ae38b80 100644 --- a/src/pretix/presale/checkoutflow.py +++ b/src/pretix/presale/checkoutflow.py @@ -1193,7 +1193,7 @@ class PaymentStep(CartMixin, TemplateFlowStep): @cached_property def provider_forms(self): providers = [] - for provider in sorted(self.request.event.get_payment_providers().values(), key=lambda p: str(p.public_name)): + for provider in sorted(self.request.event.get_payment_providers().values(), key=lambda p: (-p.priority, str(p.public_name))): if not provider.is_enabled or not self._is_allowed(provider, self.request): continue fee = provider.calculate_fee(self._total_order_value) diff --git a/src/pretix/presale/views/order.py b/src/pretix/presale/views/order.py index cf3df6112..fadc38ea2 100644 --- a/src/pretix/presale/views/order.py +++ b/src/pretix/presale/views/order.py @@ -672,7 +672,7 @@ class OrderPayChangeMethod(EventViewMixin, OrderDetailMixin, TemplateView): def provider_forms(self): providers = [] pending_sum = self.order.pending_sum - for provider in self.request.event.get_payment_providers().values(): + for provider in sorted(self.request.event.get_payment_providers().values(), key=lambda p: (-p.priority, str(p.public_name))): if not provider.is_enabled: continue