跳轉到主要內容

託管收銀台是什麼?託管支付頁與自建收銀台的區別、PCI 合規與品牌設置

託管收銀台(託管支付頁)是什麼、和自建收銀台有什麼區別、對 PCI 合規範圍有什麼影響,以及如何設置品牌、讓買家付款後回到你的網站。

發佈於 約 5 分鐘閲讀

手繪插畫:一個商城頁面用箭頭跳轉到一個獨立的收銀台頁面,上面有鎖、Logo 和品牌色色塊,旁邊一個人指着它
本文目錄
  1. 託管收銀台是如何運作的?
  2. 託管收銀台和自建收銀台有什麼區別?
  3. 託管收銀台對 PCI 合規意味着什麼?
  4. 託管收銀台替你處理了什麼?
  5. 託管收銀台能嵌入 iframe 嗎?
  6. 如何設置託管收銀台的品牌
  7. 付款後如何把買家帶回來
  8. 兩個值得做對的細節
  9. 總結

託管收銀台(hosted payment page,也叫託管支付頁)是由支付服務商在自己的域名上運行的收銀台頁面。你不用在自己的網站上搭建卡號表單,而是把買家引導到服務商的頁面;買家在那裏付款,付完再回到你這裏。卡號是輸入在服務商的頁面上,而不是你的頁面上,這也是大多數小商戶和跨境商戶先選擇託管收銀台、而不是自建收銀台的主要原因。

這篇文章説明託管收銀台如何運作、和自建收銀台相比如何、對你的 PCI 合規範圍意味着什麼,以及如何讓託管收銀台看起來就是你自己的,並把買家帶回你的網站。

託管收銀台是如何運作的?

  1. 你的服務端創建訂單,傳入金額和幣種,拿到一個收銀台地址。
  2. 把買家重定向到這個地址。
  3. 買家在託管頁面上付款:銀行卡、錢包、3D Secure、重試,全部在那裏處理。
  4. 買家回到你的 return_url,同時 Webhook 通知你的服務端。

在 KukoPay,這只需要一次調用:

curl -X POST "https://api.kukopay.com/v1/orders" \
  -H "Content-Type: application/json" \
  -H "X-Api-Key: $KUKOPAY_API_KEY" \
  -d '{
    "out_trade_no": "ORD_20261104_0001",
    "amount": 2990,
    "currency": "USD",
    "subject": "Premium plan",
    "notify_url": "https://shop.example.com/webhooks/kukopay",
    "return_url": "https://shop.example.com/orders/{OUT_TRADE_NO}/complete"
  }'

響應中的 checkout_url 會打開 checkout.kukopay.com 上的託管收銀台。快速接入 完整演示了整個過程。完全不寫代碼的話,收款鏈接 打開的也是同一個託管頁面。

託管收銀台和自建收銀台有什麼區別?

託管收銀台自建收銀台
買家在哪裏付款服務商的頁面你自己網站上的表單
卡號數據從不經過你的服務器經過或接近你的系統
PCI 合規範圍通常最小更大,而且要你自己維護
開發工作量一次 API 調用加一次跳轉卡號表單、錢包、3D Secure 和各種錯誤狀態都要自己做並持續維護
外觀標準佈局上展示你的名稱、Logo 和顏色完全自定義
新增支付方式不改代碼就會出現每一種都是一次對接

當付款頁面本身就是你的產品、而你有團隊來維護時,自建收銀台更合適。對大多數商戶,尤其是跨境銷售、每個國家支付方式組合都不同的商戶,託管收銀台是更划算的選擇:服務商負責讓卡號表單、錢包和 3D Secure 正常運作,你專心做自己的產品。

託管收銀台對 PCI 合規意味着什麼?

PCI DSS 適用於所有接受銀行卡付款的商戶,但具體適用多少要求,取決於卡號數據流經哪裏。使用託管收銀台時,卡號輸入在服務商的頁面上,從不到達你的服務器,這通常能讓商戶適用最輕的自評估形式。但它並不會免除全部 PCI 義務,把買家引導到收銀台的那個頁面仍然要由你保證安全,所以請向你的服務商以及 PCI 安全標準委員會的指引確認具體適用的要求。

