MerchantIdError, sehingga penanganan error dapat diprediksi. Cabang pada error.code, bukan pada pesan.
MerchantIdError
Kelas dasar. Semua subclass mewarisinya.Kode error
Subclass
MerchantIdError, AmountAllocator (AMOUNT_POOL_EXHAUSTED), dan utilitas QRIS (QRIS_PARSE_ERROR) melempar MerchantIdError dasar dengan kode terkait, bukan subclass khusus.
HttpError.body non-enumerable
HttpError.body sengaja non-enumerable. console.error(err) memakai util.inspect, yang mencetak properti enumerable milik error - body enumerable akan menuang seluruh respons provider (kredensial termasuk) ke log. Membaca error.body tetap berfungsi seperti biasa.
AUTH_REQUIRED vs AUTH_FAILED
AUTH_REQUIRED: tidak ada sesi valid untuk operasi (belum login, atau sesi Shopee mati saatrefreshSession). Perlakukan sebagai kebutuhan login, bukan status pembayaran.AUTH_FAILED: kredensial ditolak atau sesi dicabut provider (mis. login dari perangkat lain mencabut sesi GoPay saat polling). Perlakukan sebagai kebutuhan login ulang, bukan pembayaran yang belum lunas.