@php $content = $qrCode->content(); $businessName = $content['business_name'] ?? $qrCode->label; $currency = $content['currency'] ?? 'GHS'; // Public scans stay on ladl.link/{code} (HTML proxied to Mini). Prefer a // same-origin pay path so fetch() does not cross to mini.ladill.com. // Direct visits on mini.ladill.com keep the local /q/{code}/pay route. $isProxiedPublicScan = request()->headers->get('X-Ladill-Internal') === '1'; $payUrl = $isProxiedPublicScan ? '/'.$qrCode->short_code.'/pay' : url('/q/'.$qrCode->short_code.'/pay'); $csrf = csrf_token(); @endphp {{-- Permissions-Policy for Paystack is set as an HTTP header (middleware + nginx). Meta http-equiv is not reliably applied by browsers for this feature. --}} Pay {{ $businessName }} @vite(['resources/css/app.css', 'resources/js/app.js']) {{-- Mobile: Ladill Mini branding + fixed payment sheet --}}
Ladill Mini

{{ $businessName }}

@if(!empty($content['branch_label']))

{{ $content['branch_label'] }}

@endif
{{-- Always-visible (no x-cloak) server/client error so failures are never silent --}}
{{ session('error') }}
@csrf
{{ $currency }}

Your payment is processed securely

{{-- Desktop: centered card --}}
@if(!empty($content['logo_path'])) @endif

{{ $businessName }}

@if(!empty($content['branch_label']))

{{ $content['branch_label'] }}

@endif
{{ session('error') }}
@csrf
{{ $currency }}

Your payment is processed securely

@include('partials.paystack-sheet')