
Sessões de Checkout
Aplique códigos durante o checkout hospedado com
discount_code e controles de UI.Validar Desconto
Verifique se um desconto é válido pelo seu ID.
Obter Desconto pelo Código
Procure e valide um desconto usando seu código (por exemplo, “SAVE20”).
Criar Desconto (API)
Crie códigos de desconto novos programaticamente.
Listar & Atualizar Descontos
Navegue e gerencie descontos existentes; atualize ou exclua conforme necessário.
O que são Códigos de Desconto?
Códigos de desconto são tokens promocionais que reduzem os totais de pedidos no checkout. Eles são ideais para:- Campanhas sazonais: Black Friday, lançamentos de produtos ou aniversários
- Ofertas de aquisição: Incentivos para primeira compra ou recompensas de indicação
- Retenção: Recompensas de recuperação ou fidelidade para clientes existentes
- Negócios B2B: Preços contratados ou negociados via códigos privados
Principais Benefícios
- Descontos flexíveis: Percentual ou valor fixo de desconto
- Controle direcionado: Restringir por produto e ciclos de assinatura
- Governança de campanha: Datas de expiração e limites de uso
- Checkout sem interrupções: Suporte a campo de UI e API via sessões de checkout
- Descontos flexíveis: Descontos baseados em porcentagem ou em valor fixo
-
Códigos combináveis: Aplique até 20 códigos por checkout, pagamento ou assinatura — combine campanhas (por exemplo,
WELCOME10+BLACKFRIDAY20) sem criar códigos personalizados - Controle direcionado: Restrinja por produto, ciclos de assinatura e elegibilidade do cliente
- Governança de campanhas: Datas de início programadas, datas de expiração e limites gerais e por cliente de uso
- Preços por moeda: Defina a dedução fixa, o limite máximo e o subtotal mínimo por moeda
- Checkout integrado: Suporte a campo de UI e API por meio de sessões de checkout
Configuração do Painel

Configuração no painel
- Nome do desconto (obrigatório): Nome interno e nome exibido no painel
- Código (obrigatório): A sequência que os clientes inserem no checkout ou um código aleatório gerado usando o botão fornecido
- Tipo (obrigatório): Escolha Porcentagem (um percentual de desconto) ou Valor (uma dedução fixa)
- Valor (obrigatório): O valor percentual ou o valor fixo de um desconto do tipo Valor
- Data de início (opcional): Programe o código para se tornar ativo posteriormente; deixe vazio para ativá-lo imediatamente
- Data de expiração (opcional): Data após a qual o código se torna inválido
- Limite de uso (opcional): Máximo de resgates no total entre todos os clientes
- Limite de uso por cliente (opcional): Máximo de resgates por qualquer cliente individual. Deve ser menor ou igual ao limite geral de uso quando ambos forem definidos
- Elegibilidade do cliente (opcional): Restrinja quem pode resgatar o código — todos os clientes, clientes de primeira compra, clientes existentes ou uma lista selecionada manualmente
- Opções de moeda (opcional): Valores por moeda — consulte Opções por moeda
- Restrição de produto (opcional): Limite a aplicabilidade a produtos selecionados
- Limite do ciclo de assinatura (opcional): Número de ciclos de cobrança aos quais o desconto se aplica
- Preservar na alteração do plano (opcional): Mantenha o desconto ativo quando o plano da assinatura mudar (
preserve_on_plan_change) - Metadata (opcional): Anexe pares personalizados de chave–valor para acompanhamento interno ou integrações



Uma
amount percentual é expressa em basis points na API — 1500 significa 15%. Uma amount fixa é um valor monetário e é denominada pelas opções de moeda do código.Tipos de desconto
Ambos os tipos podem ser combinados no mesmo array
discount_codes e são aplicados na ordem do array.

Elegibilidade do cliente
Definacustomer_eligibility para controlar quem pode resgatar um código:

Opções por moeda
As opções de moeda permitem que um único código funcione corretamente em todas as moedas nas quais você vende. Cada entrada define, para uma única moeda:- Valor — para um desconto do tipo Valor, esta é a própria dedução; para um desconto do tipo Porcentagem, limita quanto o código pode descontar. Corresponde a
max_amount_possiblena API. - Subtotal mínimo — o código só se aplica quando o carrinho atinge esse subtotal.
0significa que não há mínimo. - Padrão — uma entrada pode ser marcada como padrão, para que outras moedas não configuradas sejam convertidas a partir dela.

O subtotal mínimo é sempre medido com base nos preços originais do carrinho, nunca no total parcial durante uma combinação. Portanto, a ordem de combinação nunca altera se um mínimo foi atingido.
Experiência de checkout
- Os compradores inserem o código no campo de checkout.
- Os descontos elegíveis são aplicados e os totais são atualizados imediatamente.

