Carregando Nephe Tiger...
NEPHE TIGER EVOLUTION — NEPHE TIGER PAY ETAPA 2 — MOTOR FINANCEIRO E COBRANÇAS Continuando o módulo NEPHE TIGER PAY criado na etapa anterior, agora quero implementar o segundo estágio: o MOTOR FINANCEIRO E DE COBRANÇAS. IMPORTANTE: - NÃO reconstruir o Nephe Tiger Evolution. - NÃO apagar funcionalidades existentes. - NÃO duplicar cadastro de clientes, estoque ou financeiro. - NÃO criar banco, gateway ou instituição financeira fictícia. - NÃO considerar pagamentos fictícios como reais. - NÃO implementar ainda bloqueio do aparelho. - Criar a arquitetura preparada para integração com um provedor financeiro real posteriormente. Antes de modificar qualquer coisa, analise o que foi criado na etapa anterior e reutilize toda a estrutura existente. --- 1. MOTOR DE PARCELAS Cada contrato ativo deverá possuir um cronograma financeiro completo. Para cada parcela armazenar: - ID; - Contrato; - Número da parcela; - Data de vencimento; - Valor original; - Desconto; - Juros; - Multa; - Encargos; - Valor atualizado; - Status; - Data de pagamento; - Forma de pagamento; - ID da transação externa; - Data de criação; - Data de atualização. Status: - PENDENTE - VENCENDO - PAGA - ATRASADA - NEGOCIADA - CANCELADA O status deve ser atualizado automaticamente de acordo com as datas e pagamentos confirmados. --- 2. CÁLCULO DE ATRASO Criar uma camada de cálculo financeiro configurável. Não deixar valores de multa e juros fixos diretamente no frontend. Criar configurações para: - Multa; - Juros por dia; - Juros mensal; - Dias de tolerância; - Regras de atualização; - Desconto para pagamento antecipado. As regras deverão poder ser alteradas por administrador autorizado. Registrar no histórico quando uma parcela tiver seu valor atualizado. --- 3. CENTRAL DE PAGAMENTOS Criar uma tela: PAGAMENTOS Filtros: - Todos; - Pendentes; - Pagos; - Atrasados; - Cancelados; - Hoje; - Este mês; - Período personalizado. Colunas: - Contrato; - Cliente; - Parcela; - Vencimento; - Valor; - Status; - Forma de pagamento; - Data de pagamento; - ID da transação. Criar busca por: - Nome; - CPF; - Número do contrato; - IMEI; - ID da transação. --- 4. ESTRUTURA PARA PIX Criar uma camada de abstração para cobrança Pix. Cada cobrança deverá poder armazenar: - Provider; - External Charge ID; - TXID; - Valor; - Expiração; - QR Code; - Pix Copia e Cola; - Status; - Data de criação; - Data de pagamento; - Data de expiração. Status: - CREATED - PENDING - PAID - EXPIRED - CANCELLED - FAILED IMPORTANTE: Ainda NÃO conectar a um banco específico. Criar uma interface de serviço semelhante a: PaymentProvider com métodos preparados para: - createPixCharge() - getPixCharge() - cancelPixCharge() - createBoleto() - getBoleto() - cancelBoleto() A implementação real do provedor será adicionada posteriormente. --- 5. ESTRUTURA PARA BOLETO Preparar o sistema para boleto bancário. Cada boleto deverá possuir: - ID interno; - Provider; - ID externo; - Nosso número; - Código de barras; - Linha digitável; - PDF/URL; - Valor; - Data de emissão; - Data de vencimento; - Status; - Data de pagamento. Status: - CREATED - REGISTERED - PENDING - PAID - EXPIRED - CANCELLED - FAILED NÃO gerar códigos de barras fictícios. Enquanto não existir provedor configurado, mostrar: "Provedor de pagamento não configurado." --- 6. WEBHOOKS Criar estrutura segura para receber eventos de pagamento de um provedor externo. Criar endpoint preparado para: PAYMENT_CREATED PAYMENT_UPDATED PAYMENT_PAID PAYMENT_FAILED PAYMENT_EXPIRED PAYMENT_CANCELLED O webhook deverá: 1. Receber evento; 2. Validar autenticação/assinatura quando o provedor fornecer; 3. Identificar a transação; 4. Localizar a parcela; 5. Verificar idempotência; 6. Atualizar o pagamento; 7. Atualizar a parcela; 8. Atualizar o contrato; 9. Registrar auditoria. IMPORTANTE: O mesmo webhook enviado duas vezes NÃO pode gerar dois pagamentos. Implementar controle de idempotência. --- 7. CONFIRMAÇÃO DE PAGAMENTO Apenas um evento financeiro validado deve alterar: PENDENTE → PAGA Nunca permitir que o frontend simplesmente envie: "marcar como paga" para uma parcela. Para pagamentos manuais autorizados pelo administrador, exigir: - Motivo; - Usuário; - Data; - Observação; - Registro de auditoria. --- 8. CENTRAL DE COBRANÇA Criar uma nova tela: COBRANÇAS Mostrar: - Cliente; - Contrato; - Parcela; - Vencimento; - Dias em atraso; - Valor original; - Valor atualizado; - Status; - Última cobrança; - Próxima ação. Filtros: - Vence hoje; - Vence amanhã; - Vence em 3 dias; - Vence em 7 dias; - Vencidas; - 1–7 dias atrasadas; - 8–15 dias; - 16–30 dias; - Mais de 30 dias. --- 9. LINHA DO TEMPO DO CLIENTE Dentro do contrato criar uma timeline: Exemplo: 24/08 — Contrato criado 24/08 — Parcela 01 gerada 24/08 — Pix criado 25/08 — Cliente recebeu cobrança 05/09 — Parcela venceu 06/09 — Parcela entrou em atraso 07/09 — Cliente recebeu aviso 10/09 — Pagamento confirmado 10/09 — Parcela regularizada Todas essas ações devem ficar registradas. --- 10. NOTIFICAÇÕES Criar estrutura para futuramente enviar: - E-mail; - WhatsApp; - SMS; - Push notification. Criar templates configuráveis. Tipos: PRÉ-VENCIMENTO "Olá, {cliente}. Sua parcela do Nephe Tiger Pay vence em {data}." VENCIMENTO "Sua parcela vence hoje." ATRASO "Identificamos uma parcela em atraso." PAGAMENTO CONFIRMADO "Pagamento confirmado." Não conectar WhatsApp ou SMS ainda. Criar somente a arquitetura. --- 11. SEGUNDA VIA Dentro da parcela: Se boleto estiver disponível: [ GERAR SEGUNDA VIA ] Se Pix estiver disponível: [ GERAR NOVO PIX ] Se já estiver pago: mostrar: "Parcela paga." Não permitir gerar nova cobrança para uma parcela já quitada sem uma regra explícita. --- 12. NEGOCIAÇÃO Preparar estrutura para negociação. Criar opção: NEGOCIAR PARCELA Futuramente poderá permitir: - Nova data; - Desconto; - Juros; - Multa; - Parcelamento do atraso; - Entrada; - Novo cronograma. Criar entidade/histórico de negociação. Não permitir alteração silenciosa da dívida. Toda negociação deve gerar: - ID; - Usuário; - Data; - Valores anteriores; - Novos valores; - Motivo; - Status. --- 13. CONCILIAÇÃO Criar tela: CONCILIAÇÃO FINANCEIRA Preparar estrutura para comparar: TRANSAÇÕES DO PROVEDOR versus PARCELAS DO NEPHE TIGER PAY Mostrar: - Conciliado; - Pendente; - Divergente; - Sem correspondência. Isso será importante quando conectarmos o primeiro provedor real. --- 14. DASHBOARD FINANCEIRO Atualizar o dashboard do Nephe Tiger Pay com: RECEBIMENTOS Hoje Semana Mês Período personalizado A RECEBER Próximos 7 dias Próximos 30 dias Total da carteira INADIMPLÊNCIA Valor em atraso Quantidade de parcelas Quantidade de clientes Percentual da carteira PAGAMENTOS Pix Boleto Outros --- 15. AUDITORIA Toda operação financeira crítica deve gerar log. Registrar: - Usuário; - Data/hora; - IP quando disponível; - Ação; - Contrato; - Parcela; - Valor anterior; - Valor novo; - Origem da ação; - Resultado. Exemplos: PAYMENT_CREATED PAYMENT_CONFIRMED PAYMENT_CANCELLED INSTALLMENT_UPDATED INSTALLMENT_PAID CONTRACT_UPDATED NEGOTIATION_CREATED MANUAL_PAYMENT_REGISTERED --- 16. SEGURANÇA Toda operação financeira deverá ocorrer no backend. Não confiar em valores enviados pelo frontend. Validar no servidor: - Usuário; - Permissão; - Contrato; - Parcela; - Valores; - Status; - Transação; - Idempotência. Nunca armazenar segredo de API no frontend. As credenciais de futuros provedores deverão ficar somente em ambiente seguro/server-side. --- 17. PREPARAÇÃO PARA O FUTURO DEVICE CONTROL NÃO implementar bloqueio nesta etapa. Porém, manter a relação: CONTRATO ↓ CONTRACT_DEVICE ↓ IMEI ↓ DEVICE_ID Quando uma parcela entrar em atraso, o sistema deverá apenas atualizar o status financeiro. Exemplo: CONTRACT_STATUS = EM_ATRASO Não executar nenhuma ação no aparelho. O módulo Device Control será desenvolvido em uma etapa posterior e independente. --- 18. REGRAS DE INTEGRIDADE Criar regras para impedir: - Dois pagamentos para a mesma parcela; - Dois contratos ativos para o mesmo IMEI; - Parcela paga duas vezes; - Alteração de contrato quitado sem autorização; - Exclusão de transações financeiras; - Exclusão de logs de auditoria; - Alteração de valores sem histórico. Preferir: CANCELAMENTO / ESTORNO / INATIVAÇÃO em vez de exclusão definitiva de dados financeiros. --- 19. RESULTADO ESPERADO Ao terminar esta etapa, quero conseguir: 1. Criar uma contratação; 2. Gerar automaticamente as parcelas; 3. Visualizar vencimentos; 4. Identificar atrasos; 5. Visualizar o valor atualizado; 6. Criar uma cobrança Pix preparada; 7. Criar um boleto preparado; 8. Receber futuramente confirmação por webhook; 9. Dar baixa automaticamente; 10. Registrar toda a operação; 11. Visualizar a carteira financeira; 12. Visualizar a inadimplência; 13. Preparar negociação; 14. Preparar conciliação. NÃO criar pagamentos fictícios. NÃO conectar banco fictício. NÃO implementar bloqueio de aparelho ainda. Ao terminar, apresente: - Estrutura do banco; - Novas tabelas; - APIs/endpoints; - Serviços criados; - Regras de negócio; - Permissões; - Webhooks; - Status financeiros; - O que está pronto; - O que depende do provedor financeiro real; - O que ficará para a próxima etapa.