Nem todo pagamento falhado significa a mesma coisa.
Durante o desenvolvimento, fica rapidamente claro que diferentes respostas de API exigem estratégias de tratamento completamente diferentes.
Por exemplo:
{
"errorCode": "400.002.02",
"errorMessage": "Bad Request - Invalid SecurityCredential"
}
e
{
"status": "failed", "result_code": 8006, "result_description": "A credencial de segurança está bloqueada."
}
Embora ambas as solicitações falhem, elas representam cenários de produção diferentes.
O primeiro indica que a solicitação não pôde ser autenticada porque a SecurityCredential fornecida é inválida. O fluxo de pagamento nunca começa.