在 KukoPay,商戶從不接觸卡號信息:買家在託管收銀台中輸入,這些信息從不提供給商戶,商戶也不得把它們發送給平台。即使是沙箱的卡號表單,測試卡號也只在瀏覽器裏用來選擇測試結果,見 支付測試卡號大全。

託管收銀台替你處理了什麼?

  • 支付方式:銀行卡、Apple Pay、Google Pay、支付寶、微信支付和 PayPal,只展示你賬戶已開通、且當前訂單可用的方式;
  • 3D Secure 驗證,發卡行要求時自動彈出,見 3D Secure 是什麼;
  • 被拒和重試:被拒後訂單保持 pending,買家可以在同一個頁面上重試,見 銀行卡支付被拒怎麼辦;
  • 安全地更換支付方式:未完成的錢包或 3DS 支付會先被取消,再發起新的支付,買家不會被扣兩次款;
  • 語言:英文、中文、日文、韓文和德文,用地址上的 &locale= 指定;
  • 收據:每筆已支付訂單都有可打印的收據,見 付款收據和發票有什麼區別。

託管收銀台能嵌入 iframe 嗎?

在 KukoPay 上不能。收銀台是你重定向過去的完整頁面,並且拒絕被其他網站嵌入框架。這是有意的設計:把付款頁放在別人的框架裏,正是點擊劫持的手法;而且錢包和 3D Secure 步驟本來也需要接管整個窗口。重定向買家,再用 return_url 把他們帶回來。

如何設置託管收銀台的品牌

託管收銀台也應該看起來就是你:能認出賣家的買家,更少放棄付款,也更少提出異議。在控制台打開 商戶名稱與品牌:

設置作用
對外展示名稱買家看到的名稱。留空時使用入駐資料裏的公司名稱
Logo顯示在收銀台頂部
品牌色#RRGGBB 格式的顏色,用於按鈕和強調色
  • 收銀台預覽 會用你尚未保存的設置顯示真實的收銀台,可以在 電腦 和 手機 之間切換,保存前就能看到效果。
  • 保存後,新打開的收銀台立即生效,沙箱和正式環境同時適用。
  • 每個應用都可以覆蓋賬戶默認設置,適合一個賬戶經營第二個品牌的情況;留空的設置沿用賬戶的。

付款後如何把買家帶回來

  • 在 return_url 裏使用佔位符。 {TRADE_NO} 和 {OUT_TRADE_NO} 會被替換為這筆訂單的值,一個固定地址就能區分是哪筆訂單回來了。
  • 買家看到什麼。 付款成功後,收銀台先顯示收據,約 5 秒後把買家帶回你的網站;買家也可以立即返回,或者留在當前頁。重新打開一個已支付的鏈接只會顯示收據。
  • 回跳不是結果。 買家可能關掉頁面再也不回來,回跳也可能被偽造。請以驗簽後的 Webhook 履約,原因見 return_url 和 notify_url 的區別。

兩個值得做對的細節

  • 設置收銀台的有效期。 收銀台地址默認 24 小時內有效。如果你的系統會更早取消未付款訂單,請傳 expires_at,讓收銀台先關閉;否則買家可能為一筆你已經取消的訂單付款。見 統一下單。
  • 不要把地址記錄到分析工具裏。 checkout_url 帶有短期令牌,不要把完整地址記錄到第三方分析平台或公開日誌中。

總結

  • 託管收銀台是服務商運行的收銀台,你把買家重定向過去,再通過 Webhook 拿到結果;
  • 與自建收銀台相比,它要做的工作少得多,通常也能讓你的 PCI 合規範圍保持最小;
  • KukoPay 的託管收銀台處理支付方式、3D Secure、重試、語言和收據,是整頁跳轉,不是 iframe;
  • 在 商戶名稱與品牌 中設置名稱、Logo 和顏色,支持電腦和手機預覽以及按應用覆蓋;
  • 用 return_url 佔位符把買家帶回來,自己的超時更短時設置 expires_at,並以 Webhook 履約。

在沙箱裏把它跑通

註冊商戶後即可申請測試密鑰,不需要等待資質審核。