Charges
Cobranças em
/v1/charges: recusas do emissor, validações, antifraude, captura e estorno.Purchases
Purchases com múltiplos cartões em
/v1/purchases: businessCode, recusa por cartão e revisão.Webhooks
Onde está o motivo da recusa em cada evento e como mapear os códigos no seu sistema.
Tabela de declinedCode
Códigos de recusa padronizados, se permitem retentativa e o que orientar ao comprador.
Como identificar o erro
Um mesmo problema pode chegar por caminhos diferentes. Siga o fluxo para saber onde ler o código:Os erros de validação dos dados enviados, como cartão inválido ou campo obrigatório ausente, recusam a requisição antes de criar a cobrança ou a Purchase. Já um erro de servidor (5xx) ou um tempo limite excedido pode acontecer depois que o recurso foi criado. Nesses casos, verifique o estado antes de tentar de novo: consulte a cobrança pelo
orderId ou reenvie a criação da Purchase com a mesma chave de idempotência.Boas práticas
Use o código, não a mensagem
Use o código, não a mensagem
Monte suas regras com
declinedCode, declined_code ou businessCode. O texto de message pode mudar ou ser traduzido.Trate códigos desconhecidos como recusa genérica
Trate códigos desconhecidos como recusa genérica
A Malga pode adicionar códigos novos. Um código que você não conhece, ou uma recusa sem código, deve ser tratado como
generic.Confie no status, não na ausência de erro
Confie no status, não na ausência de erro
error e declineReason podem vir ausentes mesmo numa recusa. Use o status da cobrança ou da Purchase para saber o desfecho.Guarde os identificadores para o suporte
Guarde os identificadores para o suporte
Registre o
id da cobrança ou da Purchase e os campos networkDeniedReason e networkDeniedMessage. Eles agilizam a análise de um caso com o suporte da Malga.Tipos de erro da API de Charges
Resumo dos principais valores deerror.type da API de Charges. A lista completa, com exemplos, está em Charges. A API de Purchases usa outro conjunto de tipos, descrito em Purchases.
Veja como funciona o limite de falhas no estorno.
Consulte a tabela de declinedCode para ver todos os códigos de recusa de
error.declinedCode, se cada um permite nova tentativa e o que orientar ao comprador.