Skip to main content
A Malga padroniza os códigos de erro de todas as APIs e provedores. Assim, você trata uma recusa do mesmo jeito, qualquer que seja o adquirente que processou o pagamento. Esta página mostra onde cada erro aparece e leva você ao catálogo completo de cada API.

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

Monte suas regras com declinedCode, declined_code ou businessCode. O texto de message pode mudar ou ser traduzido.
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.
error e declineReason podem vir ausentes mesmo numa recusa. Use o status da cobrança ou da Purchase para saber o desfecho.
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 de error.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.