@extends('layouts/layoutMaster') @section('title', 'Meu Financeiro') @section('content')

Meu Financeiro

Gerencie adesão, mensalidades e método de cobrança do seu plano.

@if(session('success'))
@endif @if(session('warning'))
@endif @if(session('error'))
@endif @if(!$assinatura)
@else @php $statusMap = [ 'pendente_pagamento' => ['label' => 'Pendente de Pagamento', 'class' => 'warning'], 'onboarding_dados' => ['label' => 'Onboarding - Dados', 'class' => 'info'], 'onboarding_contrato' => ['label' => 'Onboarding - Contrato', 'class' => 'info'], 'ativa' => ['label' => 'Ativa', 'class' => 'success'], 'cancelamento_agendado' => ['label' => 'Cancelamento Agendado', 'class' => 'warning'], 'suspensa' => ['label' => 'Suspensa', 'class' => 'danger'], 'cancelada' => ['label' => 'Cancelada', 'class' => 'secondary'], ]; $statusInfo = $statusMap[$assinatura->status] ?? ['label' => ucfirst((string) $assinatura->status), 'class' => 'secondary']; $metodoPagamentoLabels = [ 'BOLETO' => 'Boleto', 'PIX' => 'PIX', 'CREDIT_CARD' => 'Cartão de Crédito', 'DEBIT_CARD' => 'Cartão de Débito', 'CARTAO_CREDITO' => 'Cartão de Crédito', 'CARTAO_DEBITO' => 'Cartão de Débito', 'CREDITO' => 'Cartão de Crédito', 'DEBITO' => 'Cartão de Débito', ]; $planoContratado = $assinatura->planoContratado; $planoBase = $assinatura->plano; $planoAtual = $planoContratado ?: $planoBase; $nomePlano = $planoAtual->nome ?? 'Plano não informado'; $valorAdesaoPlano = (float) ($planoContratado->adesao ?? $planoBase->adesao ?? 0); $valorMensalPlano = (float) ($planoContratado->valor ?? $planoBase->valor ?? 0); $metodoAdesaoLabel = $metodoPagamentoLabels[strtoupper((string) $assinatura->metodo_adesao)] ?? ucfirst(strtolower((string) $assinatura->metodo_adesao)); $metodoMensalLabel = $metodoPagamentoLabels[strtoupper((string) $assinatura->metodo_mensal)] ?? ucfirst(strtolower((string) $assinatura->metodo_mensal)); $metodoMensalAtual = strtoupper((string) $assinatura->metodo_mensal); $opcoesMetodoMensal = [ 'BOLETO' => 'Boleto', 'CREDIT_CARD' => 'Cartão de Crédito', ]; if (array_key_exists($metodoMensalAtual, $opcoesMetodoMensal)) { unset($opcoesMetodoMensal[$metodoMensalAtual]); } if (empty($opcoesMetodoMensal)) { $opcoesMetodoMensal = [ 'BOLETO' => 'Boleto', 'CREDIT_CARD' => 'Cartão de Crédito', ]; } $cartaoDebitoConfirmado = (bool) ($cartaoDebitoInfo['confirmado'] ?? false); $cartaoDebitoFinal = trim((string) ($cartaoDebitoInfo['final'] ?? '')); $cartaoDebitoSubscriptionId = trim((string) ($cartaoDebitoInfo['subscription_id'] ?? '')); $cancelamentoEfetivoEm = $assinatura->cancelamento_efetivo_em ? \Carbon\Carbon::parse($assinatura->cancelamento_efetivo_em)->format('d/m/Y') : null; // Calcular próxima cobrança - apenas mensalidades pendentes (não adesão) $proximaMensalidade = $pagamentosAbertos ->filter(fn($p) => $p->tipo_cobranca === 'mensalidade') ->sortBy('data_vencimento') ->first(); $dataProximaCobranca = $proximaMensalidade ? \Carbon\Carbon::parse($proximaMensalidade->data_vencimento)->format('d/m/Y') : ($assinatura->proxima_cobranca_em ? \Carbon\Carbon::parse($assinatura->proxima_cobranca_em)->format('d/m/Y') : '-'); // Verificar se há adesão pendente $adesaoPendente = $pagamentosAbertos ->filter(fn($p) => $p->tipo_cobranca === 'adesao' && $p->status !== 'pago') ->first(); $ultimaAdesaoPaga = $historicoPagamentos ->first(fn($p) => $p->tipo_cobranca === 'adesao' && $p->status === 'pago'); $valorAdesaoPagoAtual = $ultimaAdesaoPaga ? (float) $ultimaAdesaoPaga->valor : $valorAdesaoPlano; $tipoCobrancaLabel = function ($pagamento) { $tipo = strtolower((string) ($pagamento->tipo_cobranca ?? '')); if ($tipo !== 'adesao') { return ucfirst((string) ($pagamento->tipo_cobranca ?? '')); } $observacoes = (string) ($pagamento->observacoes ?? ''); if (preg_match('/\[ADESAO_UPGRADE\]\s*([^|]+)/', $observacoes, $matches)) { $nomePlano = trim((string) ($matches[1] ?? '')); if ($nomePlano !== '') { return 'Adesão - Upgrade Plano ' . $nomePlano; } } $jsonResposta = json_decode((string) ($pagamento->json_resposta ?? ''), true); if (is_array($jsonResposta)) { $descricao = trim((string) ($jsonResposta['description'] ?? '')); if ($descricao !== '' && stripos($descricao, 'Adesão - Upgrade Plano') !== false) { return $descricao; } } return 'Adesão'; }; @endphp
Resumo da Assinatura

