【完成+結案(2026-10-20,#A-365)】連線失敗已分類,不再一律記 ISSUER_TIMEOUT。
實作(nccc_gateway.js):新增 classifyIssuerConnectionFailure——
-
ISSUER_TIMEOUT:等待 0110 逾時(銀行端未及時回應);
-
ISSUER_UNAVAILABLE:ECONNREFUSED(埠無人監聽);
-
ISSUER_DISCONNECTED:TCP 斷線(ECONNRESET/SIGKILL 後 close)、尚未連線及其他連線類錯誤。
handleAuthorization 之 catch 改用分類結果作為 adviceReason 與日誌原因。
測試:test/integration/disconnect.test.js(#837)以 SIGKILL 發卡行製造真實硬斷線——
斷線期間 0100 → 0110/00(STIP),gateway 日誌斷言 ISSUER_DISCONNECTED(與 Timeout 分離);
JSON 版之 ISSUER_UNAVAILABLE(ECONNREFUSED)亦由 disconnect.test.js 覆蓋。全量 41 測 0 失敗。README 已同步。