@if(file_exists($logo_path))
@else
MayiMavaStore
@endifMarketplace Africaine
|
Vendu par
@php
$sellersList = $sellerInfoList ?? [];
@endphp
@if(count($sellersList) > 1)
@foreach($sellersList as $sIndex => $sInfo)
{{ $sInfo['shop_name'] }}
@endforeach
@elseif(count($sellersList) === 1)
{{ $sellersList[0]['shop_name'] }}{{ $sInfo['address'] }} • {{ $sInfo['country'] }} {{ $sellersList[0]['address'] }} {{ $sellersList[0]['country'] }} @else MayiMava Partenaire Plateforme MayiMavaStore Togo @endif |
{{-- Spacer --}} |
Facturé à
{{ $order->shipping_address['full_name'] ?? ($order->user->firstname . ' ' . $order->user->lastname) }}
{{ $order->shipping_address['address_line'] ?? '' }} {{ $order->shipping_address['city'] ?? '' }} {{ $order->shipping_address['country'] ?? '' }} {{ $order->shipping_address['phone'] ?? $order->user->telephone_number }} |
| Désignation | Prix Unit. | Qté | Total |
|---|---|---|---|
|
{{ $item->product->name ?? 'Produit #' . $item->product_id }}
@if($isMultiSellerCustomer)
@php
$itemSellerUser = $item->product->seller ?? null;
$itemSellerProfile = $itemSellerUser ? $itemSellerUser->seller : null;
$itemShopName = $itemSellerProfile->shop_name ?? ($itemSellerUser ? "{$itemSellerUser->firstname} {$itemSellerUser->lastname}" : 'Vendeur');
$sellerIdVal = $item->seller_id ?? $itemSellerUser?->id;
$sStatusRecord = $order->relationLoaded('sellerStatuses') ? $order->sellerStatuses->firstWhere('seller_id', $sellerIdVal) : null;
$itemSellerStatusKey = $sStatusRecord?->status ?? $order->status;
$itemSellerStatusLabel = $orderStatusMap[$itemSellerStatusKey] ?? ucfirst($itemSellerStatusKey);
@endphp
Vendeur : {{ $itemShopName }} • Statut : {{ $itemSellerStatusLabel }} @endif |
{{ number_format($item->unit_price, 0, ',', ' ') }} {{ $order->currency }} | {{ $item->quantity }} | {{ number_format($item->total_price, 0, ',', ' ') }} {{ $order->currency }} |
|
{{-- Left side payment info could go here --}}
@php
$paymentMethodDisplay = ucfirst(str_replace('_', ' ', $order->payment_method));
// Si les paiements sont chargés
if ($order->relationLoaded('payments')) {
// Chercher un paiement réussi ou le dernier tenté
$payment = $order->payments
->sortByDesc('created_at')
->first();
if ($payment) {
$providerCode = $payment->provider
?? $payment->payment_provider
?? ($payment->relationLoaded('paymentGateway') && $payment->paymentGateway ? $payment->paymentGateway->provider : null);
if ($providerCode) {
$providerMap = [
'orange_money' => 'Orange Money',
'mtn_money' => 'MTN Mobile Money',
'moov_money' => 'Moov Money',
'pi_network' => 'Pi Network',
'wallet' => 'Portefeuille',
];
$providerLabel = $providerMap[$providerCode] ?? ucfirst(str_replace('_', ' ', $providerCode));
// Affichage intelligent
if ($order->payment_method === 'mobile_money') {
$paymentMethodDisplay = $providerLabel;
} elseif ($order->payment_method === 'credit_card') {
$paymentMethodDisplay = 'Carte Bancaire (' . $providerLabel . ')';
} elseif (strpos(strtolower($paymentMethodDisplay), strtolower($providerLabel)) === false) {
$paymentMethodDisplay .= ' - ' . $providerLabel;
}
}
}
}
@endphp
Moyen de paiement : {{ $paymentMethodDisplay }}
@php $statusMap = [ 'pending' => 'En attente', 'processing' => 'Paiement en cours', 'paid' => 'Payé', 'failed' => 'Échoué', 'refunded' => 'Remboursé', ]; $translatedStatus = $statusMap[$order->payment_status] ?? $order->payment_status; $statusColor = match($order->payment_status) { 'paid' => '#166534', // Vert foncé harmonisé 'failed', 'refunded' => '#991b1b', // Rouge harmonisé default => '#666', }; @endphp Statut du paiement : {{ $translatedStatus }} Mode d'expédition : @php $deliveryLabel = match ($order->delivery_option ?? 'delivery') { 'pickup' => 'Retrait en magasin', 'digital_download' => 'Téléchargement numérique', default => 'Livraison à domicile', }; @endphp {{ $deliveryLabel }} @php $effectiveStatusKey = $order->status; if ($isSellerInvoice ?? false) { $firstItemSellerId = $displayItems->first()?->seller_id ?? $displayItems->first()?->product?->seller_id; $sRecord = $order->relationLoaded('sellerStatuses') ? $order->sellerStatuses->firstWhere('seller_id', $firstItemSellerId) : null; if ($sRecord && !empty($sRecord->status)) { $effectiveStatusKey = $sRecord->status; } } $translatedOrderStatus = $orderStatusMap[$effectiveStatusKey] ?? $effectiveStatusKey; $orderStatusTextColor = match($effectiveStatusKey) { 'delivered' => '#166534', // Vert foncé identique au paiement 'shipped' => '#9a3412', // Orange foncé 'cancelled' => '#991b1b', // Rouge identique default => '#444', }; @endphp Statut de la commande : {{ mb_strtoupper($translatedOrderStatus, 'UTF-8') }} |
@php
$displaySubtotal = $subtotal ?? $order->subtotal;
$displayShipping = $shippingCost ?? $order->shipping_cost;
$displayTax = $taxAmount ?? $order->tax_amount;
$displayDiscount = $discountAmount ?? $order->discount_amount;
$displayTotal = $totalAmount ?? $order->total_amount;
@endphp
|
||||||||||||||