先決條件
- 已在 Developer Portal 設定的 widget 應用,且完成 OAuth 設定。請參考 設定 App Widget。
- 你的應用需由 Fluz 啟用
VERIFY_KYCscope。請參考 必要的 scope。 - 已註冊的 webhook 端點。請參考 驗證客戶。
驗證在流程中的位置
驗證是 widget 既有順序中的一個步驟,而非獨立的整合:1
Your page calls FluzEmbedded.init()
Widget 會在 iframe 中開啟。
2
The customer signs in or registers
若顧客尚未擁有 Fluz 帳戶,widget 會為其建立一個。
3
The widget checks verification status
若顧客已通過驗證,將直接往下進行;若未通過,則在此執行驗證。
4
The customer completes any remaining steps
設定 PIN 與授權 OAuth scopes。
5
The customer completes their transaction
確認,然後完成。
顧客會看到什麼
當未驗證的顧客抵達關卡時,widget 會先在背景嘗試靜默驗證。許多顧客在此階段即可通過,而不需提供任何資訊。 若未能解決,widget 會在 iframe 內呈現驗證表單,並預先填入 Fluz 既有資料。顧客檢閱、補齊缺漏並送出。之後 widget 會顯示等待狀態,處理完成後自動繼續。 若驗證仍未成功,widget 會將顧客升級至文件驗證——於同一個 iframe 內擷取其政府核發的身分證件與自拍照。以上全都在 widget 內完成。你不需要偵測顧客目前的階段,也不需自行觸發升級。
Scopes
Widget 應用會在 OAuth 授權步驟中自動請求所需的 scopes,包括VERIFY_KYC。你不需要手動把它加入 widget 的 scope 清單。
你仍需讓 Fluz 在應用本身啟用 VERIFY_KYC。若未啟用,widget 會因權限不足而載入失敗,而不是略過驗證。
知道驗證結果
Widget 會直接告知顧客結果,但你的應用不應從 widget 關閉來推斷驗證狀態。請改用 webhooks。 當顧客在 widget 中開始驗證時,Fluz 會發出WIDGET_KYC_INITIATION。這需要 VERIFY_KYC scope。
此事件標記驗證的開始,而非結果。使用
externalReferenceId 將事件對應到你自己的顧客紀錄,並同時訂閱驗證結果相關事件,以便得知最終結果。請參考 Webhooks。將 widget 與 API 結合
Widget 與 API 在每位顧客上共用一個驗證狀態,因此兩種方式可以無縫組合:- 透過 API 完成驗證的顧客,會直接通過 widget 的關卡。
- 在 widget 完成驗證的顧客,對你的 API 呼叫同樣視為已驗證。
- 在任一通路用盡嘗試次數的顧客,在兩邊都視為已用盡。