{{ t('transaction_details') }}

{{ t('transaction_details') }}

{{ t('back_to_transactions') }}
@if (session('success'))
{{ session('success') }}
@endif @if (session('error'))
{{ session('error') }}
@endif

{{ t('transaction_details') }}

{{ t('transaction_id') }}
{{ $transaction->id }}
@php $invoice = $transaction->invoice; $subtotal = $invoice->subTotal(); $taxDetails = $invoice->getTaxDetails(); $fee = $invoice->fee ?: 0; $taxAmount = collect($taxDetails)->sum(function ($tax) use ($subtotal) { return $tax['amount'] > 0 ? $tax['amount'] : $subtotal * ($tax['rate'] / 100); }); $totalWithTax = $subtotal + $taxAmount + $fee; @endphp
{{ t('amount') }}
{{ $invoice->formatAmount($transaction->amount) }}
{{ t('status') }}
@if ($transaction->isPending()) {{ t('pending') }} @elseif($transaction->isSuccessful()) {{ t('approved') }} @elseif($transaction->isFailed()) {{ t('failed') }} @endif
{{ t('date') }}
{{ $transaction->created_at->format('M d, Y') }}
{{ t('payment_reference') }}
{{ $transaction->metadata['payment_reference'] ?? 'N/A' }}
{{ t('payment_date') }}
@if (!empty($transaction->metadata['payment_date'])) {{ \Carbon\Carbon::parse($transaction->metadata['payment_date'])->format('M d, Y') }} @else N/A @endif
{{ t('payment_method') }}
{{ $transaction->metadata['payment_method'] ?? 'N/A' }}
{{ t('additional_details') }}
{{ $transaction->metadata['payment_details'] ?? 'N/A' }}

{{ t('invoice_information') }}

{{ t('invoice_number') }}
{{ $transaction->invoice->invoice_number ?? format_draft_invoice_number() }}
{{ t('invoice_date') }}
{{ $transaction->invoice->created_at->format('M d, Y') }}
{{ t('customer') }}
{{ $user->firstname . ' ' . $user->lastname }}
{{ t('email') }}
{{ $user->email }}
{{ t('description') }}
{{ $transaction->invoice->description ?? 'N/A' }}

{{ t('Invoice Items') }}

@foreach ($transaction->invoice->items as $item) @endforeach @php $taxDetails = $transaction->invoice->getTaxDetails(); $subtotal = $transaction->invoice->subTotal(); // Create price breakdown display $priceBreakdown = $transaction->invoice->formatAmount($subtotal); $taxBreakdown = []; foreach ($taxDetails as $tax) { $taxBreakdown[] = $tax['formatted_rate'] . ' ' . $tax['name']; } @endphp @if (count($taxDetails) > 0) @foreach ($taxDetails as $tax) @endforeach @endif @if ($transaction->invoice->fee > 0) @endif @if ($remainingCredit > 0 && $transaction->status == 'pending') @elseif (count($creditTransactions) > 0) @endif
{{ t('description') }} {{ t('quantity') }} {{ t('price') }} {{ t('total') }}
{{ $item->title }}
{{ $item->description }}
{{ $item->quantity }}
{{ $transaction->invoice->formatAmount($item->amount) }}
{{ $transaction->invoice->formatAmount($item->amount * $item->quantity) }}
{{ t('subtotal') }} {{ $transaction->invoice->formatAmount($transaction->invoice->subTotal()) }}
{{ $tax['name'] }} ({{ $tax['formatted_rate'] }}) @php // Calculate tax amount based on rate and subtotal if it's showing as 0 $taxAmount = $tax['amount']; if ($taxAmount <= 0 && $tax['rate'] > 0) { $taxAmount = $subtotal * ($tax['rate'] / 100); echo $transaction->invoice->formatAmount($taxAmount); } else { echo $tax['formatted_amount']; } @endphp
{{ t('fee') }} {{ $transaction->invoice->formatAmount($transaction->invoice->fee) }}
{{ t('total') }} @php // Ensure we calculate and display the correct total with tax $subtotal = $transaction->invoice->subTotal(); $taxAmount = 0; // Calculate actual tax amount if needed foreach ($taxDetails as $tax) { $amount = $tax['amount']; if ($amount <= 0 && $tax['rate'] > 0) { $amount = $subtotal * ($tax['rate'] / 100); } $taxAmount += $amount; } $fee = $transaction->invoice->fee ?: 0; $calculatedTotal = $subtotal + $taxAmount + $fee; echo $transaction->invoice->formatAmount($calculatedTotal); @endphp
{{ t('total_credit_remaining') }} @php if ($remainingCredit > $calculatedTotal) { $remainingCredit = $calculatedTotal; } echo '-' . $invoice->formatAmount($remainingCredit); @endphp
{{ t('final_total') }} @php $finalamount = $calculatedTotal - $remainingCredit; echo $invoice->formatAmount($finalamount); @endphp
{{ t('total_credit_remaining') }} @php $credits = $creditTransactions->sum('amount'); if ($credits > $calculatedTotal) { $credits = $calculatedTotal; } echo '-' . $invoice->formatAmount($credits); @endphp
{{ t('final_total') }} @php $finalamount = $calculatedTotal - $credits; echo $invoice->formatAmount($finalamount); @endphp
@if (checkPermission('admin.transactions.actions'))
@if ($transaction->isPending() && $transaction->type === 'offline')

{{ t('approve_payment') }}

@csrf

{{ t('approve_this_payment') }}

{{ t('reject_payment') }}

@csrf
@error('reason')

{{ $message }}

@enderror
@elseif($transaction->isSuccessful())

{{ t('payment_approved_title') }}

{{ t('payment_approved_message') }}

@if ($transaction->updated_at)

{{ t('payment_approved_on') }} {{ format_date_time($transaction->updated_at) }}

@endif
@elseif($transaction->isFailed())

{{ t('payment_rejected_title') }}

{{ t('payment_rejected_message') }}

@if ($transaction->error)

{{ t('payment_rejection_reason') }}{{ $transaction->error }}

@endif @if ($transaction->updated_at)

{{ t('payment_rejected_on') }} {{ format_date_time($transaction->updated_at) }}

@endif
@endif
@endif