綠界常見錯誤代碼速查表:10 個最常遇到的錯誤與排查方向
綠界的錯誤代碼系統不算友善——很多錯誤訊息是英文,且描述模糊。但只要你理解每個代碼背後的成因,排查方向就會清晰許多。以下是實務中最常遇到的 10 個錯誤,按照出現頻率排列。
第一個:CheckMacValue verify fail(CheckMacValue 驗證失敗)。這是綠界串接中出現頻率最高的錯誤,發生在你提交訂單給綠界時。原因是你計算的 CheckMacValue 與綠界計算的不一致。排查方向:確認 HashKey 和 HashIV 是否正確(建議直接從綠界後台複製貼上,避免手打造成的 l/I/1 混淆);確認參數排序是否為 case-insensitive 的自然排序;確認 URL Encode 的規則是否與綠界一致(注意空格編碼 %20 vs + 的差異,以及特殊字元的替換規則)。
第二個:10100058 Pay fail。這個錯誤出現在消費者刷卡付款時,通常與 3D 驗證失敗有關。消費者端的可能原因包括:瀏覽器版本過舊不符銀行規範、使用 VPN 導致 IP 位置被銀行判定為異常、定期定額場景中手機號碼與銀行登記資料不一致。建議消費者更換瀏覽器或裝置重新嘗試。
第三個:10100248 和 10800001。這兩個代碼代表交易觸發了銀行的風控機制——可能是連續刷卡、可疑的交易模式或卡片本身的問題。綠界基於安全考量不會提供詳細原因,你需要請消費者聯繫發卡銀行確認。要注意的是,即使消費者收到銀行的「授權成功」簡訊,綠界後台顯示灰底的交易仍代表扣款失敗,因為銀行的簡訊通知與最終的授權結果之間可能存在時間差。
第四個:10200073 MerchantID is Null or Empty。建立訂單時 MerchantID 參數為空或格式錯誤。排查方向:確認 POST 參數中 MerchantID 有正確賦值,長度為 10 個字元,且使用正確的大小寫。
第五個:10200146 此商店不支援信用卡分期。你嘗試使用 CreditInstallment 參數,但該商店尚未開通分期服務。解決方式:登入綠界會員專區確認收款服務狀態,如未開通需聯繫綠界業務申請。
第六個:10300023 本次交易未提供任何付款方式。通常是 MerchantID 錯誤(例如正式環境使用了測試帳號),或收款審核未通過導致所有付款方式被停用。排查方向:確認 MerchantID 和環境的對應關係,確認帳號的審核狀態。
第七個:10300024 資料驗證錯誤,請回到原廠商頁面重新操作。這是消費者端的操作問題——通常是在 3D 驗證的簡訊驗證頁面按了返回鍵,又重新提交造成的。這個錯誤商家端無法修復,只能引導消費者重新下單。
第八個:5100070 建立訂單失敗(金額低於下限或超過上限)。最常見的觸發情境是交易金額設為 1 元且只提供 ATM 付款。測試環境的最低金額建議設為 2 元。正式環境請參照綠界費率表的金額上下限。
第九個:5100071 建立訂單失敗(站內付 2.0 權限未開通)。你嘗試使用站內付 2.0 的 API,但商店尚未申請開通這項服務。需聯繫綠界業務處理。
第十個:Action Is Not Match。呼叫信用卡請退款 API 時使用了不符合當前訂單狀態的 Action。例如,訂單已關帳卻使用「放棄」(Action=N),或訂單未關帳卻使用「退刷」(Action=R)。解決方式:先查詢訂單當前的狀態,再選擇對應的 Action(詳見本系列第 14 篇)。
綠界的錯誤代碼持續在新增中,完整的最新列表可以在綠界廠商管理後台的「系統設定 → 交易狀態代碼查詢」中查看。建議在你的系統中建立一個錯誤代碼的對應表,將綠界回傳的錯誤代碼轉譯為消費者看得懂的中文提示,避免讓消費者看到一串英文錯誤碼而手足無措。