ENROLLMENT 小部件类型会在用户授权你的应用后,立即引导其完成账户设置。它与其他小部件类型的形态相同——用户在授权后会被直接重定向到一个任务——但有一个不同点:你可以选择用户会看到哪些设置步骤。
不同于收款和付款类型,此小部件不涉及资金流转。没有需要确认的金额,也没有需要批准的交易。
ENROLLMENT 目前仅在 staging 可用。生产环境支持即将推出;在此之前,带有 transactionType: "ENROLLMENT" 的生产令牌会被拒绝。先决条件
- 已配置好 OAuth 设置的小部件应用。参见 Configure App Widget。任何应用类型都可以运行此小部件,包括仅权限的
OAuth Integration应用。 - 用户必须已授予你的应用所需的 scopes。Scopes 针对整个应用检查,而不是按步骤检查。如果缺少任何 scope,小部件会在第一步之前将用户带到 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 确认结果——只有当你的应用和用户的授权同时拥有 VERIFY_KYC scope 时你才会收到它。参见 Outcome callbacks。
被拒绝的令牌
会话开启时会验证steps 字段。以下情况会拒绝会话,而不是降级为部分流程:
用户会看到通用的“无效小部件链接”界面——不会向他们展示具体原因,因为格式错误的令牌是集成问题,而非他们可处理的事项。请检查你的令牌生成器,并查看传递给
onError 回调的错误详情。
后续步骤
Set up your server
用你的语言生成预先批准的交易令牌。
Embed the widget
脚本标签、初始化调用、回调。
Verify by widget
用户在 KYC 步骤中的体验。
Funding sources
关联成功后你可以对资金来源执行的操作。