重複扣款:多半是狀態機,不是金流「壞了」
使用者連點兩次付款,系統卻沒有同一筆交易的冪等鍵。
- 冪等
- 結帳
客服最常聽到的「被扣兩次」,有時確實是銀行端重試,更多時候是 App 在等待回調時允許再次送出,或成功頁與訂單列表不同步造成的錯覺。稽核時我們會先釐清:金流商戶後台有幾筆授權、App 訂單有幾筆、使用者畫面看到什麼。
防護的第一層是客戶端禁用連點與顯示處理中狀態;第二層是後端對同一結帳意圖使用冪等鍵。少了任一層,弱網與殺行程就會放大問題。
Scale Systems 在結帳路徑稽核中會固定走「連點、背景化、從通知返回」三組劇本,把可重現的重複送出標成阻擋項。
修完之後,建議用同一組劇本做一次複核,確認商戶後台與訂單數一致,而不是只看實驗室的成功截圖。