Statut
@if($logicalPaymentStatus === 'paid')
Payé
@elseif($logicalPaymentStatus === 'partial')
Acompte payé (solde restant)
@elseif($logicalPaymentStatus === 'refunded')
Remboursé
@else
En attente de paiement
@endif
@if($paymentTypeLabel !== '')
Type de paiement
@if($paymentTypeLabel === 'deposit')
Acompte + caution
@elseif($paymentTypeLabel === 'balance')
Solde
@elseif(in_array($paymentTypeLabel, ['full', 'payment'], true))
Paiement total
@else
{{ ucfirst($paymentTypeLabel) }}
@endif
@endif
@if($paymentTx)
Transaction
#{{ $paymentTx->id }}
@if(!empty($paymentTx->stripe_payment_intent_id))
{{ $paymentTx->stripe_payment_intent_id }}
@endif
@if(!empty($paymentTx->paid_at))
Payé le {{ optional($paymentTx->paid_at)->format('d/m/Y à H:i') }}
@endif
@endif
@if($paymentEscrow)
@php
$escrowRow = (array) $paymentEscrow;
$escrowStatus = strtolower((string) ($escrowRow['status'] ?? 'unknown'));
@endphp
Escrow
#{{ $escrowRow['id'] ?? 'N/A' }}
Statut escrow: {{ $escrowStatus }}
@if(!empty($escrowRow['stripe_payment_intent_id']))
{{ $escrowRow['stripe_payment_intent_id'] }}
@endif
@endif
@php
$securityDeposit = (float) ($request->equipment->security_deposit ?? $request->security_deposit ?? 0);
@endphp
@if($securityDeposit > 0)
@php
$escrowMeta = [];
if (!empty($escrowRow['metadata'] ?? null)) {
try {
$escrowMeta = is_array($escrowRow['metadata'])
? $escrowRow['metadata']
: (json_decode((string) $escrowRow['metadata'], true) ?: []);
} catch (\Throwable $e) {
$escrowMeta = [];
}
}
$depositStatus = strtolower((string) ($request->deposit_status ?? ($escrowMeta['deposit_status'] ?? 'pending')));
$depositRetained = (float) ($request->deposit_retained ?? ($escrowMeta['deposit_retained'] ?? 0));
$depositReason = trim((string) ($request->deposit_retention_reason ?? ($escrowMeta['deposit_retention_reason'] ?? '')));
$depositReturned = max(0, $securityDeposit - $depositRetained);
if (isset($escrowMeta['deposit_returned'])) {
$depositReturned = max(0, (float) $escrowMeta['deposit_returned']);
}
$depositProcessedAt = null;
$processedCandidate = $request->equipment_returned_at ?? ($escrowMeta['deposit_processed_at'] ?? null);
if (!empty($processedCandidate)) {
try {
$depositProcessedAt = \Illuminate\Support\Carbon::parse($processedCandidate)->format('d/m/Y à H:i');
} catch (\Throwable $e) {
$depositProcessedAt = null;
}
}
$isReturned = $depositStatus === 'returned' || ($depositRetained <= 0 && !empty($depositProcessedAt));
$isRetained = $depositStatus === 'retained' || ($depositRetained >= $securityDeposit && $securityDeposit > 0);
$isPartial = $depositStatus === 'partial' || (!$isReturned && !$isRetained && $depositRetained > 0);
@endphp
Suivi caution client
@if($isReturned)
Restituée au client: {{ number_format($depositReturned, 2) }}€
@elseif($isPartial)
Retenue: {{ number_format($depositRetained, 2) }}€ • Restituée: {{ number_format($depositReturned, 2) }}€
@elseif($isRetained)
Retenue intégrale: {{ number_format($depositRetained, 2) }}€
@else
En attente de traitement après retour
@endif
@if($depositReason !== '')
{{ $depositReason }}
@endif
@if($depositProcessedAt)
Traitée le {{ $depositProcessedAt }}
@endif
@endif