@extends('layouts.app') @section('title', 'Make a payment') @section('content') @php $currentYear = (int) date('Y'); $expYears = range($currentYear, $currentYear + 15); @endphp

Make a payment

Enter your Record ID and/or invoice / order number to load your order. Your payment amount cannot exceed the outstanding balance shown.

@if($anetEnabled && ! $anetReady)
Card payments are in test mode until Authorize.Net sandbox keys are added in .env. You can still submit — the payment will be saved to the local database for tracking. Sandbox test card: 4111111111111111, any future expiry, any CVV.
@endif @if(session('status'))
{{ session('status') }}
@endif @if($errors->any())
    @foreach($errors->all() as $e)
  • {{ $e }}
  • @endforeach
@endif @if($error)
{{ $error }}
@endif

Find your order

Enter Record ID and/or invoice / order number. Your order will load automatically.

@if(! $order || $queryInvoiceNumber !== '') @endif

You can use Record ID alone, invoice number alone, or both together.

@if($order)
@csrf @php $hidRecord = (string) old('record_id', $queryRecordId); $hidOrder = (string) old('order_id', $queryOrderId); $hidInvoice = (string) old('invoice_number', $queryInvoiceNumber); if ($hidRecord === '' && ! empty($order['recordID'])) { $hidRecord = (string) $order['recordID']; } if ($hidOrder === '' && ! empty($order['orderID'])) { $hidOrder = (string) $order['orderID']; } if ($hidInvoice === '') { $inv = $order['InvoiceNumber'] ?? $order['invoiceNumber'] ?? null; if ($inv !== null) { $hidInvoice = trim((string) $inv); } } if (trim($hidInvoice) === '0') { $hidInvoice = ''; } $displayRecordId = $hidRecord; $displayInvoiceNumber = $hidInvoice; $hidOrderLineItemId = (string) old('order_line_item_id', ''); if ($hidOrderLineItemId === '') { $items = $order['lineItems'] ?? $order['lineitems'] ?? null; if (is_array($items) && $items !== []) { $first = $items[0]; if (is_array($first)) { $oli = $first['orderLineItemID'] ?? $first['orderLineItemId'] ?? null; if ($oli !== null && $oli !== '') { $hidOrderLineItemId = (string) $oli; } } } } @endphp

Order details

@if($displayInvoiceNumber !== '')
@endif
Purchaser's name

Pre-filled from your order when available.

Street address

@if($order && $propertyAddress === '')

No address returned for this order.

@endif @php $maxPaymentUsd = isset($order['balanceAmount']) ? round((float) $order['balanceAmount'], 2) : null; @endphp
USD

You may pay any amount up to the outstanding balance. Partial payments are allowed.

@if($maxPaymentUsd !== null) @endif
@if($order)

Credit card

@if($anetReady)

Your card information is encrypted and processed securely through Authorize.Net.

@else

Enter card details below. With sandbox credentials configured, charges run through Authorize.Net. Otherwise submit saves a pending record in the database.

@endif
Name on card
Card details
Expiration date
@endif

Billing address

Notes

@if($anetReady)

Secure payment · Your card details are never stored on our servers

@else

Payment will be recorded in the database (status: pending until Authorize.Net is configured)

@endif
@endif
@if($order && $anetReady) @endif @endsection