API de Pagamentos e Assinaturas
A API de Pagamentos e Assinaturas do FitLocus fornece endpoints para gerenciamento de planos, assinaturas e transações financeiras na plataforma.Visão Geral
A API de Pagamentos e Assinaturas permite:
- Gerenciamento de planos de assinatura
- Processamento de pagamentos via cartão de crédito (Stripe) e PIX (AbacatePay)
- Consulta de histórico de transações
- Gerenciamento de assinaturas ativas
- Emissão de faturas e recibos
Métodos de Pagamento Suportados
Cartão de Crédito
Processamento de pagamentos com cartão de crédito via Stripe.
PIX
Pagamentos instantâneos via PIX utilizando AbacatePay.
Modelo de Dados
SubscriptionPlanDTO
O objeto SubscriptionPlanDTO representa um plano de assinatura disponível na plataforma:SubscriptionDTO
Objeto que representa uma assinatura de um usuário:PaymentDTO
Objeto que representa uma transação de pagamento:InvoiceDTO
Objeto que representa uma fatura:Endpoints Principais
Detalhes de Implementação
Autenticação
Todos os endpoints requerem autenticação via token JWT no cabeçalhoAuthorization:
Controle de Acesso
O acesso aos endpoints é controlado com base no tipo de usuário e propriedade do recurso:- Usuários só podem acessar suas próprias assinaturas, pagamentos e faturas
- Administradores podem acessar todos os recursos
Listar Planos de Assinatura
Endpoint
Parâmetros de Consulta
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedObter Detalhes de um Plano
Endpoint
Parâmetros de URL
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedObter Assinatura Atual
Endpoint
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedCriar Nova Assinatura
Endpoint
Cabeçalhos da Requisição
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:Exemplo de Requisição
Resposta de Sucesso
Código: 201 CreatedRespostas de Erro
Código: 400 Bad RequestCancelar Assinatura
Endpoint
Parâmetros de URL
Cabeçalhos da Requisição
Parâmetros da Requisição
O corpo da requisição deve conter um objeto JSON com os seguintes campos:Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedListar Pagamentos
Endpoint
Parâmetros de Consulta
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedListar Faturas
Endpoint
Parâmetros de Consulta
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedBaixar Fatura
Endpoint
Parâmetros de URL
Cabeçalhos da Requisição
Exemplo de Requisição
Resposta de Sucesso
Código: 200 OKRespostas de Erro
Código: 401 UnauthorizedImplementação no Frontend
Componente de Seleção de Plano
Componente de Histórico de Pagamentos
Considerações de Design
A interface de pagamentos e assinaturas do FitLocus segue as diretrizes de design da plataforma:- Cores: Fundo escuro (#202020), elementos de destaque em verde (#B4ED00), texto em branco (#F9F9F9)
- Tipografia: Hanken Grotesk para texto e SUPERINE para títulos
- Layout: Design minimalista com espaçamento generoso e hierarquia clara
- Componentes: Campos de formulário com bordas arredondadas, botões com feedback visual ao interagir
Considerações de Segurança
- PCI Compliance: O sistema utiliza um gateway de pagamento compatível com PCI DSS para processar informações de cartão de crédito.
- Tokenização: Informações de cartão de crédito são tokenizadas e nunca armazenadas diretamente no banco de dados.
- HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS para proteger dados sensíveis durante a transmissão.
- Validação de Dados: Todos os dados de entrada são validados tanto no frontend quanto no backend para prevenir injeção de dados maliciosos.
- Controle de Acesso: Verificações rigorosas garantem que um usuário só possa acessar e modificar seus próprios dados de pagamento e assinatura.
Regras de Negócio
- Período de Teste Gratuito: Novos usuários têm acesso a um período de teste gratuito de 7 dias.
- Renovação Automática: Assinaturas são renovadas automaticamente no final do período, a menos que sejam canceladas.
- Cancelamento: Usuários podem cancelar suas assinaturas a qualquer momento, com opção de cancelamento imediato ou no final do período atual.
- Reembolsos: Reembolsos são processados de acordo com a política de reembolso, geralmente dentro de 5 dias úteis.
- Limites por Plano: Cada plano tem limites específicos de recursos, como número máximo de alunos para personal trainers.