快速答案:先分清楚是「狀態本來就對」還是「真的沒同步」。WooCommerce 的「處理中」代表已經收到款、等出貨,不是未付款;「保留」和「待付款」才是還沒收到錢。真的沒同步時,多半是綠界的付款完成通知打不進網站,去綠界廠商後台對交易明細,確認有收到錢再手動把訂單改成處理中,並在備註寫上綠界交易編號。
為什麼會這樣 #
綠界付款完成後,是由綠界的主機在背景通知網站(ReturnURL),不是靠消費者自己點回商店。通知被擋掉(防火牆、資安外掛、Cloudflare 規則、維護模式)、或網站在接通知那一刻出錯(PHP 錯誤、外掛衝突),綠界那邊會顯示「已授權」,網站的訂單卻停在原本的狀態。
另外兩種情況常被誤判。一是 ATM/超商代碼付款,訂單本來就會停在「保留」直到消費者去繳費;虛擬帳號產生不出來,通常是綠界後台的該付款方式沒開通正式環境。二是純粹的狀態誤讀:處理中=已付款、待出貨,很多店家以為它是「還在處理付款」。
也遇過相反的:訂單其實沒有付款,卻從後台被直接改成完成,帳面上就多了一筆錢。
怎麼處理 #
- 打開那張訂單,看右側的「訂單記錄」。金流模組會寫入付款成功、失敗或錯誤訊息。如果先出現「刷卡成功」後面又出現「尚未付款」,代表通知有回來,但狀態被別的外掛改掉了,多半是與訂閱、庫存或自動化外掛衝突。
- 到綠界廠商後台的交易明細,用綠界訂單編號(MerchantTradeNo)比對。多數模組的綠界編號是 WooCommerce 訂單號加上一段時間戳或流水號;對不起來時用金額加時間交叉。
- 確認通知有沒有到:看主機的存取紀錄裡有沒有來自綠界的 POST;資安外掛或 Cloudflare 防火牆有沒有擋掉綠界的 IP;付款回站那一刻網站有沒有出現致命錯誤。
- 確認綠界真的收到錢後,手動把訂單改成「處理中」,備註寫「綠界交易編號 xxx 手動對帳」。不要改成「完成」(除非是虛擬商品),也不要在還沒對到綠界紀錄時就改狀態。
- 每月固定對帳一次:匯出綠界交易明細與 WooCommerce 訂單,用金額與日期對,別讓差異累積。
我們實際遇過的情況 #
一個課程平台有一段時間零星出現「綠界有收到款、網站訂單對不上」,我們把綠界的交易明細與訂單編號逐筆比對,一筆一筆手動調整。同一個站也有過刷卡完成後跳出致命錯誤的紀錄,那是另一條要分開查的線。
一家電商的客人已經付款,會員中心卻顯示未付款;同一個站後來也遇過訂單備註先寫「刷卡成功」、接著又出現「尚未付款」,代表通知有回來,但狀態被改掉了。
還有客人在報名時看不到繳款帳號、虛擬帳號產生不出來。這種先確認金流後台的該付款方式在正式環境已經開通,再回頭看網站這端有沒有擋掉通知。
什麼時候該找人 #
涉及帳務的落差——綠界有錢網站沒單、或網站有單綠界沒錢——不要靠改狀態解決,要看紀錄、對回傳、必要時查資料庫。如果是「所有訂單」同時出問題,通常是外掛更新或設定變動造成,先停手不要再改任何訂單。
WPTOOLBEAR網站工具熊