@php $user = auth()->user(); $ws = $user?->currentWorkspace; $amountRaw = (float) $amount; $taxPct = (int) ($taxRate ?? 0); $tax = round(($amountRaw * $taxPct) / 100, 2); $total = round($amountRaw + $tax, 2); $billed = $package->plan_unit && $package->plan_duration ? $package->plan_duration . ' ' . $package->plan_unit : 'one-time'; // Format strictly in the currency this checkout is denominated in // — once the customer hits this page the price is locked, even if // they later change their workspace currency. $currencyFn = fn($n) => \App\Support\FormatSettings::formatIn($n, $currency ?? null); @endphp {{-- breadcrumb stepper --}}
  1. 1Choose plan
  2. 2Checkout
  3. 3Confirmation

{{ __('Complete your') }} {{ __('order') }}

{{ __('7-day money-back guarantee. Cancel any time. Cards, UPI, netbanking, and wallets accepted.') }}

@if (session('error'))
{{ session('error') }}
@endif
@csrf {{-- LEFT: form --}}
{{-- Step 1 · Account --}}
{{ __('Step 1') }}

{{ __('Account') }}

{{-- Step 2 · Billing --}}
{{ __('Step 2') }}

{{ __('Billing address') }}

{{-- Currency — only when more than one is available. Changing it re-prices the order + re-filters the gateways live (AJAX), so the billing details already typed are never wiped by a reload. --}} @if (count($availableCurrencies ?? []) > 1)
{{ __('Currency') }}

{{ __('Pay in your currency') }}

{{ __('Prices convert instantly. Only currencies your available payment methods accept are shown.') }}

@endif {{-- Step 3 · Payment method --}}
{{ __('Step 3') }}

{{ __('Payment method') }}

@if ($gateways->isEmpty())
No payment gateway is configured for {{ $currency }} yet. Ask your admin to activate one at /admin/payment-gateways.
@else {{-- Gateway radio cards --}}
@foreach ($gateways as $i => $g) @endforeach
{{ __('Payments are processed over a 256-bit TLS connection. We never see your card details.') }}
@endif
@if ($allowCoupon ?? true) {{-- Coupon --}}
@endif
{{-- RIGHT: order summary --}}