客戶多付、少付或發錯鏈了怎麼辦
瞭解客戶少付、多付、發錯資產、發錯鏈或遲到付款時,StableOps 如何記錄異常付款嘗試、為何付款訂單不會自動完成,以及商戶應如何核對實際到帳並選擇補款、人工入帳或退款。文件同時說明哪些訂單可以使用退款介面,哪些錯付資金必須透過商戶錢包人工處理。
StableOps 只有在轉帳與訂單在每一個鍵上都完全匹配時,才會把訂單推進到 detected:
- 收款地址,並按組織與環境隔離
- 鏈與資產
- 金額,按代幣精度換算成最小單位後比較
匹配時訂單還必須處於 created 狀態。只要其中任意一項不同,訂單就不會推進,也不會傳送 payment.detected,而是繼續等待,直到過期。
如果 StableOps 支援並正在掃描轉帳實際發生的鏈、資產和地址,轉帳仍會被儲存為鏈上事件,並記錄一條異常付款嘗試。例如,金額不一致會標記為 amount_mismatch,過期後到帳會標記為 late_payment。發生在未支援或未掃描網路上的轉帳不一定會出現在 StableOps 中,必須透過相應網路的區塊瀏覽器或商戶錢包調查。
少付或多付
金額與你請求的 amount 不完全相等的轉帳都不會匹配訂單。StableOps 不會合併多筆轉帳、部分履約,也不會接受“差不多”的金額。對一筆 10.00 的訂單而言,9.99 和 10.01 都算未命中。
應對方式:
- 始終向客戶展示
paymentInstructions中的精確金額,並禁止其修改。很多錢包允許使用者自行輸入金額,這是訂單卡住的常見原因。 - 如果客戶仍然少付或多付,讓原訂單按計劃過期,再根據商戶政策決定退款、要求補款或人工入帳。
- 如果要求補款,不要期待兩筆金額不同的轉帳自動合併並完成原訂單。應建立新的付款請求,或在商戶帳本中經過審批後人工合併處理結果。
發錯鏈或發錯資產
訂單隻會監聽你在 acceptedAssets 中傳入的 (chain, asset) 組合。轉帳發生在訂單未接受的鏈或資產上,或者客戶把 USDT 發給只接受 USDC 的訂單時,都不能匹配原訂單。
在 EVM 網路上,同一個 0x… 地址可能存在於多條鏈。資金即使到達相同文字形式的地址,只要實際網路與付款指令不同,仍然屬於發錯鏈,不能完成訂單。
只有支援資產表中列出的 (chain, asset) 組合才可能被接受。表外組合會在建立訂單時被拒絕,StableOps 也不保證能夠發現發生在未支援網路或資產上的轉帳。
退款介面的適用邊界
StableOps 退款介面只適用於已經 finalized 的付款。此類訂單具有一筆精確匹配的原始支付事件,可以建立獨立的非託管退款請求,再由商戶錢包簽名並廣播退款交易。
少付、多付、發錯鏈、發錯資產或過期後到帳的轉帳沒有讓原訂單進入 finalized,因此不能針對該訂單呼叫退款介面。請保留原訂單及異常付款記錄,透過商戶自己的資金工具處理實際到帳資金,並把退款、補款或人工入帳記為獨立且經過審批的異常操作。完整流程見少付、多付或發錯網路的處理方法。
找回打錯的資金
找回資金需要你自行操作。StableOps 不持有你的私鑰,也不會替你簽署或廣播資金交易。
- 使用 BYO 地址時,資金通常到達你控制的地址。先確認商戶錢包確實支援轉帳實際發生的鏈與資產,再決定退款或人工入帳。
- 不要直接把原交易的來源地址當作退款地址。付款可能來自交易所、託管錢包或智慧合約,應讓客戶確認退款鏈、資產和目標地址。
- 儲存原訂單、交易雜湊、實際鏈、資產、金額、處理決定、審批人和最終退款交易雜湊,不要為了讓記錄看起來匹配而改寫原訂單狀態。
避免訂單卡住
- 原樣渲染
paymentInstructions中的金額、鏈、資產與地址,不讓客戶自行改動。 - 給訂單設定合理的過期視窗,避免一筆輸錯的付款讓訂單無限期掛著。
- 在
payment.finalized上履約,絕不要憑客戶“我已經發了”的口頭宣告發貨。 - 上線前分別測試少付、多付、發錯鏈和過期後到帳,併為每種異常指定客服、財務與資金操作責任人。
相關
這篇文件怎麼樣?
最後更新