Skip to main content
本頁說明商戶 App 或 H5 如何透過 QFPay API 與 Intent / Universal Link 等方式喚起銀行支付應用,完成 FPS App-to-App 的支付流程。支援 Android 與 iOS,並提供代碼範例與 Demo 下載連結。

1. 取得支付參數

API 端點/trade/v1/payment
請求方法POST
支付編碼(pay_type)802010

請求參數

僅適用於 HSBC FPS 商戶如你的 FPS 為 HSBC 直連模式,商戶必須申請一張 獨立的 SSL 憑證(證書),且該憑證之 網域名稱必須與商戶主體一致此設定為以下用途所必須:
  • iOS Universal Link 回調驗證
  • Android HTTPS 回調/重導驗證
  • HSBC 生產環境上線及安全審核
詳細申請流程、CSR 產生方式及所需文件,請參閱:
FPS e-Cert 申請說明文件

回應參數


2. Android FPS 支付流程

2.1 原生 App-to-App 流程

  1. 商戶先透過 API 取得 pay_params(URL)
  2. 透過 Android Intent 啟動 FPS 支付 App
  3. 設定 Action:hk.com.hkicl,並以 key url 傳入支付 URL
  4. 使用 startActivityForResult 連動支付 App
  5. onActivityResult 接收支付結果
  6. 商戶 App 應以自身訂單狀態(建議查詢 API / 後端訂單狀態)確認最終結果
Fps App Call App Chin
Android Java 啟動範例
Java

2.2 Android H5-to-App 支付流程

H5 頁面可透過 WebView 調用 FPS App 完成支付,需實作以下幾步:
  1. WebView 設定
    • 啟用 JavaScript:webView.getSettings().setJavaScriptEnabled(true)
    • 綁定 JS 與 Android 溝通橋接:addJavascriptInterface(new JsBridge(), "AndroidBridge")
  2. H5 觸發支付
    • 用戶點擊付款後,H5 以 JS 呼叫 Android:
      AndroidBridge.handleMessage(JSON.stringify({ url: 'https://fps.qfapi.com/xxx' }))
  3. 原生 App 接收參數並拉起支付 App
    • 組裝 Intent 發送支付請求
  4. 接收結果並回傳給 H5
    • onActivityResult() 內使用 JS 回傳 WebView
  5. 商戶應以自身訂單查詢為準確認最終支付狀態
Android WebView H5-to-App 範例
Java

3. iOS App-to-App 支付流程

3.1 原生 App 啟動 FPS 支付 App

  1. 商戶先調用支付參數接口,獲取支付參數 URL(pay_params
  2. 商戶 App 使用 iOS App Extension 框架 + UIActivityViewController 調起支援的支付 App(如銀行 App)
  3. 消費者在支付 App 完成付款後,透過回調參數 callback(即商戶 App 的 Universal Link)跳轉回商戶 App
  4. 商戶 App 必須根據自身訂單狀態確認最終支付結果
參考:

3.2 iOS H5-to-App 雙向通信支付流程

H5 調用原生 App 的核心在於建立雙向通信機制,完成支付參數的傳遞與結果回傳:
  1. H5 調用後端接口獲得支付參數
  2. 使用 JsBridge 將支付參數傳遞給原生 App
  3. App 接收到後呼叫 FPS App 進行支付(同 3.1 流程)
  4. 支付完成後 App 將結果透過 evaluateJavaScript 回傳給 H5 顯示
  5. 使用 WKWebView + JSBridge 實現

下載範例 Demo