error e um status HTTP coerente com a falha.
Use
error.code e error.meta.errorCode para decidir o que fazer. Não interprete message.
Códigos HTTP
Violações de regra de negócio são
400 e de schema são 422. Isso importa nas retentativas: um 422 falha sempre com o mesmo payload, enquanto um 400 pode passar quando o estado mudar.
Erros de validação
Falhas de schema retornam422 com o código VALIDATION_FAILED. details agrupa os problemas pela parte da requisição (body, query, params, headers) e cada item traz o caminho do campo.
path é um array e aponta para estruturas aninhadas (por exemplo ["splits", 1, "account"]). Todos os problemas vêm de uma vez.
Erros nos SDKs
O pacote Node.js lançaUpagError com message, code, statusCode, details e meta. O upag-js lança objetos com type (api_error, validation_error, authentication_error, network_error, client_error, three_d_secure_error), além de message, statusCode, code e details.
Node.js SDK
Erros de cartão e 3D Secure
Recusas da adquirente não são erro HTTP: a cobrança volta com
status: "failed" e failureCode. Veja Cobranças.