Modelo comercial
- Plano Básico — R$ 25 no 1º mês, depois R$ 49,99/mês
- Barbeiros ilimitados no plano básico atual
- Formas: Pix (manual) ou cartão (recorrência MP)
Entidades
assinaturas— status, forma, dia vencimento, próxima cobrança, MP preapprovalfaturamento— faturas (primeira/mensalidade), QR Pix, mp_payment_idwebhook_events— log idempotente de notificações MP
Fluxo proprietário
- Onboarding →
pagamento.php - Pix: gera QR via
gerarCobrancaPixParaFatura() - Cartão: Brick →
processarPagamentoCartaoFatura() - Aguardando →
onboarding-aguardando.phppoll - Webhook →
marcarFaturaPagaPorPagamento()→liberarAcessoAposPagamento()
Páginas
barbearia/pagamento.php— pagar, preferências, cartão salvobarbearia/assinatura.php— consulta e histórico (sem dados sensíveis de cartão)barbearia/status-pagamento.php— JSON para pollingwebhooks/mercadopago.php— entrada de eventos MP
Cron de assinaturas
cron/processar_assinaturas.php — gera Pix antecipado, marca vencidos, suspende inadimplentes após carência (billing_grace_days).
# HTTP (Hostinger cron) GET /cron/processar_assinaturas.php?token=SEU_CRON_TOKEN # CLI php cron/processar_assinaturas.php
Teste local (Mercado Pago sandbox)
- Credenciais
TEST-emconfig/local.php - Cartão teste: 5031 4332 1540 6351, CVV 123, nome
APRO mp_allow_simulate => true— botão “Simular pagamento” sem MP- Webhook local requer túnel (ngrok) ou simulação manual no painel MP
Dashboard — alertas financeiros
Só aparecem quando necessário: assinatura inativa, atrasada, vencendo ou cobrança próxima (Pix/cartão).