@extends('layouts.app') @section('content') @php // Normaliser les valeurs pour éviter les erreurs $escrowType = $escrow->escrowable_type ?? ''; $isUrgentSale = str_contains($escrowType, 'UrgentSale'); $isBooking = str_contains($escrowType, 'Booking'); $isEquipment = str_contains($escrowType, 'Equipment'); $totalAmount = (float) ($escrow->total_amount ?? $escrow->amount ?? 0); $depositAmount = (float) ($escrow->deposit_amount ?? 0); $escrowMetaTop = []; try { $escrowMetaTop = !empty($escrow->metadata) ? (json_decode((string) $escrow->metadata, true) ?: []) : []; } catch (\Throwable $e) { $escrowMetaTop = []; } if ($depositAmount <= 0) { $depositAmount = (float) ($escrowMetaTop['deposit_amount'] ?? ($escrowMetaTop['security_deposit'] ?? 0)); } if ($depositAmount <= 0 && isset($relatedItem) && is_object($relatedItem) && property_exists($relatedItem, 'security_deposit')) { $depositAmount = (float) ($relatedItem->security_deposit ?? 0); } // Sécuriser $urgentSaleProduct $urgentSaleProduct = $urgentSaleProduct ?? null; $formatDateTime = function ($value) { try { return $value ? \Carbon\Carbon::parse($value)->format('d/m/Y à H:i') : '—'; } catch (\Throwable $e) { return '—'; } }; $formatDate = function ($value) { try { return $value ? \Carbon\Carbon::parse($value)->format('d/m/Y') : '—'; } catch (\Throwable $e) { return '—'; } }; $diffForHumans = function ($value) { try { return $value ? \Carbon\Carbon::parse($value)->diffForHumans() : '—'; } catch (\Throwable $e) { return '—'; } }; @endphp
Détails de votre paiement sécurisé
Paiement reçu et bloqué
{{ $formatDateTime($escrow->created_at ?? null) }}
Vous avez confirmé
{{ $formatDateTime($escrow->client_confirmed_at ?? null) }}
@elseif($escrow->status === 'pending')En attente de votre confirmation
@if($escrow->auto_release_at)Libération automatique {{ $diffForHumans($escrow->auto_release_at ?? null) }}
@endif @elseConfirmation client
@endifPaiement libéré
{{ $formatDateTime($escrow->released_at ?? null) }}
@elseLibération du paiement
@endif{{ $prestataireName }}
@if($prestataireRating)Description
{{ $dispute->description }}
Photos / preuves
La plateforme enregistre le dossier (photos/infos). Elle ne prend parti de personne.
Suivi remboursement caution
@if($isReturned)Remboursée: {{ number_format($depositReturned, 2) }} €
@elseif($isPartial)Remboursée: {{ number_format($depositReturned, 2) }} € • Retenue: {{ number_format($depositRetained, 2) }} €
@elseif($isRetained)Retenue intégrale: {{ number_format($depositRetained, 2) }} €
@elseEn attente de traitement après retour
@endif @if($depositReason !== ''){{ $depositReason }}
@endif @if($depositProcessedAt)Traitée le {{ $depositProcessedAt }}
@endif@if($isUrgentSale && $shipment && $shipment->status !== 'delivered') Votre argent est en sécurité. Pour une vente urgente expédiée, la libération intervient après livraison + confirmation (ou automatiquement après le délai configuré suite à la livraison). @else Votre argent est en sécurité. Il ne sera libéré qu'après votre confirmation ou automatiquement après 48h. @endif