PAYUNi官方購物車模組出現 UPP02010錯誤

最後更新 2025-04-01 作者 Roy

昨天晚上接到客戶通知,反映網站金流疑似出現異常、用戶無法確認訂單是否成功。
這時請他們先提供客戶的交易錯誤畫面和自身測試,在結帳送出後錯誤內容是「UPP02010(時間戳記,已過期)」。

Payuni error upp02010 1

依照文件提示錯誤,當下直覺是不是金流外掛版本太舊導致某段程式碼錯誤

Payuni error upp02010 2

檢查一下官方最新版本是v1.2.3,網站執行的是v1.2.0
比對一下程式碼修正差異也不應該會出現錯誤,當下先嘗試手動更新外掛,但問題依然還在。

Payuni error upp02010 3
Payuni error upp02010 4

為了即刻解決當下客戶交易問題,先將金流切換到備用的綠界科技,嘗試交易後問題暫時解決。

回頭來查查這個問題,發現用戶訂單上並沒有任何交易紀錄、但請求是有發送post到PAYUNi API

Payuni error upp02010 7

翻閱整 合式支付頁 的串接文件,時間戳記過期 唯一可能就是 Timestamp參數出錯

Payuni error upp02010 5

Timestamp是關於時間的參數,先檢查網站跟伺服器時區/時間皆為正確、程式碼也沒錯誤。
這下真的沒招了、發信問問看官方技術吧…

這邊不得不說他們效率真的好,上班後半小時就回訊了。
文件內容提到他們系統可接受的「交易發動時間在正負5秒內」!問題點可能是伺服器沒有設定自動校時。
獲得解方後立即試看看,果然問題是出在這邊!

Payuni error upp02010 6

後話:
1、雖然統一金流的文件都沒寫到這個點,但交易的嚴謹程度確實可以降低交易串改風險,反觀綠界…

2、現在WordPress和外掛更新很快,但各家金流的README每次推進則是停留在半年前的版號、容易導致用戶不敢更新。
但基於資安問題我會推薦放棄金流所建議版本、強制更新WordPress和WooCommerce後同時測試是否異常,通常只要避免PHP大版本更新,用戶都是能正常付款的。

Roy
關於作者 Roy

曾經北漂的工程師,現在專注於WordPress、.Net Core開發


發佈留言