@extends($user_shop ? 'web.user.layouts.layout' : 'web.layouts.layout') @section('content') @php $isCancel = ($error_type ?? 'error') === 'cancel'; $errorcode = $errorcode ?? null; $errorDescription = $error_description ?? null; // Fehlercode → konkreten Hinweistext ermitteln $errorReason = null; if (!$isCancel && $errorcode) { $code = (int) $errorcode; if (in_array($code, [33])) { $errorReason = __('payment.payment_error_reasons.card_expired'); } elseif (in_array($code, [4, 34])) { $errorReason = __('payment.payment_error_reasons.card_blocked'); } elseif (in_array($code, [12, 14, 105])) { $errorReason = __('payment.payment_error_reasons.card_invalid'); } elseif (in_array($code, [5, 902, 4219])) { $errorReason = __('payment.payment_error_reasons.card_declined'); } elseif (in_array($code, [130])) { $errorReason = __('payment.payment_error_reasons.insufficient_funds'); } elseif (in_array($code, [120])) { $errorReason = __('payment.payment_error_reasons.cvv_invalid'); } elseif (in_array($code, [900])) { $errorReason = __('payment.payment_error_reasons.3ds_failed'); } elseif (in_array($code, [970, 135])) { $errorReason = __('payment.payment_error_reasons.timeout'); } elseif (in_array($code, [4218])) { $errorReason = __('payment.payment_error_reasons.fraud'); } else { $errorReason = __('payment.payment_error_reasons.general'); } } elseif (!$isCancel) { $errorReason = __('payment.payment_error_reasons.general'); } @endphp
@if ($isCancel) {{-- ── ABGEBROCHEN ──────────────────────────────── --}}

{{ $error_title }}

{{ $error_message }}

{{ __('payment.nothing_was_charged') }}

{{ __('payment.payment_canceled_hint') }}
@if (isset($checkout_url)) {{ __('payment.try_again') }} @endif @if ($user_shop) {{ __('payment.back_to_shop') }} @endif
@else {{-- ── FEHLER ───────────────────────────────────── --}}

{{ $error_title }}

{{ $error_message }}

{{ __('payment.nothing_was_charged') }}

{{-- Konkreter Hinweis basierend auf Fehlercode --}}
{{ __('payment.payment_error_what_to_do') }}
{{ $errorReason }}
{{-- Fehlerbeschreibung + Code (für Transparenz) --}} @if ($errorcode || $errorDescription)
{{ __('payment.payment_error_code') }}
@if ($errorcode) {{ $errorcode }} @endif @if ($errorDescription) {{ $errorDescription }} @endif
@endif {{-- Aktionsbuttons --}} @if (isset($checkout_url)) {{ __('payment.payment_error_retry') }} @endif @if ($user_shop) {{ __('payment.back_to_shop') }} @endif

{{ __('payment.contact_support_if_needed') }}

@endif
@endsection