Empresa: {{ $empresa->nome_empresa }}

{{ $statusInfo['label'] }}
Plano {{ $nomePlano }}
Valor da Adesão R$ {{ number_format($valorAdesaoPlano, 2, ',', '.') }}
Valor da Mensalidade R$ {{ number_format($valorMensalPlano, 2, ',', '.') }}
Método da Adesão {{ $metodoAdesaoLabel }}
Método Mensal {{ $metodoMensalLabel }}
Próxima Cobrança {{ $dataProximaCobranca }}
Último Pagamento {{ $assinatura->ultimo_pagamento_em ? \Carbon\Carbon::parse($assinatura->ultimo_pagamento_em)->format('d/m/Y H:i') : '-' }}
Bloqueio por Inadimplência {{ $assinatura->bloqueada_por_inadimplencia ? 'Sim' : 'Não' }}
Alterar Método Mensal
@csrf
@if(strtoupper((string) $assinatura->metodo_mensal) === 'CREDIT_CARD')
@if($cartaoDebitoConfirmado) @else Se quiser débito automático fixo, cadastre o cartão. @endif @if($cartaoDebitoConfirmado && $cartaoDebitoSubscriptionId !== '') Assinatura Asaas: {{ $cartaoDebitoSubscriptionId }} @endif
@endif @if($onboardingPendente)
Continuar Onboarding @endif
@if($assinatura->status === 'cancelamento_agendado')
@endif
Troca de Plano
@if($planosDisponiveisUpgrade->isEmpty())

Nao ha outros planos ativos disponiveis para upgrade no momento.

@else
@foreach($planosDisponiveisUpgrade as $itemUpgrade) @php $planoUpgrade = $itemUpgrade['plano']; $precosUpgrade = $itemUpgrade['precos']; $promoUpgrade = $precosUpgrade['promocao_aplicada'] ?? null; $valorMensalNovo = (float) ($precosUpgrade['valor_mensal_final'] ?? 0); $valorAdesaoPlanoNovo = (float) ($precosUpgrade['valor_adesao_final'] ?? 0); $isDowngrade = $valorMensalNovo < $valorMensalPlano; $valorAdesaoTroca = $isDowngrade ? 0.0 : max(0, $valorAdesaoPlanoNovo - $valorAdesaoPagoAtual); $recursosPlanoUpgrade = array_values($itemUpgrade['recursos'] ?? []); $previewMensalidades = $itemUpgrade['preview_mensalidades'] ?? []; $primeiraMensalidadePreview = $previewMensalidades['primeira'] ?? []; $segundaMensalidadePreview = $previewMensalidades['segunda'] ?? []; $estrategiaMensalidadePreview = (string) ($previewMensalidades['estrategia'] ?? ''); @endphp @endforeach
Plano Mensalidade Adesao
{{ $planoUpgrade->nome }} @if($promoUpgrade) {{ $promoUpgrade['nome'] }} @endif @if((float) $precosUpgrade['valor_mensal_final'] < (float) $precosUpgrade['valor_mensal_original']) R$ {{ number_format((float) $precosUpgrade['valor_mensal_original'], 2, ',', '.') }} @endif R$ {{ number_format((float) $precosUpgrade['valor_mensal_final'], 2, ',', '.') }} @if((float) $precosUpgrade['valor_adesao_final'] < (float) $precosUpgrade['valor_adesao_original']) R$ {{ number_format((float) $precosUpgrade['valor_adesao_original'], 2, ',', '.') }} @endif R$ {{ number_format((float) $precosUpgrade['valor_adesao_final'], 2, ',', '.') }}
A troca de plano aplica diferenca de adesao no upgrade e nao gera devolucao no downgrade. @endif
Cancelar Assinatura
@if($assinatura->status === 'cancelamento_agendado') @else

