receber), baixa/aprovação e cancelamento.
Documentação baseada nos arquivos do módulo (assinaturas/ e planos/).
receberO módulo é dividido em duas partes complementares:
assinaturas/): onde o admin define o que é um plano.
Na prática, existe um grupo_assinaturas (o “plano”) e seus itens_assinaturas (o que o plano entrega: limites, recursos, valores, dias, etc).
planos/): onde o admin gerencia as assinaturas dos clientes na tabela assinaturas
(vencimento, pago, cancelamento, aprovação/baixa).
Importante: apesar do nome da pasta planos/, a tabela principal de contratação é assinaturas.
Já o “plano” que o cliente contrata vem do catálogo (grupo_assinaturas + itens_assinaturas).
echo sem atualizar o JS, vai “quebrar” o fluxo de atualização/alerta.
Baseado no módulo enviado (ZIP):
sistema/painel/paginas/
├─ assinaturas.php (tela do catálogo)
├─ planos.php (tela de assinaturas dos clientes)
│
├─ assinaturas/
│ ├─ inserir.php (carrega modal/form)
│ ├─ listar.php (lista grupo_assinaturas)
│ ├─ salvar.php (CRUD grupo_assinaturas)
│ ├─ mudar-status.php (ativa/inativa grupo)
│ ├─ excluir.php (exclui grupo)
│ ├─ listar_itens.php (lista itens_assinaturas por grupo)
│ ├─ salvar_itens.php (CRUD itens_assinaturas)
│ └─ mudar-status-itens.php (ativa/inativa item)
│
└─ planos/
├─ listar.php (lista assinaturas — contratações)
├─ salvar.php (cria assinatura para um cliente)
├─ status.php (altera status/ativo e regras de ajuste)
├─ valor.php (retorna valor do item)
├─ dados_conta.php (retorna dados do cliente para o modal)
├─ listar_planos.php (lista itens do catálogo por grupo)
├─ aprovar_plano.php (rotina central de baixa/aprovação)
├─ baixar.php (atalho: aprova e dá baixa)
├─ cancelar.php (cancelamento + limpeza de contas)
└─ excluir.php (exclui assinatura)
assinaturas/* → define e mantém o catálogo de planos (o que existe para contratar).planos/* → controla a vida útil das assinaturas dos clientes (pagar, vencer, cancelar, ativar/inativar).As tabelas abaixo são referenciadas diretamente nos scripts do módulo:
| Tabela | Uso no módulo | Campos encontrados no código |
|---|---|---|
grupo_assinaturas |
Cadastro do “plano” (nome/descrição/valor + flags de recursos). | id, nome, descricao, valor, ativo, c1..c12 |
itens_assinaturas |
Itens do plano (o que o plano entrega) associados ao grupo. |
id, grupo, nome, valor, dias, ativo |
assinaturas |
Assinatura do cliente (contratação): controla vencimento, pago, status e cancelamento. | id, cliente, grupo, item, frequencia, data, vencimento, pago, ref_pix, ativo, cancelado |
receber |
Contas a receber geradas pela assinatura (tipo “Plano”, por referência). | referencia (usada), além de campos de valor/vencimento/baixa |
frequencias |
Define periodicidade (dias) usada para calcular próximo vencimento. | id, frequencia, dias |
formas_pgto |
Catálogo de formas de pagamento (ex.: “MP”). | nome |
clientes |
Busca do nome e telefone para exibição e notificações. | id, nome, telefone |
caixas |
Usada na aprovação para validar/registrar operador ligado ao “Painel Assinaturas”. | operador (referenciado) |
Campos exatos de receber e regras de baixa variam conforme o seu financeiro. O módulo trabalha por “referência”.
assinaturas/listar.phpassinaturas/salvar.phpassinaturas/mudar-status.php (retorna Alterado com Sucesso)
O grupo contém as flags c1..c12 (Sim/Não) — normalmente usadas para liberar recursos do sistema.
assinaturas/listar_itens.phpassinaturas/salvar_itens.phpassinaturas/mudar-status-itens.phpO item tem valor e dias. No fluxo de contratação, o script usa:
planos.phpplanos/listar.php (tabela assinaturas)planos/salvar.php (retorna Salvo com Sucesso)planos/status.php (retorna Alterado com Sucesso)planos/excluir.php (retorna Excluído com Sucesso)| Campo | Valores observados | Impacto no módulo |
|---|---|---|
pago |
Sim / Não |
Quando Não e existe ref_pix, o módulo tenta consultar o pagamento. |
ativo |
Sim / Não |
Usado para habilitar/desabilitar a assinatura no sistema. |
cancelado |
Sim / Não |
Cancelamento via planos/cancelar.php + remoção de contas em receber. |
vencimento |
Data (YYYY-MM-DD) |
Na aprovação, o próximo vencimento é calculado via frequencias.dias. |
planos/baixar.php chama planos/aprovar_plano.php e retorna Baixado com Sucesso.planos/cancelar.php remove a cobrança em receber e marca cancelado = Sim.planos/dados_conta.php busca dados de clientes para preenchimento.
No arquivo planos/listar.php, ao detectar pago = Não e ref_pix preenchido,
tenta validar o pagamento automaticamente.
// Resumo do fluxo
if ($pago == 'Não' and $ref_pix != '') {
require_once('../../../../pagamentos/consultar_pagamento.php');
if ($status_api == 'approved') {
// marca pago, forma_pgto = 'MP', grava data_pgto
require_once('aprovar_plano.php');
}
}
O módulo espera que consultar_pagamento.php exponha $status_api com valor approved.
receber;pago seja atômico (ideal: transação).receberA rotina central de baixa é planos/aprovar_plano.php. O arquivo:
assinaturas e o cliente em clientes.pago = Sim (e em alguns fluxos grava forma/data).vencimento via frequencias.dias.receber usando o id da assinatura como referência.
O arquivo também referencia operador "Painel Assinaturas - $usuario" em caixas.
Strings vistas no módulo (mantenha exatamente se o JS comparar por texto):
Salvo com Sucesso → assinaturas/salvar.php, assinaturas/salvar_itens.php, planos/salvar.phpAlterado com Sucesso → assinaturas/mudar-status.php, assinaturas/mudar-status-itens.php, planos/status.phpExcluído com Sucesso → assinaturas/excluir.php, planos/excluir.phpBaixado com Sucesso → planos/baixar.phpCancelado com Sucesso → planos/cancelar.phpDica: padronize também erros (ex.: Erro: ...) para o front tratar.
id, cliente, grupo, item como inteiros.prepare() + bind.aprovar_plano.php) devem usar transação.receber.receber filtra tipo e referencia certo.ativo.frequencias.consultar_pagamento.php ($status_api).receber e impactos no caixa.