快速答案:票券商品(YITH Event Tickets 這類外掛)的票是在「訂單到達指定狀態」時產生並寄出,票沒寄出先看訂單狀態與郵件紀錄;一次買多張只收到一張,多半是每張票要填一位參加者資料而結帳時沒填,或票券附件太大被郵件服務擋掉;退票要在票務清單把票作廢,訂單退款不會自動作廢票;剩餘票數前台沒變是快取。
為什麼會這樣 #
出票時機綁在訂單狀態:ATM 未繳款、綠界通知沒回來、或訂單停在處理中而設定只在完成才出票,票就不會產生。多張票的情況是票券外掛把「每張票」當一個項目,一張訂單買三張要產生三個票號、三個 QR code,各自有參加者資料;結帳表單只填一組,就只產生一張。也有主辦人在票務系統看到出票了,但訂單裡沒顯示、也沒寄給客人——那是寄信階段失敗。
票券 PDF 附在信裡,多張加起來超過郵件服務的附件上限,整封信會被退回,郵件紀錄裡看得到錯誤。剩餘票數不對,是後台庫存已經減少但活動頁被快取,或票券外掛自己的計數跟 WooCommerce 庫存不同步。每人限購是在訂單成立時計數,訂單取消不會退回,客人就無法再買。
退票是最容易漏的:WooCommerce 退款只處理金額,票券本身仍然有效,核票頁還能掃進場。票券 PDF 還會一直累積在主機上,每張票一個檔,幾年下來佔掉好幾 GB。
怎麼處理 #
- 票沒寄:訂單狀態 → 郵件紀錄(有沒有寄出、錯誤是什麼)→ 票務外掛的票券清單(有沒有產生)。哪一段斷了就修哪段。
- 多張票:確認商品設定「每張票須填參加者資料」與結帳表單有顯示;改成信裡只放下載連結、PDF 在會員中心下載,避開附件上限。
- 剩餘票數不對:活動頁排除快取或縮短快取時間;核對外掛票數與 WooCommerce 庫存。
- 退票順序:先在票券清單把該票作廢 → 再做 WooCommerce 退款或退刷 → 有發票就作廢 → 有限購計數的,手動把該客人的計數還原。
- Zoom 或直播連結是綁訂單完成時寄出;沒收到多半是訂單狀態未完成,或參加者信箱重複——直播工具通常不允許同一信箱重複報名。
- 限購與總量限制設定完,用測試帳號買到上限再取消,看能不能再買。
- 定期清理舊活動的票券 PDF,或設定歸檔到外部儲存。
我們實際遇過的情況 #
一個課程平台的票券商品「買兩張以上就沒收到票號」,查到是多張票的信件被附件上限擋掉,改成信中放下載連結。同平台活動頁顯示的剩餘票數一直停在最初設定的數字,後台其實已賣掉大半,是頁面快取,排除後正確。
退票時因為處理順序不對,票在核票頁仍然有效,我們整理成「作廢票、退款、作廢發票」的固定順序。幾年下來這個站的票券 PDF 佔了主機好幾 GB,冷歸檔到物件儲存後才把空間釋放出來。
什麼時候該找人 #
活動當天票務出問題(掃不到、重複票)沒有時間慢慢查,先準備人工名單當備援,事後再修。牽涉退刷與發票作廢的,帳務要一起對,票作廢了不代表錢也對了。
WPTOOLBEAR網站工具熊