payment_provider) ?? PaymentProvider::Payone; } /** * Sichtbarkeit der Vorkasse im Checkout (N3, 2026-07-08): Vorkasse läuft * über PAYONE und ist über eine eigene Einstellung ausblendbar — * unabhängig vom Provider-Schalter. Fehlende Einstellung = sichtbar. */ public function isVorkasseVisible(): bool { return Setting::getContentBySlug(self::SETTING_VORKASSE_HIDDEN) !== true; } /** * Not-Schalter (2026-07-08, PAYONE-Ausfall): friert ALLE Abo-Zahlungen ein — * Abo-Checkout, Recovery, Retry und den Abbuchungs-Cron. Einmalzahlungen * (Stripe) laufen weiter. Wird nach Phase S4 (Abos über Stripe) aufgehoben. */ public function aboPaymentsFrozen(): bool { return Setting::getContentBySlug(self::SETTING_ABO_PAYMENTS_FROZEN) === true; } /** * Checkout-Wartungsmodus: Nicht-Admins sehen im Checkout nur eine * "Technische Schwierigkeiten"-Meldung; Admins können normal bestellen. * Zweck: Stripe im Live-Modus verproben, bevor der Checkout für alle * wieder öffnet (Go-Live 2026-07-08). */ public function checkoutMaintenanceActive(): bool { return Setting::getContentBySlug(self::SETTING_CHECKOUT_MAINTENANCE) === true; } public function gateway(PaymentProvider $provider): PaymentGatewayInterface { return match ($provider) { PaymentProvider::Payone => app(PayoneGateway::class), PaymentProvider::Stripe => app(StripeGateway::class), }; } }