綠界信用卡的關帳、取消、退刷、放棄:四個 Action 的差異與正確使用時機
綠界的信用卡交易在完成授權後並不是「一手交錢一手交貨」那麼單純。授權成功只代表銀行同意這筆交易,但款項還沒有真正從持卡人的帳戶中扣除。從授權到最終撥款之間,還有「關帳」這個關鍵步驟——而綠界圍繞這個步驟設計了四種操作,分別對應不同的業務場景。
先理解基本流程:消費者刷卡成功後,訂單狀態為「已授權」。綠界每天會在固定時間執行「系統自動關帳」,將當天已授權的訂單送去銀行請款。關帳之後,這筆錢才會真正從持卡人帳戶扣除,並進入綠界的撥款流程。
Action=C(關帳)是手動觸發關帳。如果你不想等系統自動關帳,可以主動呼叫 API 將訂單關帳。關帳時還可以修改請款金額——例如原本授權 1,000 元,但你只想請款 800 元(可能是因為部分商品缺貨),就可以在關帳時將金額改為 800。但金額只能往下改,不能超過原始授權金額。
Action=E(取消關帳)用在「已經關帳但想反悔」的情境。如果你在手動關帳後發現金額設錯了,可以用取消關帳讓訂單回到關帳前的狀態,然後重新關帳。但要注意的是,取消關帳只能在系統自動關帳之前執行。一旦系統已經將帳務送去銀行,就無法再取消了。
Action=N(放棄)用在「授權成功但不想要這筆交易了」的情境。它只能在關帳之前使用。當你放棄一筆交易,這筆授權會被釋放,持卡人的信用額度會恢復。最常見的使用場景是:消費者下單後立刻想取消,而這筆交易還沒有被關帳。用放棄操作就不會產生任何手續費。
Action=R(退刷)是在關帳之後才能使用的操作。當款項已經被扣除,消費者申請退款時,你需要透過退刷來將款項退還給持卡人。退刷可以是全額退刷或部分退刷。退刷不會產生額外的手續費——綠界只收取原始交易的手續費,退刷部分的手續費會退還給你。
搞混這四個 Action 最常見的錯誤是在「已關帳」的訂單上呼叫「放棄」,或在「未關帳」的訂單上呼叫「退刷」,綠界會回傳「Action Is Not Match」的錯誤碼。要避免這個問題,你的系統需要追蹤每筆訂單當前的狀態(已授權、已關帳、已退刷、已放棄),並在呼叫 API 前先判斷當前狀態適用哪個 Action。
建議在你的退款流程中加入一個簡單的判斷邏輯:如果訂單尚未關帳,優先使用「放棄」(Action=N),因為不會產生手續費;如果訂單已關帳,則使用「退刷」(Action=R)。如果需要修改請款金額,先「取消關帳」(Action=E),調整金額後再重新「關帳」(Action=C)。把這個流程圖畫出來,貼在專案文件中,能幫團隊在處理退款時做出正確的決策。