Hosted Checkout 與 Payment Link

兩種收款方式:Payment Link 是「不寫程式也能分享的收款網址」,Hosted Checkout 則是它背後實際呈現的結帳頁。

檢視 Markdown

Payment Link 是針對某個價格建立的一次性或可重複使用的收款網址。你可以直接把連結分享給顧客(Line、Email、社群貼文),不需要寫任何前端程式碼。建立後會拿到 url(相對路徑 /pay/{token})。

POST/api/PaymentLink— 建立一個 Payment Link
欄位必填說明
priceId是要收款的價格
name是顯示名稱
maxCompletions否限制只能完成幾次(例如 1 = 一次性連結)
expiresAt否到期時間

Hosted Checkout:ReBate Pay 代管的結帳頁

顧客打開 Payment Link 的網址時,看到的就是 Hosted Checkout——一個 ReBate Pay 代管的頁面,會收 email/姓名、顯示訂單摘要。頁面實際呈現的付款輸入方式取決於這個 workspace 目前接的是哪一種 provider adapter,見下方說明。付款完成後,成功畫面會提供「開啟顧客入口」按鈕,讓顧客可以直接前往 Customer Portal 自助管理訂閱。

Hosted Checkout 同時支援單筆商品與訂閱制價格——如果 Payment Link 指向的是 Recurring 價格,完成付款後建立的是訂閱而不是單筆付款。

兩種付款輸入模式(依實際 adapter 而定)

模式何時出現畫面呈現驗證狀態
情境模擬模式工作區尚未開通沙盒刷卡時的預設情境選擇器(成功/拒絕/逾時),不需要輸入任何卡號已驗證,可放心用於串接開發
沙盒刷卡模式工作區已開通沙盒刷卡加密的卡號/有效期限/CVV 輸入框,使用測試卡走完整的授權與 3D 驗證流程可用於串接開發;請只使用測試卡
GET /api/Capability 回應裡的 sandbox.adapter 欄位(fake_tappay 或 tappay_sandbox)會誠實反映目前這個環境實際在跑哪一種模式,不要用 sandbox/production 這種粗略分類去猜。

Apple Pay 與 Google Pay

在支援的裝置上,Hosted Checkout 會自動在信用卡欄位上方顯示 Apple Pay(iPhone、iPad、Mac 的 Safari)與 Google Pay(支援的瀏覽器與 Android)按鈕。這兩種付款由 ReBate Pay 統一串接,你不需要申請 Apple/Google 商家帳號,也不需要改任何程式——付款結果、退款、payment.succeeded Webhook 都和信用卡一樣。

Apple Pay 與 Google Pay 只用於單次付款。訂閱方案需要保存卡片以便續扣,行動支付無法保存,所以訂閱的結帳頁只會顯示信用卡。你可以在主控台「卡片與行動支付」查看目前可用的方式與本月金額。

如果你想完全自己控制前端

不想導去 ReBate Pay 的頁面,也可以用 POST /api/Checkout 直接在後端完成一筆結帳(傳入顧客資料與 chargeScenario),自己決定怎麼呈現結果畫面。這個端點屬於需要 Idempotency-Key 的財務操作。

POST/api/Checkout— 後端直接完成一筆結帳(不經過 Hosted Checkout 頁面)