Stripe · Códigos de recusa
O que significa o código de recusa do_not_honor da Stripe?
Verificado em
O código de recusa do_not_honor da Stripe significa que o cartão foi recusado por um motivo desconhecido. O banco do cartão recusou a cobrança e não informou à Stripe o porquê, então a Stripe aconselha o cliente a entrar em contato com o emissor do cartão. O guia da Stripe aponta fraude suspeita, restrições de tipo de cartão e uso transfronteiriço como razões frequentes. O comprador pode ligar para o banco ou usar outro cartão. Tentar novamente o mesmo cartão repetidamente geralmente falha novamente e pode prejudicar sua taxa de recusa com aquele banco.
- Tipo
- Recusa suave (consultar emissor)
- Quem recusou
- O banco do cartão
- Tentar novamente
- No máximo uma vez, após um intervalo ou depois que o cliente entrar em contato com o banco
- Ação do comprador
- Ligue para o banco no número que está no cartão, ou pague de outra forma
- Ação do lojista
- Ofereça outro método de pagamento; evite tentativas repetidas
O que a PlatformDTC faz
No checkout, a PlatformDTC adiciona "Seu banco recusou a cobrança. Tente outro cartão ou entre em contato com seu banco." e, quando a loja escolheu pagamentos com cartão PayPal como backup, oferece tentar o cartão via PayPal. Com o Smart retry ativado, uma renovação recebe uma nova tentativa 48 a 72 horas depois; uma segunda recusa pede ao cliente um novo método de pagamento. Se o código Visa bruto subjacente for 59 (fraude suspeita), ele nunca é retentado.
Por que acontece
Os emissores decidem em seus próprios sistemas usando hábitos de gasto, saldo, dados do cartão e modelos de risco, e muitos simplesmente respondem "do not honor" em vez de dar uma razão. O guia de recusas de cartão da Stripe lista fraude suspeita (grandes compras ou muitas compras em pouco tempo), restrições de tipo de cartão e uso transfronteiriço como razões frequentes para recusas inexplicáveis.
O que o comprador pode fazer
Ligue para o banco no verso do cartão, confirme que a compra é sua e tente novamente. Ou use um cartão diferente, PayPal ou outro método imediatamente.
O que a loja pode fazer
Colete CVC e código postal no checkout, o que a Stripe diz que ajuda a evitar recusas relacionadas a fraude, e considere o 3D Secure. Não faça retentativas em loop no mesmo cartão: a Stripe alerta que os emissores podem interpretar retentativas extras como fraude potencial.
Para desenvolvedores
O `do_not_honor` da Stripe é uma normalização; a resposta real do banco está em `charge.outcome.network_decline_code`. Na Visa, 05 é "Don't honor" (Categoria 4, nova tentativa permitida) enquanto 59 é "Suspected fraud". A Mastercard envia 05 com um Merchant Advice Code; MAC 03 e 21 significam não retentar. Leia também `outcome.advice_code`.
Perguntas frequentes
- É `do_not_honor` uma recusa dura ou suave?
- Geralmente é tratada como suave, porque o cartão não é reportado como inativo. Mas o banco recusou por seu próprio julgamento, então uma retentativa no máximo é sensata; uma segunda recusa significa que o cliente deve usar outro cartão.
- Por que `do_not_honor` acontece quando o cliente tem dinheiro?
- Fundos são apenas um fator. Os bancos também recusam devido a verificações de fraude, restrições de cartão ou atividade incomum, e eles não compartilham o motivo com os comerciantes.
- Posso ver o motivo real por trás de `do_not_honor`?
- Às vezes. O código de rede bruto do banco, mostrado pela Stripe como o código de recusa de rede, pode ser mais específico, por exemplo, Visa 59 para fraude suspeita.
Fontes
- Códigos de recusa da Stripe — Stripe
- Recusas de cartão e retentativas — Stripe
- Códigos de recusa de rede — Stripe
- Visa Core Rules e Visa Product and Service Rules (24 de outubro de 2026), Tabela 7-2 — Visa
- Merchant Advice Codes — Braintree (PayPal)
Relacionado
- generic_decline — Recusado por um motivo desconhecido, ou bloqueado pelo Stripe Radar ou Adaptive Acceptance.
- call_issuer — O banco recusou sem um motivo e quer que o titular do cartão entre em contato com ele.
- card_declined — Código de erro da Stripe para qualquer cartão recusado; o decline_code diz o porquê.
- fraudulent — As verificações de fraude da Stripe suspeitaram que o pagamento era fraudulento e o bloquearam.
- insufficient_funds — O cartão não tem dinheiro ou crédito suficiente para este pagamento.
- do_not_try_again — Código obsoleto: recusado por um motivo desconhecido; não cobre este cartão novamente.
- duplicate_transaction — Um pagamento idêntico no mesmo cartão foi enviado momentos atrás.
- expired_card — O cartão está com a data de validade vencida.