Wiki BarberHub

Pagamentos e assinatura

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 preapproval
  • faturamento — faturas (primeira/mensalidade), QR Pix, mp_payment_id
  • webhook_events — log idempotente de notificações MP

Fluxo proprietário

  1. Onboarding → pagamento.php
  2. Pix: gera QR via gerarCobrancaPixParaFatura()
  3. Cartão: Brick → processarPagamentoCartaoFatura()
  4. Aguardando → onboarding-aguardando.php poll
  5. Webhook → marcarFaturaPagaPorPagamento()liberarAcessoAposPagamento()

Páginas

  • barbearia/pagamento.php — pagar, preferências, cartão salvo
  • barbearia/assinatura.php — consulta e histórico (sem dados sensíveis de cartão)
  • barbearia/status-pagamento.php — JSON para polling
  • webhooks/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- em config/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).