{{-- Public POS payment page reached via the QR scan from a customer's phone. No auth — the {token} in the URL is the secret. Shows a gateway picker scoped to whichever gateways the platform admin has configured. --}} Pay {{ $store->name ?? '' }}
@php $isPaid = $session->status === \App\Enums\Pos\PosPaymentSessionStatusEnum::PAID; $isExpired = $session->status === \App\Enums\Pos\PosPaymentSessionStatusEnum::EXPIRED; $isCancel = $session->status === \App\Enums\Pos\PosPaymentSessionStatusEnum::CANCELLED; $isFailed = $session->status === \App\Enums\Pos\PosPaymentSessionStatusEnum::FAILED; $isPending = $session->status === \App\Enums\Pos\PosPaymentSessionStatusEnum::PENDING; $sessionCurrencyCode = strtoupper((string) ($session->currency_code ?: '')); $money = function ($amount) use ($sessionCurrencyCode) { return \App\Support\Currency\CurrencySnapshotPayload::formatAmount($amount, $sessionCurrencyCode) ?? trim($sessionCurrencyCode.' '.number_format((float) $amount, 2, '.', ',')); }; @endphp @if($isPaid)
✓

Payment received

Order has been confirmed at the counter.

@elseif($isExpired || $isCancel || $isFailed)

Payment {{ $session->status }}

@if($isExpired) This payment link has expired. Please ask the cashier for a new QR. @elseif($isCancel) The cashier cancelled this payment. Please ask for a new QR. @else {{ $session->failure_reason ?: 'This payment could not be completed.' }} Please ask the cashier to retry or use cash. @endif

@else {{-- ── Pending: show order summary + gateway picker ── --}}
{{ $store->name }}
Secure payment
You are paying
{{ $money($session->amount) }}
@if(!empty($lineItems))
@foreach($lineItems as $li)
{{ $li['title'] }} × {{ $li['qty'] }}
@if(!empty($li['variant']) || !empty($li['addons']))
@if(!empty($li['variant'])){{ $li['variant'] }}@endif{{-- --}} @if(!empty($li['variant']) && !empty($li['addons'])) · @endif{{-- --}} @if(!empty($li['addons'])){{ implode(', ', $li['addons']) }}@endif
@endif
@endforeach
@endif @if(($breakdown['tax'] ?? 0) > 0 || ($breakdown['savings'] ?? 0) > 0 || ($breakdown['discount'] ?? 0) > 0)
{{-- Subtotal shown EX-TAX so "Tax @ 18% = ₹X" reads as a true 18% of the subtotal line. Matches the receipt + cart sidebar + CFD. --}}
Subtotal
{{ $money($breakdown['subtotalExTax'] ?? max(0, ($breakdown['subtotal'] ?? 0) - ($breakdown['tax'] ?? 0))) }}
@if(!empty($breakdown['taxByRate'])) @foreach($breakdown['taxByRate'] as $rate => $amount)
Tax @ {{ $rate }}%
{{ $money($amount) }}
@endforeach @elseif(($breakdown['tax'] ?? 0) > 0)
Tax
{{ $money($breakdown['tax']) }}
@endif @if(($breakdown['savings'] ?? 0) > 0)
You saved
−{{ $money($breakdown['savings']) }}
@endif @if(($breakdown['discount'] ?? 0) > 0)
Discount
−{{ $money($breakdown['discount']) }}
@endif
@endif
@if(empty($gateways))
No online payment methods are configured. Please ask the cashier to use cash.
@else
Choose a payment method
@foreach($gateways as $gw) @endforeach
@endif
@endif
@if($isPending && !empty($gateways)) @endif