Не каждая неудачная оплата означает одно и то же.
В процессе разработки быстро становится ясно, что разные ответы API требуют полностью разных стратегий обработки.
Например:
{
"errorCode": "400.002.02",
"errorMessage": "Bad Request - Invalid SecurityCredential"
}
и
{
"status": "failed", "result_code": 8006, "result_description": "Учетные данные безопасности заблокированы."
}
Хотя оба запроса завершаются неудачей, они описывают разные производственные сценарии.
Первое указывает, что запрос не удалось аутентифицировать, потому что предоставленные учетные данные безопасности недействительны. Процесс оплаты никогда не начинается.