Em Checkout Sessions, passe
discount_codes (um array) para pré-aplicar um ou mais códigos. O campo de entrada de desconto é exibido por padrão — feature_flags.allow_discount_code usa true como padrão; portanto, defina-o como false somente se quiser ocultá-lo. Os códigos são aplicados na ordem do array, até um máximo de 20.Combinação de códigos de desconto
As sessões de checkout, os pagamentos e as assinaturas aceitam até 20 códigos combinados por meio do arraydiscount_codes (máximo de 20 entradas). Os códigos são aplicados na ordem do array: o primeiro código elegível reduz primeiro o preço-base, o próximo reduz o preço já descontado e assim por diante. O conjunto completo de descontos aplicados é retornado na resposta em discount_ids (em pagamentos/assinaturas) e discounts (detalhes mais completos por desconto, incluindo posição e ciclos restantes da assinatura).
O campo singular
discount_code está obsoleto, mas ainda é totalmente compatível para manter a compatibilidade retroativa — as integrações existentes continuam funcionando sem alterações. Ele não pode ser combinado com discount_codes na mesma solicitação. Recomendamos migrar para discount_codes (o formato de array) quando for conveniente, mesmo para códigos únicos, para aproveitar a combinação e o formato de resposta mais completo.Gerenciamento pela API
Create discounts
Create discounts
Crie códigos de desconto programaticamente com tipo e valor.
API Reference
Veja a API de criação de descontos.
List and retrieve
List and retrieve
Liste todos os descontos ou recupere detalhes para gerenciamento e auditoria.
API Reference
Consulte as APIs de listagem e recuperação.
Get discount by code
Get discount by code
Pesquise um desconto usando seu código legível (por exemplo, “SAVE20”), em vez do ID interno.
API Reference
Recupere o desconto pelo nome do código.
Update discounts
Update discounts
Modifique a configuração do desconto, como valor, expiração ou restrições.
API Reference
Saiba como atualizar os detalhes do desconto.
Validate discounts
Validate discounts
Verifique se um desconto é válido e aplicável antes de aplicá-lo.
API Reference
Valide o uso do desconto.
Delete discounts
Delete discounts
Desative ou remova descontos que não são mais necessários.
API Reference
Exclua um desconto.
Manage the customer allow list
Manage the customer allow list
Para um desconto com
customer_eligibility definido como specific, gerencie os clientes que podem resgatá-lo:GET /discounts/{discount_id}/customers— liste os clientes anexados (paginados, até 100 por página).POST /discounts/{discount_id}/customers— anexe clientes por ID. A chamada é idempotente e aceita até 1000 IDs, que devem existir previamente na sua empresa. A resposta retorna apenas os IDs enviados nessa solicitação; portanto, liste o endpoint para ler a lista completa de permissões.DELETE /discounts/{discount_id}/customers/{customer_id}— desanexe um único cliente.
Casos de uso comuns
- Ofertas introdutórias: Promoções de lançamento por tempo limitado para novos produtos
- Vendas em volume ou B2B: Descontos contratados para conjuntos de produtos selecionados
- Estratégias de retenção: Códigos de recuperação em fluxos de prevenção de churn
- Campanhas sazonais: Promoções baseadas em feriados ou eventos
Exemplos de integração
Criar um desconto com metadata
Anexe pares personalizados de chave–valor para acompanhamento interno.Aplicar descontos em Checkout Sessions
Pré-aplique um ou mais descontos combinados e exiba a UI de entrada do código.Aplicar descontos durante alterações de plano
Ofereça preços promocionais quando os clientes fizerem upgrade ou downgrade da assinatura.Leia todos os descontos aplicados na assinatura por meio do novo array
discounts na resposta da assinatura. Cada entrada inclui discount_id, position, cycles_remaining (para assinaturas) e o código original.Ocultar o campo de código de desconto
A entrada de desconto é exibida por padrão, para que os clientes sempre possam inserir um código sem que você precise passar um antecipadamente. Definaallow_discount_code como false para ocultar o campo completamente.
Práticas recomendadas
- Nomeie claramente: Use códigos reconhecíveis que correspondam aos nomes das campanhas
- Defina um período: Adicione datas de expiração para criar urgência e evitar uso indevido
- Defina o escopo com cuidado: Limite a produtos específicos para evitar perda de margem
- Valide antecipadamente: Verifique a aplicabilidade do código antes de confirmar o checkout
- Monitore o impacto: Acompanhe o uso e a conversão por campanha
Os códigos de desconto são ferramentas poderosas para aquisição e retenção. Comece com ofertas simples e bem nomeadas, valide-as cuidadosamente e faça iterações com base no desempenho.