從金流跳回 return 頁面時,改善等待體驗的簡單方法。
可建立一個通用的「處理中,請稍候...」頁面,提供一個 routing 打開這頁,畫面設計得簡潔美觀。此 routing 接收 to URL 參數,用來指定處理完成後要跳轉的目的頁面。
系統中任何需要等待的流程,都可先導向此頁面,並將後續頁面放入 to 參數。接著由 JavaScript 在前端等待約 5 秒後,再跳轉至指定位置。相較於後端直接等待 5 秒,使用者會看到清楚的等待畫面,整體體驗更好。
金流尤其適合這種做法。金流廠商跳回網站時,若 callback 比 notify 更早抵達,可能造成狀態尚未更新,明明付款成功卻顯示付款失敗。
因此,不要直接返回付款結果頁,而是先導向處理中頁面,再由前端等待數秒後跳轉至 to 指定的位置。這能避免只依賴 notify、後端需要先卡住 3 至 5 秒所造成的不佳體驗,是非常簡單又有效的技巧。