Visão Geral
A API de Pagamentos Dodo fornece razões detalhadas para falhas de transação para ajudá-lo a entender por que uma tentativa de pagamento foi malsucedida. Essas razões de falha são padronizadas entre diferentes métodos de pagamento e provedores, facilitando a implementação de um tratamento de erros consistente em sua aplicação. Cada resposta de falha de transação inclui:- Um código de razão de falha específico
- Uma mensagem de erro legível por humanos
- Contexto adicional sobre a falha quando disponível
- Se o erro pode ser corrigido pelo usuário ou requer intervenção do sistema
- Fornecer feedback claro aos seus clientes
- Implementar uma lógica de re-tentativa apropriada
- Lidar com diferentes cenários de falha de forma elegante
- Manter um sistema de processamento de pagamentos confiável
Razões para Falhas de Transação
A tabela a seguir lista todas as possíveis razões para falhas de transação, seus significados e se são erros corrigíveis pelo usuário.| Código de Falha | Erro do Usuário | Descrição |
|---|---|---|
AUTHENTICATION_FAILURE | Sim | O processo de autenticação falhou durante a transação |
AUTHENTICATION_REQUIRED | Sim | Autenticação adicional é necessária para concluir a transação |
AUTHENTICATION_TIMEOUT | Sim | O processo de autenticação expirou |
CARD_DECLINED | Não | O cartão foi recusado pelo banco emissor |
CARD_NOT_ACTIVATED | Sim | O cartão não foi ativado pelo titular do cartão |
CARD_VELOCITY_EXCEEDED | Sim | Muitas transações foram tentadas em um curto período |
CUSTOMER_CANCELLED | Sim | O cliente cancelou a transação |
DO_NOT_HONOR | Não | O banco emissor recusou a transação |
EXPIRED_CARD | Sim | O cartão expirou |
FRAUDULENT | Sim | A transação foi sinalizada como potencialmente fraudulenta |
GENERIC_DECLINE | Não | A transação foi recusada por um motivo não especificado |
INCORRECT_CVC | Sim | O código CVC fornecido estava incorreto |
INCORRECT_NUMBER | Sim | O número do cartão foi inserido incorretamente |
INSUFFICIENT_FUNDS | Sim | A conta não possui fundos suficientes para concluir a transação |
INVALID_ACCOUNT | Sim | Os detalhes da conta fornecidos são inválidos |
INVALID_AMOUNT | Sim | O valor da transação é inválido |
INVALID_CARD_NUMBER | Sim | O formato do número do cartão é inválido |
INVALID_CARD_OWNER | Sim | As informações do proprietário do cartão são inválidas |
INVALID_CVC | Sim | O formato do CVC é inválido |
INVALID_EXPIRY_YEAR | Sim | O ano de validade do cartão é inválido |
INVALID_PIN | Sim | O PIN fornecido está incorreto |
INVALID_REQUEST | Sim | A solicitação de transação contém dados inválidos |
INVALID_UPI_ID | Sim | O ID UPI fornecido é inválido |
LIMIT_EXCEEDED | Sim | A transação excede o limite do cartão ou da conta |
LIVE_MODE_TEST_CARD | Sim | Um cartão de teste foi usado em modo ao vivo |
LOST_CARD | Sim | O cartão foi relatado como perdido |
MANDATE_INVALID | Sim | O mandato de pagamento é inválido |
MANDATE_REQUIRED | Sim | Um mandato é necessário para esta transação |
MANDATE_REQUIRED_SYSTEM | Não | O sistema requer um mandato para este tipo de transação |
NETWORK_ERROR | Não | Ocorreu um erro de rede durante a transação |
NETWORK_TIMEOUT | Não | A solicitação de rede expirou |
ORDER_CREATION_FAILED | Não | Falha ao criar o pedido para a transação |
PAYMENT_METHOD_PROVIDER_DECLINED | Sim | O provedor do método de pagamento recusou a transação |
PAYMENT_METHOD_UNSUPPORTED | Sim | O método de pagamento não é suportado para esta transação |
PICKUP_CARD | Sim | O cartão foi relatado como roubado e deve ser retido |
PROCESSING_ERROR | Não | Ocorreu um erro ao processar a transação |
PROVIDER_UNSUPPORTED | Não | O provedor de pagamento não suporta este tipo de transação |
REENTER_TRANSACTION | Sim | A transação precisa ser reintroduzida |
REVOCATION_OF_AUTHORIZATION | Sim | A autorização para a transação foi revogada |
STOLEN_CARD | Sim | O cartão foi relatado como roubado |
TRANSACTION_NOT_ALLOWED | Sim | A transação não é permitida para este cartão ou conta |
TRANSACTION_NOT_APPROVED | Sim | A transação não foi aprovada |
TRY_AGAIN_LATER | Não | A transação deve ser tentada novamente mais tarde |
UNKNOWN_ERROR | Não | Ocorreu um erro desconhecido |
Erro do Usuário indica se a recusa do pagamento pode ser resolvida pelo cliente. Quando
true, o cliente pode tomar medidas para corrigir o problema (por exemplo, inserindo os detalhes corretos do cartão). Quando false, a recusa se deve a problemas de nível de sistema ou restrições bancárias que não podem ser resolvidas pelo cliente.