首頁 / 部落格 / 串接金流的 10 個坑

串接金流前,沒人告訴你的 10 個坑——第 4 個沒做,客人付了錢你卻收不到單

奧科希 AEL ・ 2026 年 5 月 30 日 ・ 閱讀約 7 分鐘

很多店家以為「金流就是放一顆付款按鈕」。實際上,金流是整個網站最容易出包、出包又最痛的地方——因為它直接跟錢有關,錯一個地方,輕則漏單,重則被盜刷或吃上官司。

以下這 10 個坑,是真正串過綠界(ECPay)、藍新(NewebPay)這類金流才會懂的。就算你不打算自己寫,看完也能判斷「幫你做網站的人到底懂不懂」。

1.測試金鑰和正式金鑰搞混

金流商會給你兩套密碼(MerchantID、HashKey、HashIV):一套測試用、一套正式用。很多人開發時用測試的,上線卻忘了換成正式的。

結果就是:網站開張、客人刷卡看起來都成功,錢卻全進到測試環境,一毛都沒真的收到,常常是過了好幾天對帳才驚覺。

2.檢查碼 CheckMacValue 算錯

每一筆交易都要附一段「防偽印章」,用你的金鑰把參數依規則加密產生。編碼方式、英文大小寫、URL 編碼只要差一點點,這枚印章就對不上。

結果就是:金流直接回你一個冷冰冰的「CheckMacValue Error」,所有交易全部失敗,客人連付款頁都進不去

3.只信前端畫面,沒驗證回傳的檢查碼

付款完成後,金流會回傳一則「成功」訊息。關鍵是:你必須反過來用檢查碼驗證「這則訊息真的是金流發的」,不能照單全收。

沒驗證會怎樣?有心人可以自己偽造一則「付款成功」打給你的網站,你信以為真就出貨——等於東西被白白拿走,零元購

4.只靠前端 ReturnURL,沒接背景通知 NotifyURL

金流其實有兩條回報路線:一條是「客人付完後跳回你網站的那個畫面」(ReturnURL),另一條是「金流在背景默默通知你伺服器」(NotifyURL)。真正可靠的是後者。

如果你只接前端那條,客人付完款剛好手機沒電、把分頁關掉、或網路斷一下,畫面沒跳回來——你的系統就完全不知道這筆訂單成立了,直接漏單。這是最常見、也最痛的一個坑。

5.背景通知收到後,沒回「1|OK」

金流在背景通知你之後,規定你要回一句「1|OK」告訴它「我收到了」。沒回,它會認定通知失敗。

於是金流會每隔幾分鐘一直重送同一筆通知,你的系統可能因此重複建單、重複寄信給客人。

6.沒做「重複通知」防呆(冪等性)

承上:同一筆付款的通知,可能因為網路或重送而來好幾次。你的系統必須認得「這筆我已經處理過了」。

沒做防呆,同一張訂單就會出貨兩次、扣兩次庫存、寄兩封確認信,客人一頭霧水,你還倒貼成本。

7.金額用了小數或浮點數

台幣金流只收整數。金額傳成 199.00,或程式算出 199.9999 這種浮點誤差,都會出事。

輕則交易被金流拒絕,重則對帳時每筆差一兩塊,帳永遠對不平

8.訂單編號重複、或可以重複使用

每筆交易的訂單編號必須「唯一、而且用過就不能再用」。

一旦撞號,金流會擋掉新交易,客人想付錢卻一直失敗;或者舊的付款連結被重複使用,造成金額糾紛。

9.沒規劃退款、取消、關帳前後的差異

信用卡在「當日關帳前」是取消授權、關帳後是退刷,兩者流程不同;超商代碼、ATM 轉帳又各有自己的規則。

沒先想清楚,等客人要退款時你卻不會操作,換來的是客訴、申訴,甚至銀行調單——這對小店最傷。

10.把信用卡號存在自己的伺服器

正確做法是:把「刷卡」這一步交給金流商的代收頁面,你自己的網站絕對不要碰、不要儲存卡號

自己存卡號違反信用卡資安規範(PCI DSS),一旦外洩,是會吃官司、被開罰、要賠償的等級,不是小事。

金流不是「放一顆按鈕」,而是一連串跟錢、跟法規、跟資安綁在一起的細節。少做一個背景通知(坑 4)、再加上沒做防呆(坑 6),就足以讓你又漏單、又重複出貨。

所以——你真的要自己串嗎?

這也是為什麼我們(奧科希 AEL)幫店家做網站時,金流這塊堅持親自處理到好:背景通知、檢查碼驗證、防重複、對帳,全部按規矩來。

而且我們的做法是——讓客人的錢直接進「店家自己的綠界帳戶」,我們完全不經手你的錢,安全、透明,也避開了金流相關的法規風險。你不需要懂上面這 10 個坑,因為我們已經一個一個踩過、也一個一個補好了。

金流、訂位、商品上下架,交給踩過坑的人

免費幫您的店做專業網站,0 元建置、只收維護月費。技術的事我們全包,您專心顧生意。

用 LINE 預約免費諮詢 →
← 回部落格看更多文章