Desconto percentual ou valor fixo
Depois do desconto, o total precisa ficar em pelo menos R 0,01 e R$ 0,99 é recusado no checkout.
Como funciona o cupom no checkout
- O cupom só vale onde foi aceito. Envie o código em
couponsao criar o checkout ou o link de pagamento. Semcoupons, o campo de cupom nem aparece para o cliente. Cabem até 50 códigos, e um código que não existe faz a criação falhar comCould not find coupons <código>. - Um cupom por pagamento. O cliente aplica um código de cada vez.
- A validação é na hora de pagar. O cupom precisa estar
ACTIVE, dentro da validade e com usos sobrando. - Cada pagamento conta um uso. O
redeemsCountsobe a cada pagamento feito com o cupom. Num link de pagamento, o cupom vale para cada pagamento do link.
Limite de usos (maxRedeems)
maxRedeems é obrigatório. Use -1 para usos ilimitados ou um inteiro positivo para limitar o total de pagamentos com o cupom. 0 é recusado com maxRedeems must be -1 or a positive integer.
Validade (startsAt e expiresAt)
As duas datas são opcionais. Sem startsAt, o cupom vale assim que é criado. Sem expiresAt, ele não expira.
- Envie data e hora em ISO 8601 com o fuso, por exemplo
2026-12-31T23:59:59-03:00, para o cupom valer até o fim do dia no horário de Brasília. - As duas datas precisam cair a partir do dia seguinte ao da criação, no horário de Brasília.
startsAtnão pode ser depois deexpiresAt.
Status: ativo, desativado e excluído
Para pausar uma promoção, desative. Exclua só o que não vai voltar.
Código repetido devolve o cupom existente
Criar um cupom com umcode que já existe na loja não dá erro: a API responde com o cupom existente e ignora os valores novos. Não há edição de cupom. Para mudar o desconto, o limite ou a validade, crie um cupom com outro código.
Cupom de 100%
Um cupom que zera o valor fecha o checkout sem cobrança:- No Pix, o cliente vai direto para a tela de sucesso. No cartão, ele informa o cartão, mas nada é cobrado.
- O checkout passa a
REDEEMED, e o webhookcheckout.completedchega com esse status eamount: 0. - Num link de pagamento, o link continua
ACTIVEpara os próximos clientes.
Cupom em assinatura
Na assinatura, o cupom só vale quando ela é cobrada só no cartão e o produto não tem período de teste.Sem metadata
Cupom não tem metadata: o campo não é gravado nem volta na resposta. Para uma descrição interna, use notes.
Pelo dashboard
1
Crie o cupom
Vá em Sua Loja → Cupons e clique em Criar cupom. Preencha o Código do Cupom, o Tipo de desconto (Fixo ou Percentual) e o Desconto. No dashboard, o percentual é digitado em porcentagem inteira:
20 = 20%.2
Defina limite e validade
Marque Esse cupom tem número máximo de utilizações para informar o Número máximo de utilizações. Marque Esse cupom tem prazo de validade para informar a Data de início (opcional) e o Fim. Clique em Criar cupom.
3
Aceite o cupom na cobrança
Ao criar um link em Sua Loja → Links de pagamento ou um checkout em Sua Loja → Cobranças, escolha os cupons em Cupons (opcional). Num link que já existe, use Editar cupons na página do link.
Pela API
1
Crie o cupom
Use uma chave de API com a permissão O
COUPON:CREATE.Resposta
id do cupom é o próprio código. É ele que você usa para buscar, alternar o status e excluir.2
Aceite o cupom no checkout
Criar um cupom
POST /coupons/createListar cupons
GET /coupons/listBuscar um cupom
GET /coupons/getAlternar status
POST /coupons/toggleExcluir um cupom
POST /coupons/deleteMensagens no checkout
Quando o cliente aplica um código que não pode ser usado, o checkout mostra uma destas mensagens:Testar no Modo Teste
Cupons criados no Modo Teste só valem em checkouts de teste. Crie o cupom e um checkout com ele emcoupons, abra o checkout e aplique o código antes de clicar em Simular Pagamento.
Perguntas frequentes
O cliente pode usar dois cupons na mesma compra?
O cliente pode usar dois cupons na mesma compra?
Não. Cada pagamento aceita um cupom.
Por que o cupom esgotou antes de chegar no limite?
Por que o cupom esgotou antes de chegar no limite?
Quando o cliente gera a cobrança com o cupom, o uso fica reservado, e os usos reservados contam para o
maxRedeems. Se o cliente não pagar, a reserva expira em 30 minutos e a vaga volta.Criei o cupom, mas o campo não aparece no checkout. Por quê?
Criei o cupom, mas o campo não aparece no checkout. Por quê?
O checkout foi criado sem o código em
coupons. O cupom só aparece nos checkouts e links que aceitam ele.Posso editar um cupom?
Posso editar um cupom?
Não. Você pode desativar, reativar ou excluir. Para outro desconto, outro limite ou outra validade, crie um cupom com um novo código.
Um cupom de 100% gera cobrança?
Um cupom de 100% gera cobrança?
Não. O checkout fecha com
status: "REDEEMED" e amount: 0, e você recebe o checkout.completed do mesmo jeito.