Pular para o conteúdo principal

Cupons

Cupons são códigos promocionais que os clientes podem resgatar para obter descontos em compras e faturas.

Campos do Cupom

CampoDescrição
CódigoCódigo único, armazenado em maiúsculas
NomeNome interno do cupom
DescriçãoDetalhes da promoção
Tipo de descontopercentage (percentual) ou fixed_amount (valor fixo)
Valor do descontoPercentual ou valor em subcents
MoedaPadr��o: BRL
Compra mínimaValor mínimo do pedido para usar o cupom
Desconto máximoTeto do desconto (para cupons percentuais)
Limite de uso totalMáximo de resgates permitidos
Limite por clienteMáximo de resgates por conta de cobrança
Válido de / atéPeríodo de validade
Aplica-se aPlanos e/ou produtos específicos (JSON)
ExcluiPlanos e/ou produtos excluídos (JSON)
AtivoSe o cupom está habilitado

Validação de Cupom

Ao validar um cupom, o sistema verifica:

  1. O cupom existe e o código confere
  2. O cupom está ativo (isActive = true)
  3. Está dentro do período de validade
  4. O limite de uso total não foi atingido
  5. O limite de uso por cliente não foi atingido
  6. A compra atinge o valor mínimo

Cálculo do Desconto

Se percentual: desconto = subtotal × percentual / 100
Se fixo: desconto = valor_do_desconto

Aplica teto: desconto = min(desconto, maxDiscountCents)
Não excede subtotal: desconto = min(desconto, subtotal)

Resgatando um Cupom

Ao aplicar um cupom:

  1. Valida todas as condições
  2. Cria um registro de CouponRedemption com o valor do desconto
  3. Incrementa o contador de uso do cupom
  4. Retorna o resgate com o valor descontado

O processo é atômico (transação) para prevenir condições de corrida.

Operações

  • Ativar/Desativar: Controla se o cupom pode ser validado
  • Deletar: Apenas se nunca utilizado (nenhum resgate registrado)
  • Atualizar: Código, nome, limites, datas e valores editáveis

Relatório de Resgates

Para cada cupom, o sistema rastreia:

  • Quem resgatou (conta de cobrança)
  • Quando resgatou
  • Valor do desconto aplicado
  • Fatura associada (opcional)

Captura de tela

A tela /dashboard/coupons lista todos os cupons da organização, com código, tipo de desconto, valor, validade, número de resgates e status. A interface permite criar cupons percentuais ou de valor fixo, com limite total e por cliente.

Lista de cupons com tipo de desconto, validade e resgates