什麼是金流閘道(Payment Gateway)?線上付款如何運作,白話解說
金流閘道是一項服務,會在結帳時安全地取得顧客的付款資料,把它們傳給銀行與卡片組織進行核准,然後回傳「已核准」或「已拒絕」,通常在幾秒鐘內完成。它是你的應用程式與金融體系之間的橋樑。Stripe、PayPal、Adyen、Square 與 Braintree 都是知名的例子。
如今,這些公司大多會把金流閘道與你收款所需的其他一切打包在一起,因此「金流閘道」、「付款處理商」與「付款服務商」常被用來指同一件事。
為什麼使用 AI 建置時金流閘道很重要
「加入付款功能」是人們向 AI 建置工具提出的最常見要求之一,也是最容易在細節上出錯的。程式碼本身通常很短。真正重要的,是圍繞它的各種決定:
- 選哪一家服務商最符合你的事業、所在國家,以及你的販售商品。
- 程式碼在哪裡執行。 機密的付款金鑰必須留在伺服器上,絕不能放在瀏覽器中。
- 你的應用程式如何得知付款成功。 可靠的方式是從服務商收到 Webhook,而不是依賴顧客落在「感謝購買」頁面。
- 你的法律與稅務責任,取決於誰是交易代收方。
了解金流閘道做什麼,能幫助你給出清楚的指示,也能檢查結果是否安全。
日常生活的比喻
想想在店裡用卡付款。
櫃檯上的刷卡機就是閘道:它安全地讀取你的卡片,並送出請求。它本身不做任何決定,只是把「這個人可以付 40 歐元嗎?」這個問題沿著一條鏈傳給你的銀行,再把答案傳回來。真正做決定的是店家的銀行(收單機構)與你的銀行(發卡機構),而連接它們的,則是 卡片組織(Visa、Mastercard)。
線上金流閘道就是為網路重新打造的那台刷卡機,再加上處理透過網際網路傳來的卡片資料所需的安全機制。
線上信用卡付款如何運作
以下是顧客按下「付款」之後,短短幾秒內發生的事:
| 步驟 | 發生什麼事 | 由誰負責 |
|---|---|---|
| 1. 結帳 | 顧客在安全的付款表單上輸入卡片資料 | 服務商的表單或頁面 |
| 2. 加密 | 資料被加密並送到閘道 | 閘道 |
| 3. 授權請求 | 請求傳送到卡片組織與顧客的銀行 | 處理商、卡片組織 |
| 4. 檢查 | 銀行檢查餘額與詐欺訊號,並可能要求額外驗證,例如 3D Secure | 發卡銀行 |
| 5. 回應 | 核准或拒絕的結果回傳到你的應用程式 | 閘道 |
| 6. 請款與清算 | 款項被收取,並依服務商的撥款時程,扣除手續費後撥入你的銀行帳戶 | 處理商、收單機構 |
有兩點值得了解:
- 授權不等於已收到款項。 金額會先被保留,接著請款,然後才清算到你的帳戶,這通常要數天。
- 你的應用程式根本不應該看到卡號。 現代服務商會提供託管式結帳頁面,或由它們控制的內嵌欄位,而你的應用程式只會拿到付款的參考碼。
主要組成與負責的角色
| 組成 | 是什麼 |
|---|---|
| 金流閘道 | 安全地擷取付款資料並傳遞出去。 |
| 付款處理商 | 在銀行之間搬運交易資料。 |
| 商店帳戶 | 代你接收信用卡款項的帳戶,由 Stripe 等服務商一併提供。 |
| 收單機構(Acquirer) | 位於商店這一側的銀行。 |
| 發卡機構(Issuer) | 顧客的銀行,負責核准或拒絕。 |
| 卡片組織 | Visa、Mastercard 等,連接收單機構與發卡機構。 |
| 交易代收方(Merchant of record) | 在法律上向顧客銷售商品,並負責稅務、退款與爭議的企業。 |
有些服務商(Paddle、Lemon Squeezy)本身就是交易代收方,替你處理銷售稅與增值稅,作為交換,手續費較高。其他服務商(Stripe、PayPal)則讓你自己擔任交易代收方,並提供可選的稅務工具。想公正地比較各種選項,請參閱Stripe vs Paddle vs Lemon Squeezy與Stripe vs PayPal。
實例:販售一門線上課程
你以 99 歐元販售一門線上課程,並請 AI 建置工具加入「購買」按鈕。
- 顧客點擊購買。你的伺服器以私密金鑰向服務商請求為這筆 99 歐元的交易建立結帳工作階段,並取得一個連結。
- 顧客被導向服務商的託管式結帳頁面,輸入卡片資料,並完成銀行要求的任何 3D Secure 驗證。
- 付款獲得核准,顧客被導向你的「成功」頁面。
- 另外,服務商會把一個 Webhook 送到你的伺服器:「工作階段 X 的付款已成功。」你的伺服器會檢查 Webhook 的簽章、找到對應的訂單、將它標記為已付款,並開放課程。
- 幾天後,扣除手續費的金額會進入你的銀行帳戶。
第 4 步最關鍵。如果你改在成功頁面上開放課程,任何找到那個網址的人都能免費取得課程,而瀏覽器提早關閉的顧客,則會付了錢卻拿不到課程。
關鍵術語
| 術語 | 意義 |
|---|---|
| 結帳工作階段(Checkout session) | 由你的伺服器為某一筆特定購買建立的一次性付款頁面或流程。 |
| 測試模式(Test mode) | 使用測試金鑰與測試卡號的沙盒,不會有真的錢移動。 |
| 可發布金鑰 / 私密金鑰(Publishable / secret key) | 可發布金鑰可以出現在瀏覽器程式碼中;私密金鑰必須留在伺服器上。 |
| 3D Secure | 額外的步驟,讓顧客與銀行確認付款。在歐洲,依據強式顧客驗證(SCA)規定而常見。 |
| PCI DSS | 信用卡產業針對處理卡片資料的任何人所制定的安全標準。 |
| 拒付(Chargeback) | 顧客向銀行對某筆付款提出爭議,款項被銀行追回。 |
| 退款(Refund) | 由你自願退回的款項。 |
| 撥款(Payout) | 服務商把你已收取的款項轉入你的銀行帳戶。 |
常見誤解
- 「我要再向顧客收費,就得儲存卡號。」 不需要。服務商會儲存卡片,並提供一個參考權杖(token),供之後的重複扣款與訂閱使用。你絕不應該自己儲存卡號。
- 「看到成功頁面就代表付款成功。」 請在伺服器上透過 Webhook 確認付款。重新導向可能被略過、被偽造,或根本不會發生。
- 「所有付款服務商的收費都差不多。」 手續費會依服務商、國家、卡片類型,以及是否包含稅務處理而不同。請查看各服務商在你所在國家的最新定價頁面。
- 「使用 Stripe 就等於符合 PCI 規範。」 這會讓合規簡單許多,因為卡片資料留在服務商那裡,但你仍然需要完成一份(通常很簡短的)自我評估。
- 「測試模式與正式模式的行為完全相同。」 它們很接近,但正式模式需要完成驗證的帳戶、為正式環境設定好的 Webhook 端點,以及真實的銀行資料。
- 「金流閘道會替我處理稅務。」 只有在它是交易代收方,或你啟用並設定了它的稅務功能時才會。請查閱你所在地的法規,或諮詢專業顧問。
該向你的 AI 建置工具要求什麼
- 「為[產品]加入 [Stripe] Checkout。請使用環境變數中的私密金鑰,在伺服器上建立工作階段。」
- 「只有在經過驗證的 Webhook 通知後,才把訂單標記為已付款,並檢查 Webhook 簽章。」
- 「處理 Webhook 被重複送達的情況,不要建立重複的訂單。」
- 「使用測試模式的金鑰,並帶我用服務商的測試卡號進行測試,包括一張被拒絕的卡。」
- 「如果顧客付款後關閉了分頁,會發生什麼事?」
- 「列出所有使用付款金鑰的地方,並確認私密金鑰絕不會傳到瀏覽器。」
Mythex 上的金流閘道
Mythex 不會為你建置的應用程式內建付款功能,也沒有一鍵「連接 Stripe」的選項。你需要在你選定的服務商開立帳戶,把它的測試金鑰加入為專案機密,然後請代理在伺服器端建置結帳流程。在預覽中以服務商的測試卡號測試,然後再發布。文件的使用 Stripe 收款一節會逐步說明,而Webhook一節則涵蓋確認付款的步驟。
如需逐步建置,請參閱如何為應用程式加入付款功能,若要定期收費,則參閱如何用 Stripe 加入訂閱。
常見問題
用簡單的話說,什麼是金流閘道?
金流閘道是一項服務,它安全地從你的結帳頁面取得顧客的付款資料,送到銀行與卡片組織進行核准,並把核准或拒絕的結果回傳給你的應用程式,通常只需幾秒鐘。
金流閘道與付款處理商(payment processor)有什麼不同?
嚴格來說,閘道是安全的前門,負責擷取並傳遞付款資料;處理商則在銀行之間搬運交易。實務上,Stripe、PayPal 與 Adyen 等現代服務商會把兩者,以及商店帳戶,打包成一項服務,因此這些詞常被混用。
我要接受信用卡付款,需要符合 PCI 規範嗎?
任何接受信用卡的企業,都必須以某種形式符合 PCI DSS 安全標準。使用託管式結帳頁面,或服務商提供的內嵌付款欄位,表示卡號永遠不會經過你的伺服器,這大幅降低你需要負責的範圍。你的服務商會告訴你適用哪一種自我評估。
什麼是交易代收方(merchant of record)?
交易代收方是在法律上向顧客銷售商品的企業,負責像是收取與繳交銷售稅或增值稅、處理退款與爭議款項等事務。Paddle 與 Lemon Squeezy 這類服務會替你擔任交易代收方;使用 Stripe 或 PayPal 時,通常由你自己擔任。
我能在 AI 建置的應用程式中加入付款功能嗎?
可以。AI 建置工具可以撰寫程式,把你的應用程式連接到 Stripe 等服務商:在伺服器上建立結帳工作階段、處理 Webhook,並更新訂單。你仍然需要自己在服務商那裡開一個帳戶,並在正式上線前於其測試模式中測試所有功能。