A assinatura recorrente sera encerrada e o acesso ao sistema sera mantido por 30 dias apos o ultimo pagamento.

@csrf
@endif
@if($adesaoPendente)
Adesão Pendente

Valor: R$ {{ number_format((float) $adesaoPendente->valor, 2, ',', '.') }} | Método atual: {{ $metodoPagamentoLabels[strtoupper((string) $adesaoPendente->metodo_pagamento)] ?? ucfirst(strtolower((string) $adesaoPendente->metodo_pagamento)) }}

@if($adesaoPendente->asaas_invoice_url) Pagar Agora @endif
@endif
Cobranças em Aberto
@forelse($pagamentosAbertos as $pagamento) @empty @endforelse
Tipo Competência Vencimento Método Valor Status Ações
{{ $tipoCobrancaLabel($pagamento) }} {{ $pagamento->competencia ? \Carbon\Carbon::parse($pagamento->competencia)->format('m/Y') : '-' }} {{ $pagamento->data_vencimento ? \Carbon\Carbon::parse($pagamento->data_vencimento)->format('d/m/Y') : '-' }} {{ $metodoPagamentoLabels[strtoupper((string) $pagamento->metodo_pagamento)] ?? ucfirst(strtolower((string) $pagamento->metodo_pagamento)) }} R$ {{ number_format((float) $pagamento->valor, 2, ',', '.') }} {{ ucfirst((string) $pagamento->status) }}
@if($pagamento->asaas_invoice_url) Pagar @endif @if($pagamento->asaas_bank_slip_url) Boleto @endif @if($pagamento->asaas_pix_copy_paste) @endif
Nenhuma cobrança em aberto.
Recibos de Adesao e Troca de Plano
Historico para download a qualquer momento
@forelse($contratosRecibos as $contratoRecibo) @php $tituloContratoRecibo = strtolower((string) ($contratoRecibo->titulo_contrato ?? '')); $tipoContratoRecibo = str_contains($tituloContratoRecibo, 'aditivo') ? 'Troca de Plano' : 'Adesao Inicial'; $nomePlanoRecibo = $contratoRecibo->planoContratado?->nome ?? $contratoRecibo->plano?->nome ?? '-'; $statusRecibo = strtolower((string) ($contratoRecibo->status ?? '')); $classeStatusRecibo = $statusRecibo === 'ativo' ? 'success' : ($statusRecibo === 'substituido' ? 'warning' : 'secondary'); @endphp @empty @endforelse
ID Tipo Plano Valor Adesao Aceite Status Acoes
#{{ $contratoRecibo->id }} {{ $tipoContratoRecibo }} {{ $nomePlanoRecibo }} R$ {{ number_format((float) $contratoRecibo->valor_adesao, 2, ',', '.') }} {{ $contratoRecibo->aceito_em ? \Carbon\Carbon::parse($contratoRecibo->aceito_em)->format('d/m/Y H:i') : '-' }} {{ ucfirst((string) $contratoRecibo->status) }} Baixar PDF
Nenhum recibo disponivel para esta filial.
Histórico de Pagamentos
@forelse($historicoPagamentos as $pagamento) @empty @endforelse
Tipo Competência Pagamento Método Valor Status
{{ $tipoCobrancaLabel($pagamento) }} {{ $pagamento->competencia ? \Carbon\Carbon::parse($pagamento->competencia)->format('m/Y') : '-' }} {{ $pagamento->data_pagamento ? \Carbon\Carbon::parse($pagamento->data_pagamento)->format('d/m/Y H:i') : '-' }} {{ $metodoPagamentoLabels[strtoupper((string) $pagamento->metodo_pagamento)] ?? ucfirst(strtolower((string) $pagamento->metodo_pagamento)) }} R$ {{ number_format((float) $pagamento->valor, 2, ',', '.') }} {{ ucfirst((string) $pagamento->status) }}
Sem histórico de pagamentos.
@endif @endsection @section('page-script') @endsection