Skip to main content
Visão geral da capa dos códigos de desconto
Os códigos de desconto permitem executar promoções e incentivos direcionados. Crie descontos baseados em porcentagem, defina limites e datas de expiração, restrinja-os a produtos e aplique-os no checkout.

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
Crie códigos de desconto no seu painel do Dodo Payments e, em seguida, aplique-os no checkout hospedado ou via API.

Configuração do Painel

Lista de descontos no painel do Dodo Payments mostrando códigos de desconto existentes

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, 15 para 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.
O formulário exibe um Resumo atualizado do código que você está criando em um painel lateral. Alterne para Visualização para ver como o desconto aparece no checkout:
Formulário New Discount Code com os painéis laterais Summary e Preview ao lado dos detalhes do desconto
Mais abaixo no formulário — elegibilidade, restrições e opções avançadas:
Elegibilidade, restrições e opções avançadas para um código de desconto
Use limites de ciclo para preços introdutórios em assinaturas (por exemplo, “50% de desconto por 3 meses”).
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.
Editor de código de desconto com o tipo Amount selecionado, exibindo uma dedução fixa de 500 INR

Elegibilidade do cliente

Defina customer_eligibility para controlar quem pode resgatar um código:
Menu suspenso de elegibilidade do cliente exibindo as opções Any, First-time, Existing e Specific customer
Um código specific começa com zero clientes elegíveis e rejeita todos os resgates até que você adicione clientes a ele. Adicione-os no dashboard ou usando a API de clientes de descontos.
Combine a elegibilidade com o Limite de uso por cliente para limitar quantas vezes cada cliente individual pode resgatar o código, independentemente do limite de uso geral.

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_possible na API.
  • Padrão — marque uma moeda como padrão. As moedas não configuradas são convertidas a partir dessa moeda padrão.
Defina o mínimo por moeda separadamente em Exigir um valor mínimo do pedido, em Avançado:
  • Subtotal mínimo — o código só será aplicado quando o carrinho atingir esse subtotal nessa moeda. 0 significa que não há mínimo.
Painel de opções de moeda com valor por moeda e subtotal mínimo para INR e USD
Os descontos do tipo Valor exigem pelo menos uma opção de moeda com um padrão resolvível, pois uma dedução fixa não tem significado sem uma moeda. Os descontos do tipo Porcentagem não exigem opções de moeda.
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.
Página de checkout mostrando um desconto aplicado ao total do pedido
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 array discount_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

Crie códigos de desconto programaticamente com tipo e valor.

API Reference

Consulte a API de criação de descontos.
Liste todos os descontos ou recupere detalhes para gerenciamento e auditoria.

API Reference

Consulte as APIs de listagem e recuperação.
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.
Modifique a configuração do desconto, como valor, expiração ou restrições.

API Reference

Saiba como atualizar os detalhes do desconto.
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.
Desative ou remova descontos que não são mais necessários.

API Reference

Exclua um desconto.
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.
Use metadados para identificar descontos por campanha, origem ou ID de referência interno, permitindo reconciliar o uso e medir o ROI posteriormente.

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.
O parâmetro 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. Defina allow_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.
Última modificação em 26 de setembro de 2026