error_code padronizado e uma mensagem error_message legível. Este guia mostra como ler esses campos, decidir se deve tentar novamente e recuperar o pagamento com segurança.
Como o Dodo Payments Relata uma Falha
Todo pagamento com falha contém estes campos no objeto de pagamento:error_code e error_message são null até que um pagamento falhe. Sempre verifique status primeiro.O webhook payment.failed
O webhook payment.failed é a maneira mais confiável de detectar uma falha. O evento encapsula o objeto de pagamento completo em data:
payment.failed payload
error_code e direciona o fluxo com base nele:
Decida se deve tentar novamente: recusas temporárias vs. permanentes
Oerror_code informa se vale a pena tentar novamente com o mesmo método de pagamento.
Consulte Transaction Failures para ver a lista completa de tipos de recusa e ações recomendadas.
Como lidar com falhas no checkout e na renovação
A forma de recuperação depende de o cliente estar presente.- At checkout (customer present)
- On subscription renewal (customer not present)
O cliente está finalizando a compra. Exiba uma mensagem clara e permita que ele tente novamente ou use outro cartão.
requires_payment_method— o cliente nunca forneceu um método de pagamento. Geralmente isso indica abandono durante o checkout, não uma recusa. Incentive o cliente a concluir o pagamento (consulte Recuperação de carrinho abandonado).requires_customer_action— é necessária autenticação adicional (como 3DS). Peça ao cliente que a conclua. Consulte 3D Secure.
Tentar novamente um pagamento com falha
Assinaturas: ative Subscription Payment Retries para recuperar recusas temporárias automaticamente. Para tentar novamente imediatamente, em vez de aguardar o agendamento, use Manual Payment Retry no dashboard ou na API. Você também pode iniciar a recuperação fazendo com que o cliente atualize o método de pagamento pela Update Payment Method API, que cobra quaisquer valores pendentes. Pagamentos avulsos: reenvie o checkout oupayment_link para que o cliente possa tentar novamente com um método diferente. Não há novas tentativas automáticas para pagamentos avulsos.
Exibir erros aos clientes com segurança
Mostre uma mensagem amigável aos clientes, nunca oerror_code bruto nem o error_message voltado ao comerciante.
Nas interfaces controladas pelo Dodo Payments (checkout, Customer Portal, e-mails de cobrança), esse mapeamento já é feito para você, incluindo o fallback para uma mensagem genérica em recusas relacionadas a fraude. Você só precisa usar o mapeamento abaixo quando exibir falhas no seu próprio produto.
Customer-facing messaging
Relacionados
Transaction Failures
Cada código de recusa, seu tipo e a ação recomendada.
Error Codes
Erros de API e de lógica de negócio que não são recusas de cartão.
Subscription Payment Retries
Recuperação automática de recusas temporárias em renovações de assinaturas.
Subscription Dunning
Sequências de e-mails que recuperam recusas permanentes.
Payment Webhooks
Esquema completo do payload para eventos de pagamento.
Testing Failures
Cartões de teste que simulam recusas e falhas de renovação.