Skip to main content

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çalho Authorization:
Para mais detalhes sobre autenticação, consulte a documentação de autenticação.

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

Este endpoint retorna uma lista de planos de assinatura disponíveis.

Parâmetros de Consulta

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized

Obter Detalhes de um Plano

Endpoint

Este endpoint retorna os detalhes de um plano de assinatura específico.

Parâmetros de URL

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized
Código: 404 Not Found

Obter Assinatura Atual

Endpoint

Este endpoint retorna a assinatura atual do usuário autenticado.

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized
Código: 404 Not Found

Criar Nova Assinatura

Endpoint

Este endpoint permite criar uma nova assinatura.

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 Created

Respostas de Erro

Código: 400 Bad Request
Código: 401 Unauthorized
Código: 404 Not Found
Código: 409 Conflict
Código: 422 Unprocessable Entity

Cancelar Assinatura

Endpoint

Este endpoint permite cancelar uma assinatura existente.

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 OK

Respostas de Erro

Código: 401 Unauthorized
Código: 403 Forbidden
Código: 404 Not Found
Código: 409 Conflict

Listar Pagamentos

Endpoint

Este endpoint retorna uma lista paginada de pagamentos do usuário autenticado.

Parâmetros de Consulta

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized

Listar Faturas

Endpoint

Este endpoint retorna uma lista paginada de faturas do usuário autenticado.

Parâmetros de Consulta

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized

Baixar Fatura

Endpoint

Este endpoint permite baixar uma fatura em formato PDF.

Parâmetros de URL

Cabeçalhos da Requisição

Exemplo de Requisição

Resposta de Sucesso

Código: 200 OK

Respostas de Erro

Código: 401 Unauthorized
Código: 403 Forbidden
Código: 404 Not Found

Implementaçã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
Para mais detalhes sobre o design, consulte as diretrizes de marca.

Considerações de Segurança

  1. PCI Compliance: O sistema utiliza um gateway de pagamento compatível com PCI DSS para processar informações de cartão de crédito.
  2. Tokenização: Informações de cartão de crédito são tokenizadas e nunca armazenadas diretamente no banco de dados.
  3. HTTPS: Todas as comunicações com a API devem ser realizadas através de HTTPS para proteger dados sensíveis durante a transmissão.
  4. 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.
  5. 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

  1. Período de Teste Gratuito: Novos usuários têm acesso a um período de teste gratuito de 7 dias.
  2. Renovação Automática: Assinaturas são renovadas automaticamente no final do período, a menos que sejam canceladas.
  3. Cancelamento: Usuários podem cancelar suas assinaturas a qualquer momento, com opção de cancelamento imediato ou no final do período atual.
  4. Reembolsos: Reembolsos são processados de acordo com a política de reembolso, geralmente dentro de 5 dias úteis.
  5. Limites por Plano: Cada plano tem limites específicos de recursos, como número máximo de alunos para personal trainers.