Skip to main content
Modelo licensed (Stripe)A Chargefy segue o padrão da Stripe: um price tem valor unitário fixo, e a multiplicação por quantidade acontece no checkout (campo quantity) e na assinatura (subscription_product_prices.quantity). Isso cobre o caso “por assento” sem precisar de um tipo especial de preço.

Visão Geral

No modelo licensed + quantity, cada price tem um unit_amount estável, e o total da cobrança é unit_amount × quantity. Conforme o cliente adiciona ou remove assentos, o quantity da assinatura é atualizado — o unit_amount do price nunca muda.

Vantagens do modelo

Modelagem no banco

A Price é criada uma vez com o valor por assento. Todos os checkouts e assinaturas reusam essa mesma price; o que varia é o quantity.

Criar produto com preço por assento

Criar checkout com quantidade

No corpo do checkout (hosted ou programático), informe quantity junto com o product_price_id:

Atualizar assinatura (aumentar/reduzir assentos)

Boas práticas

  • Valide o quantity no backend antes de processar pagamentos — números negativos ou 0 devem rejeitar.
  • Não edite unit_amount pra representar outra faixa — crie um novo price (ex: price_team_starter_5 vs price_team_pro_50) e migre a assinatura se necessário.
  • Proration de mudanças de quantity é política da plataforma; a Chargefy recalcula unit_amount × quantity no próximo ciclo por padrão.
  • Quantidade em faturas/comprovantes: o quantity é persistido em subscription_product_prices e usado pra calcular cada fatura.

Diferença vs “seat-based” legado

A Chargefy não tem mais um amount_type='seat_based' ou flag is_seat_based. O modelo Stripe-licensed + quantity substitui integralmente essa categoria. Qualquer produto que você queira comercializar “por assento” vira simplesmente:
  • Um price com type='recurring'
  • Um cliente chama o checkout com quantity
Nenhuma configuração especial em nível de produto.