
Sessões de Checkout
Aplique códigos durante o checkout hospedado com
discount_code e controles de UI.Get Discount
Recupere um desconto pelo ID para consultar seu status e suas restrições.
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: Os códigos de desconto são tokens promocionais que reduzem o total do pedido no checkout. Use-os em campanhas sazonais, incentivos para a primeira compra, ofertas de reconquista ou preços B2B negociados. Os códigos podem ser baseados em porcentagem (por exemplo, 15% de desconto) ou em valor fixo (por exemplo, $5 de desconto). Você pode combinar até 20 códigos por checkout, pagamento ou assinatura, permitindo que o cliente resgate uma oferta de boas-vindas e um código de campanha na mesma transação. Restrinja os códigos a produtos específicos, limite quantas vezes cada cliente pode usá-los, defina datas de expiração e controle quem pode resgatá-los.- 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
- 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 para uso
- Preços por moeda: Defina a dedução fixa, o limite do valor e o subtotal mínimo por moeda
Configuração do Painel

Configuração no Dashboard
- Nome do desconto (obrigatório): Rótulo interno para o Dashboard.
- Código (obrigatório): A sequência que os clientes inserem no checkout. Gere um código aleatório ou insira o seu próprio (mínimo de 3 caracteres, convertido automaticamente para letras maiúsculas).
- Tipo (obrigatório): Porcentagem (um percentual de desconto) ou Valor (uma dedução fixa).
- Valor (obrigatório): Para porcentagem, o percentual de desconto no Dashboard (por exemplo,
15para 15%). Pela API, o mesmo valor é informado em pontos-base (1500). Para valor, a dedução fixa na moeda padrão do código. - Data de início (opcional): Programe o código para ser ativado em uma data futura. Deixe em branco para ativá-lo imediatamente.
- Data de expiração (opcional): Data após a qual o código não poderá mais ser resgatado.
- Limite de uso (opcional, em Avançado): Número máximo total de resgates entre todos os clientes.
- Limite de uso por cliente (opcional, em Avançado): Número 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 — todos os clientes, clientes de primeira compra, clientes existentes ou uma lista selecionada manualmente.
- Opções de moeda (opcional): O valor do desconto para cada moeda em que você vende. Consulte Opções por moeda.
- Restrição de produto (opcional): Limite o código a produtos específicos.
- Limite de ciclos da assinatura (opcional, em Avançado): Número de ciclos de cobrança aos quais o desconto se aplica. Deixe em branco para aplicação indefinida.
- Preservar na alteração do plano (opcional): Mantenha o desconto ativo quando uma assinatura mudar de plano (
preserve_on_plan_change). - Metadados (opcional): Anexe pares chave–valor personalizados para controle interno.
- Exigir um valor mínimo do pedido (opcional, em Avançado): Subtotal mínimo do carrinho (por moeda) para que o código seja aplicado.


Um
amount percentual é expresso em basis points na API — 1500 significa 15%. Um amount fixo é um valor monetário e é denominado 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
Quando você vende em várias moedas, defina o comportamento por moeda para cada código. Em Opções de moeda, cada entrada especifica:- Valor — para um desconto do tipo Valor, a dedução fixa nessa moeda; para um desconto do tipo Porcentagem, o limite máximo do desconto. Corresponde a
max_amount_possiblena API. - Padrão — marque uma moeda como padrão. As moedas não configuradas são convertidas a partir dessa moeda padrão.
- Subtotal mínimo — o código só será aplicado quando o carrinho atingir esse subtotal nessa moeda.
0significa que não há mínimo.

O subtotal mínimo é sempre medido com base nos preços originais do carrinho, não no total atualizado após descontos anteriores na combinação. A ordem de combinação nunca altera se um mínimo foi atingido.
Experiência de checkout
Os clientes inserem códigos de desconto no campo do checkout. Os códigos elegíveis são aplicados imediatamente e os totais são atualizados.
Em Checkout Sessions, informe
discount_codes (um array) para pré-aplicar um ou mais códigos. O campo de entrada de desconto é exibido por padrão. Defina feature_flags.allow_discount_code como false para ocultá-lo. Os códigos são aplicados na ordem do array, até o máximo de 20.Combinação de códigos de desconto
Checkout sessions, pagamentos e assinaturas aceitam até 20 códigos combinados por meio do arraydiscount_codes. Os códigos são aplicados na ordem do array: o primeiro código elegível reduz o preço inicial, o próximo reduz o preço já com desconto e assim por diante. Quando a Paridade do Poder de Compra está ativada, o preço inicial é o valor ajustado por PPP. A resposta inclui discount_ids (em pagamentos/assinaturas) e discounts (detalhes mais completos por desconto, incluindo a posição e os ciclos restantes da assinatura).
O campo singular
discount_code está obsoleto, mas é totalmente compatível para garantir compatibilidade retroativa. Ele não pode ser combinado com discount_codes na mesma solicitação. Migre para discount_codes (o formato de array) para aproveitar a combinação e a resposta mais completa.Em um preço de assinatura com Card-Optional at Zero Price ativado, uma combinação de códigos que reduza o valor devido hoje até
0 também dispensa a exigência de cartão — o cliente conclui o checkout sem um método de pagamento registrado, da mesma forma que em um preço nativo 0.Gerenciamento pela API
Create discounts
Create discounts
Crie códigos de desconto programaticamente com tipo e valor.
API Reference
Consulte 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
Consulte um desconto usando seu código legível por humanos (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.
Retrieve a discount
Retrieve a discount
Recupere um desconto pelo ID para consultar seu status, contagem de usos e restrições antes de aplicá-lo.
API Reference
Obtenha um desconto pelo ID.
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 associados (paginados, até 100 por página).POST /discounts/{discount_id}/customers— associe clientes por ID. A chamada é idempotente e aceita até 1.000 IDs, todos os quais já devem existir na sua empresa. A resposta retorna apenas os IDs enviados nessa solicitação; portanto, liste o endpoint para ler a allow list completa.DELETE /discounts/{discount_id}/customers/{customer_id}— desassocie um único cliente.
Casos de uso comuns
- Ofertas introdutórias: promoções de lançamento por tempo limitado para novos produtos
- Volume ou B2B: descontos contratados para conjuntos de produtos selecionados
- Ações 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 metadados
Anexe pares chave–valor personalizados para controle interno.Aplicar descontos em Checkout Sessions
Pré-aplique um ou mais descontos combinados e exiba a interface 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.discount_codes controla como os descontos são tratados:
Leia todos os descontos aplicados no array
discounts da assinatura na resposta. Cada entrada inclui discount_id, position, cycles_remaining e o código original.Ocultar o campo do código de desconto
A entrada de desconto é exibida por padrão. Definaallow_discount_code como false para ocultá-la.
Práticas recomendadas
- Dê nomes claros: Use códigos reconhecíveis que correspondam aos nomes das campanhas.
- Defina um prazo: 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.