@php $summaryOrders = isset($orders) ? collect($orders) : collect([$order]); $summarySubTotal = (float) $summaryOrders->sum(function ($summaryOrder): float { return (float) $summaryOrder->products ->reject(fn ($orderProduct) => (bool) Arr::get($orderProduct->options, 'is_free_gift', false)) ->sum(function ($orderProduct): float { $unitPrice = (float) $orderProduct->price; $originalPrice = (float) $orderProduct->original_price; $hasOrderPromotion = (bool) $orderProduct->offer_rule_id || filled($orderProduct->offer_reason); if ($hasOrderPromotion && $originalPrice > $unitPrice) { $unitPrice = $originalPrice; } return $unitPrice * (int) $orderProduct->qty; }); }); $summaryShippingAmount = (float) $summaryOrders->sum('shipping_amount'); $summaryDiscountAmount = (float) $summaryOrders->sum('discount_amount'); $summaryTaxAmount = (float) $summaryOrders->sum('tax_amount'); $summaryPaymentFee = (float) $summaryOrders->sum('payment_fee'); $summaryTotalAmount = max($summarySubTotal - $summaryDiscountAmount + $summaryShippingAmount + $summaryTaxAmount + $summaryPaymentFee, 0); @endphp @if ( $summarySubTotal != $summaryTotalAmount || $summaryShippingAmount > 0 || (EcommerceHelper::isTaxEnabled() && $summaryTaxAmount > 0) || $summaryDiscountAmount > 0 )
{{ __('Total') }}:
{{ format_price($summaryTotalAmount) }}