Skip to main content
Cria um recurso price para um product existente. Campos de valor são imutáveis depois da criação: para mudar currency, unit_amount, type, recurring ou product_id, crie outro preço e desative o antigo. Obrigatórios: product_id, currency e unit_amount (inteiro 0 ou ≥ 500). Com type: "recurring", recurring.interval também é obrigatório. Todo o resto tem padrão. Use metadata para correlacionar o preço com IDs do seu sistema. Qualquer chave funciona; o objeto inteiro é retornado em todos os webhooks.

Autenticação

A API key da própria organização atua diretamente. A API key de plataforma exige o header Organization: <organization_id> apontando para uma organização conectada ativa dessa plataforma.

Attributes

string
required
Código ISO 4217 em minúsculas. Ex.: brl, usd.
object
Obrigatório quando type é recurring. Enviar recurring com type: "one_time" retorna erro 400.
boolean
default:"true"
Se o preço fica disponível para novas vendas. Padrão: true.
object
Objeto livre string → string. Padrão {}.
string
Rótulo interno do preço (ex.: "Mensal", "Anual"). Envie null para deixar vazio.
string
required
ID do produto (prod_*) dono do preço.
boolean
default:"false"
Quando true, atualiza product.default_price para apontar para este preço imediatamente após a criação. Padrão: false.
string
default:"unspecified"
Como o imposto se relaciona ao valor. Padrão: unspecified.
string
default:"one_time"
Forma de cobrança do preço. Padrão: one_time.
integer
required
Valor unitário em minor units (centavos). 0 é válido para one_time e recurring (preço gratuito). Valor positivo tem mínimo 500 (R$ 5,00) — entre 1 e 499 retorna 400 com code: "amount_too_small".

O que a Chargefy resolve sozinha

  • type — sem valor explícito, o preço nasce one_time.
  • recurring.interval_count — sem valor explícito, 1.
  • is_active — o preço nasce ativo.
  • tax_behavior — sem valor explícito, unspecified.
  • metadata — sem valor explícito, {}.
  • livemode — herdado do produto dono.
  • set_as_default — com true, o default_price do produto passa a apontar para o preço recém-criado.

Resposta

200 OK com o objeto price completo. Todo campo declarado pelo DTO público é sempre retornado; vazio é null ou {}.

Erros comuns

Webhook

A criação dispara price.created com o price completo em data.object.