Skip to main content
如果你嵌入 Fluz widget,就會一併包含驗證功能。你不需要自行建立驗證流程、蒐集身分欄位或處理文件——widget 會將驗證呈現為一道關卡,通過後才會讓顧客繼續。 這是唯一一種顧客身分資訊完全不會觸及你基礎設施的路徑,通常也是選擇它的決定性因素。
先決條件
  • 已在 Developer Portal 設定的 widget 應用程式,並完成 OAuth 設定。請參閱 設定 App Widget
  • 你的應用程式已由 Fluz 啟用 VERIFY_KYC scope。請參閱 必要的 scope
  • 已註冊的 webhook 端點。請參閱 驗證顧客

驗證在流程中的位置

驗證是 widget 正常序列中的一步,而非獨立整合:
1

你的頁面呼叫 FluzEmbedded.init()

widget 會在 iframe 中開啟。
2

顧客登入或註冊

如果他們尚未擁有 Fluz 帳戶,widget 會建立一個。
3

widget 檢查驗證狀態

若顧客已通過驗證,便直接繼續;若尚未,會在此進行驗證。
4

顧客完成其餘步驟

設定 PIN 與授權 OAuth scopes。
5

顧客完成交易

完成確認,接著結束。
由於驗證位於交易之前,無法通過驗證的顧客將完全不會進入交易步驟。

顧客的實際體驗

當未驗證的顧客到達關卡時,widget 會先嘗試在背景中靜默驗證。許多顧客在此階段就可通過,無需提供任何資料。 若未能解決,widget 會在 iframe 內呈現驗證表單,並預先填入 Fluz 既有資料。顧客檢視、補齊缺漏並送出。其後 widget 會顯示等待狀態,處理完成後自動往下。 若驗證仍未成功,widget 會升級為文件驗證——在同一個 iframe 內擷取政府核發的身分證件與自拍照。
以上全在 widget 內發生。你不需要偵測顧客所處階段,也不需自行觸發升級。

Scopes

Widget 應用程式會在 OAuth 授權步驟自動請求所需的 scopes,包括 VERIFY_KYC。你不需要將它手動加到 widget 的 scope 清單。 不過,你仍需讓 Fluz 在應用程式層級啟用 VERIFY_KYC。若未啟用,widget 將因權限不足而載入失敗,而不是略過驗證。
產生你要以 patToken 傳給 widget 的短效期權杖時,請在 Authorization: Basic 標頭使用你的 API Key——不要使用 OAuth client ID,也不要使用 app_id。使用錯誤的值是 widget 載入失敗最常見的原因。請參閱 取得你的 API 憑證

知道驗證結果

widget 會直接告知顧客結果,但你的應用程式不應從 widget 關閉來推測驗證狀態。請改用 webhooks。 當顧客在 widget 中開始驗證時,Fluz 會發出 WIDGET_KYC_INITIATION。這需要 VERIFY_KYC scope。
此事件標記驗證的開始,而非結果。使用 externalReferenceId 將事件對應到你自己的顧客紀錄,並同時訂閱驗證結果事件,以便得知最終狀態。請參閱 Webhooks

將 widget 與 API 結合

widget 與 API 在每位顧客之間共用同一個驗證狀態,因此兩種方式能無縫組合:
  • 透過 API 完成驗證的顧客,會直接通過 widget 的關卡。
  • 在 widget 中完成驗證的顧客,對你的 API 呼叫同樣已驗證。
  • 在任一管道用盡嘗試次數的顧客,在兩邊都視為用盡。
若你在導入流程中透過 API 驗證顧客,之後再將他們交給 widget,請檢查顧客目前的驗證狀態,而不是假設 widget 會再提供他們一次嘗試。

測試

在測試環境中以發佈的測試身分完整跑一次 widget 流程,包括刻意的拒絕案例,以查看升級到文件驗證的情況。測試環境的 widgets 會連到測試而非正式機器——請確認你載入的是測試環境的 widget script 與 base URL。請參閱 測試 KYC 流程測試與正式環境