@extends('layouts.customer') @section('title', 'Billing') @section('page-title', 'Billing & Subscription') @section('content') @php $isCurrentPlanActive = $subscription && !$subscription->isExpired() && in_array($subscription->status, ['active', 'trialing', 'pending'], true); $isSubscriptionActiveOrTrialing = $subscription && !$subscription->isExpired() && in_array($subscription->status, ['active', 'trialing'], true); $renewalDate = null; if ($subscription?->period_end) { $renewalDate = $subscription->period_end; } elseif ($subscription?->trial_ends_at && $subscription->trial_ends_at->isFuture()) { $renewalDate = $subscription->trial_ends_at; } elseif ($subscription?->starts_at) { $renewalDate = $subscription->starts_at->copy()->addMonths($subscription?->billing_cycle === 'yearly' ? 12 : 1); } $emailsUsed = (int) ($usage['emails_sent_this_month'] ?? 0); $subsUsed = (int) ($usage['subscribers_count'] ?? 0); $campaignsUsed = (int) ($usage['campaigns_count'] ?? 0); $emailsLimit = (int) ($currentPlan?->customerGroup?->limit('sending_quota.monthly_quota', 0) ?? 0); $subsLimit = (int) ($currentPlan?->customerGroup?->limit('lists.limits.max_subscribers', 0) ?? 0); $campaignsLimit = (int) ($currentPlan?->customerGroup?->limit('campaigns.limits.max_campaigns', 0) ?? 0); $emailsPercent = $emailsLimit > 0 ? min(100, (int) round(($emailsUsed / $emailsLimit) * 100)) : null; $subsPercent = $subsLimit > 0 ? min(100, (int) round(($subsUsed / $subsLimit) * 100)) : null; $campaignsPercent = $campaignsLimit > 0 ? min(100, (int) round(($campaignsUsed / $campaignsLimit) * 100)) : null; @endphp
| Date | Description | Amount | Status | Action |
|---|---|---|---|---|
| {{ $subscription?->starts_at ? $subscription->starts_at->format('M d, Y') : now()->format('M d, Y') }} | {{ $subscription?->plan_name ?? 'Current Subscription' }} @if($subscription?->billing_cycle) - {{ ucfirst($subscription->billing_cycle) }} @endif | {{ $subscription?->currency ?? ($currentPlan?->currency ?? 'USD') }} {{ number_format((float) ($subscription?->price ?? ($currentPlan?->price ?? 0)), 2) }} | Current |
@if(!empty($latestInvoiceUrl))
|
| {{ $date }} | {{ $description }} | {{ $currency }} {{ $amount }} | @if($statusIsPaid) Paid @elseif($statusIsFailed) Failed @else {{ $statusLabel !== '' ? ucfirst($statusLabel) : '—' }} @endif |
@if($downloadUrl)
|
| {{ $date }} | {{ $description }} | {{ $currency }} {{ $amount }} | @if($statusIsPaid) Paid @elseif($statusIsFailed) Failed @else {{ $statusLabel !== '' ? ucfirst($statusLabel) : '—' }} @endif |
@if($downloadUrl)
|
| {{ __('No billing history yet.') }} | ||||