寵物美容店想用訂金降低臨時取消,常把需求寫成「預約時先刷一筆錢」。但真正要驗收的不是付款頁有沒有開啟,而是名額、付款與服務訂單在各種例外下是否仍一致。顧客選到時段後離開頁面、付款通知晚到、櫃檯代為改期、同一筆交易重複通知,或取消後要退回訂金,都可能讓班表與金流出現不同答案。
收訂金預約系統至少要把「預約」與「交易」當成兩份可互相對照、但不能混成同一欄位的資料。預約負責人員、寵物、服務、時段與占用資源;交易保存付款單號、金額、通路、結果、退款與對帳狀態。兩者以明確識別碼連接,才不會因為某個付款畫面顯示成功,就直接覆蓋櫃檯真正使用的預約紀錄。
先寫清楚名額何時保留、何時釋放
顧客按下「前往付款」時,可以建立短暫保留,但不能無期限占住美容師與洗護空間。需求文件應定義保留起點、到期條件、付款完成後如何轉為已確認,以及付款未完成時由誰釋放名額。畫面必須顯示這是暫時保留,避免顧客把尚未付款的選擇誤認為正式預約。
名額釋放也不能只靠瀏覽器倒數。倒數畫面關閉後,伺服器仍要依自己的時間判斷保留是否過期;背景工作釋放前,還要再次檢查是否已有有效付款。若付款通知在逾時邊界才抵達,系統必須採固定規則處理,例如仍有資源就確認,資源已釋出則轉人工待處理,而不是悄悄建立重複預約。
「LumiPaw 光沐寵物美容」(lumipaw-petgroom)案例把洗護、造型與到府服務分流,並整合會員儲值與購物車。套用到訂金預約時,應再把每種服務的資源分開:店內服務可能占用美容師與空間,到府服務還有移動區域與交通緩衝;不同資源不能只用一個通用時段欄位代表。案例可作為流程參考,不代表訂金規則可以直接沿用,實際金額、取消與改期政策仍要由店家明確決定並對外說明。
付款通知要能重複接收而不重複成立
付款完成頁只是顧客瀏覽器看到的結果,不宜作為唯一入帳依據。金流服務由伺服器送來的結果通知,可能比顧客返回網站更早或更晚;系統收到通知後,應以交易識別碼檢查是否已處理,重複通知只能回傳既有結果,不能再次扣名額、建立第二筆預約或重送確認訊息。
ECPay Developers 的測試介接資訊提供測試環境與「模擬付款」方式,用來確認商家的 ReturnURL 能收到付款結果通知;文件也特別指出模擬通知不是真實付款,不應因此改變正式訂單狀態。驗收時因此要把測試資料與正式資料隔離,並測試通知未到、重複到達、內容不合法、回應格式錯誤及稍後重送等情境。
後台不要只顯示「已付款」。較完整的畫面應能看到預約狀態、交易狀態、最後通知時間、通知次數、待對帳原因與人工處理紀錄。櫃檯若先用電話確認,也不能手動把一筆未查證的交易改成成功;可以改成「待核對」,並保留操作者與理由。
改期、取消與退款是三套規則
顧客改期不一定需要退款。若訂金能移轉到新時段,系統應保留原預約與新預約的關聯,將原資源釋放,再把交易關聯轉到新版本;不能刪掉原紀錄後重建,否則無法回答顧客何時改過、誰批准及訊息為何不同。若超過可改期範圍,則轉入人工判斷,避免程式擅自套用未經確認的政策。
取消預約也不等於金流已退款。系統可以先把預約標記為取消,再依規則建立「待退款」工作;真正收到退款處理結果後,才更新交易狀態。部分退款、退款失敗、原卡無法處理與人工匯款都要有不同狀態,並能在對帳表中追蹤。
綠界科技的信用卡退刷公告列出自 2026 年 4 月 30 日起適用的特定退刷處理費退還規則,且說明適用範圍與例外。這類條件可能依服務、合約與時間調整,因此網站不應把金流成本寫死成永久不變的數字。專案上線前要以店家實際合約與最新公告確認,再決定取消政策如何呈現;本文不替店家判定訂金是否應退。
預約入口要直接抵達可完成的頁面
若店家把預約連結放到 Google 商家檔案,連結不應只到首頁,再要求顧客自行找服務與分店。Google Business Profile 的商家連結規範要求交易連結導向對應商家的專用頁面,多據點時要指向特定地點,且頁面應能完成所標示的行動。對寵物美容店而言,這代表每個連結至少要保留正確據點或服務脈絡,並能一路完成選時段與訂金付款。
同時要處理登入牆、驗證碼與錯誤頁。商家連結若無法被驗證工具存取,可能失去入口;但付款前仍需採用適當的安全措施。可把公開服務與可預約時段維持可到達,到了提交個資或付款階段才進行必要驗證,不要讓整個落地頁只剩無法辨識的外部跳轉。
用邊界案例完成端到端驗收
驗收可以從同一個時段開兩個瀏覽器開始:第一位顧客進入付款後暫時保留,第二位只能看到正確的不可用狀態;第一筆逾時後名額釋放,再模擬付款通知晚到。接著測試重複通知、櫃檯改期、顧客取消、全額與部分退款、退款失敗及每日對帳差異。每一步都應能從預約追到交易,也能從交易反查預約版本。
交付清單至少包括預約狀態表、交易狀態表、名額鎖定與逾時規則、通知去重鍵、取消改期政策版本、退款工作流程、訊息範本、對帳報表及人工處理權限。真正能降低爭議的收訂金預約系統,不是把付款按鈕放在日曆後面,而是讓每個名額與每筆款項都有一致、可回溯的答案。