Skip to main content
Um discount define a regra econômica: percentual ou valor fixo, duração, validade, limite de resgates e escopo de produtos. Ele não precisa ter código público. Para permitir que compradores digitem um cupom no checkout, crie um discount_code apontando para o desconto. Aplicações concretas são registradas internamente como redemptions, com snapshot da regra e do código no momento da cobrança.

Data Object

{
  "id": "disc_123",
  "object": "discount",
  "amount_off": null,
  "applies_to": {
    "products": [
      "prod_123"
    ]
  },
  "created_at": "2026-05-21T12:00:00Z",
  "currency": null,
  "duration": "once",
  "duration_in_months": null,
  "expires_at": "2026-06-01T00:00:00Z",
  "is_active": true,
  "livemode": true,
  "max_redemptions": 500,
  "metadata": {},
  "name": "Black Friday 20%",
  "percent_off_basis_points": 2000,
  "redemptions_count": 0,
  "starts_at": null,
  "type": "percentage",
  "updated_at": null,
  "valid": true
}
id
string
Identificador do desconto. Usa o prefixo disc_*.
object
string
Sempre "discount".
amount_off
integer | null
Valor fixo do desconto, em centavos. Vem null quando type é percentage.
applies_to
object
Escopo de produtos onde o desconto pode ser aplicado.
created_at
string
Data de criação em ISO 8601.
currency
string | null
Moeda do valor fixo em código de 3 letras minúsculas, como brl. Vem null quando type é percentage.
duration
string
Duração do desconto: once, repeating ou forever.
duration_in_months
integer | null
Quantidade de meses quando duration é repeating.
expires_at
string | null
Data de expiração em ISO 8601. Vem null quando não há expiração.
is_active
boolean
true quando o desconto pode ser usado em novas compras.
livemode
boolean
true em produção; false em ambiente de teste.
max_redemptions
integer | null
Limite total de aplicações do desconto. Vem null quando não há limite.
metadata
object
Objeto livre para correlacionar o desconto com o seu sistema. Quando vazio, retorna {}.
name
string | null
Nome público ou interno do desconto.
percent_off_basis_points
integer | null
Percentual do desconto em basis points. Vem null quando type é fixed_amount.
redemptions_count
integer
Quantidade de vezes em que o desconto já foi aplicado.
starts_at
string | null
Data inicial de validade em ISO 8601. Vem null quando o desconto já pode ser usado.
type
string
Tipo econômico do desconto: percentage ou fixed_amount.
updated_at
string | null
Data da última atualização em ISO 8601.
valid
boolean
true quando o desconto está ativo, dentro da janela de validade e abaixo do limite de uso.

Operações