2026-09-30
v0.27.0 — Preço mínimo de R$ 5,00
Todo preço que você define precisa ser de pelo menos R$ 5,00. Isso vale para:
Vale no painel e na API. R$ 5,00 é aceito; R$ 4,99 não é. Preço negativo também não passa.
No painel, o aviso "O preço mínimo é R$ 5,00." aparece embaixo do campo de preço, antes de você salvar. Pela API, o pedido volta com status 400 e a mensagem "O preço mínimo de um produto é R$ 5,00.". Para um produto, a mensagem continua com "Use R$ 0,00 para um produto sem preço.".
Pela API, um produto pode ficar sem preço: é só mandar value igual a 0, ou não mandar value nenhum. Ele é criado com R$ 0,00, como antes. Isso serve para quem cobra de outro jeito, como uma plataforma que cria um produto para cada profissional e cobra por cobranças agendadas.
Um produto sem preço não vende pelo link de pagamento: a cobrança de R$ 0,00 é recusada. Para vender pelo link, dê a ele um preço de pelo menos R$ 5,00.
Entre R$ 0,01 e R$ 4,99, o produto é recusado. Oferta e plano de assinatura não têm a opção de ficar sem preço: o preço deles é sempre de pelo menos R$ 5,00.
No painel, o formulário de um produto avulso continua pedindo um preço de pelo menos R$ 5,00.
Nada muda no checkout. Um produto, uma oferta ou um plano que já custa menos de R$ 5,00 continua vendendo pelo mesmo preço, e as vendas feitas continuam como estão.
A regra só aparece quando alguém define um preço. Se você editar um desses produtos no painel, o formulário envia o preço junto, então vai pedir que ele suba para pelo menos R$ 5,00 antes de salvar. Pela API, um pedido que não manda value (por exemplo, só troca o nome ou liga o Pix) passa normalmente e mantém o preço antigo.
Desativar uma oferta antiga pelo menu da oferta também continua funcionando sem mexer no preço.
O preço de um produto de assinatura fica nos planos dele, e é lá que o mínimo vale. O produto em si continua sendo criado sem preço próprio.
Quando o servidor recusava a edição de um produto, o painel mostrava "Produto editado com sucesso!" mesmo assim, e nada era salvo. Agora ele mostra o motivo da recusa.
A documentação de POST /api/v1/subscription-prices dizia que amount era em centavos. Ele sempre foi em reais: 29.90 cria um plano de R$ 29,90. A documentação agora diz isso, e mostra o preço mínimo em todos os campos de preço.