Tidak setiap pembayaran yang gagal berarti hal yang sama.
Selama pengembangan, dengan cepat menjadi jelas bahwa respons API yang berbeda memerlukan strategi penanganan yang benar-benar berbeda.
Misalnya:
{
"errorCode": "400.002.02",
"errorMessage": "Permintaan Buruk - Kredensial Keamanan Tidak Valid"
}
dan
{
"status": "failed", "result_code": 8006, "result_description": "Kredensial keamanan terkunci."
}
Meskipun kedua permintaan gagal, keduanya mewakili skenario produksi yang berbeda.
Yang pertama menunjukkan bahwa permintaan tidak dapat diautentikasi karena SecurityCredential yang diberikan tidak valid. Alur pembayaran tidak pernah dimulai.