ENROLLMENT 小工具類型會在使用者授權你的應用程式後,立刻引導他們完成帳戶設定。它的行為與其他小工具類型相同——使用者在授權後會被直接導向一個任務——但有一個差異:你可以選擇使用者會看到哪些設定步驟。
不同於收款與付款類型,這個小工具不會移轉任何資金。沒有金額需要確認,也沒有交易需要批准。
ENROLLMENT 目前僅在 staging 提供。Production 支援即將推出;在此之前,帶有 transactionType: "ENROLLMENT" 的 production 權杖會被拒絕。先決條件
- 已設定好 OAuth 的小工具應用程式。請參考 Configure App Widget。任何應用程式類型都可執行此小工具,包括僅有權限的
OAuth Integration應用。 - 使用者必須已授予你的應用程式所需的 scopes。Scopes 是針對整個應用程式檢查,而不是針對各個步驟。如果有缺少,小工具會在第一個步驟之前,先將使用者導向 OAuth 同意畫面,與其他小工具類型相同。沒有任何步驟會因為缺少 scope 而被跳過或標記失敗。
- 一個 OAuth 使用者與一個存取權杖,與其他小工具類型相同。
選擇步驟
在預先核准的交易權杖中與transactionType: "ENROLLMENT" 一起傳入有序的 steps 陣列:
amount。權杖的其他部分皆不變——請參考 Set Up Your Server。
支援的步驟
這個小工具僅執行個人身分驗證。企業驗證(KYB)不在其步驟之內——請使用專用的 KYB 小工具類型。參見 Business Registration。
順序
步驟會依你列出的順序執行。Fluz 不會重新排序,而且不存在無效的組合——這三個步驟彼此之間沒有前置依賴,因此["PIN", "FUNDING_SOURCE", "KYC"] 與 ["KYC", "FUNDING_SOURCE", "PIN"] 一樣有效。
請依你的產品邏輯,列出合適的步驟順序。
跳過行為
已經滿足的步驟會被靜默跳過——使用者不會看到該步驟的畫面。
資金來源步驟永遠不會被跳過,因為即使使用者已經有一個來源,他們可能還想新增其他來源。它一定會顯示,而由使用者決定何時繼續。
如果你要求的每個步驟都已被滿足,小工具會立即完成,不會顯示任何步驟畫面。
因為
FUNDING_SOURCE 永不自動跳過,只要 steps 清單包含它,就一定會顯示至少一個畫面。若你希望有「無事可做,立即完成」的可能結果,請只要求 KYC 與 PIN。資金來源步驟
此步驟刻意設計為開放式。使用者在一次造訪中可以新增任意多個資金來源——畫面會列出他們目前已新增的項目,並提供明確的 Continue 控制,因此是否繼續前往下一步是由他們決定,而不是在首次連結成功後自動前進。 不想新增任何來源的使用者,也可以在未新增來源的情況下往下進行。 資金來源的變更尚未觸發 webhook。我們正在開發專用事件。在此功能上線前,請在流程完成後使用getWallet 查詢讀取使用者的資金來源。請參考 Funding sources。
完成
當最後一個步驟結束時,小工具會顯示完成畫面。若你提供了callbackUrl,將會帶有返回你應用程式的按鈕;否則會提供 Done 控制來關閉小工具。
只包含 KYC 的註冊,在身分驗證通過後才會完成。當檢查失敗時,會觸發 onError 並帶有 US-0005,而該次嘗試不會觸發 onSuccess。接下來的情況取決於失敗的位置:若檢查結束後沒有可提供的後續步驟,使用者會留在表單上;此時若再次嘗試並通過,仍會完成註冊並觸發一次 onSuccess。若帳戶進入審查,則會顯示審查畫面,該工作階段無法完成。無論哪種情況,都請將 US-0005 視為「尚未通過驗證」而非最終結果,並透過 KYC_STATUS_UPDATE webhook 確認最終結果——該 webhook 僅在你的應用程式與使用者授權都持有 VERIFY_KYC scope 時才會送達。請參考 Outcome callbacks。
被拒絕的權杖
當工作階段開啟時會驗證steps 宣告。以下狀況都會直接拒絕工作階段,而非退化成部分流程:
使用者會看到通用的「invalid widget link」畫面——不會顯示具體原因,因為格式錯誤的權杖屬於整合問題,非使用者可處理的事項。請檢查你的權杖產生器,並查看傳遞到
onError 回呼的錯誤詳細資訊。
下一步
Set up your server
以你的程式語言產生預先核准的交易權杖。
Embed the widget
Script 標籤、init 呼叫、回呼。
Verify by widget
使用者在 KYC 步驟中的實際體驗。
Funding sources
連結後你可以對資金來源執行的操作。