Skip to main content
如果你嵌入了 Fluz 小部件,验证功能会随之提供。你无需构建验证流程、收集身份字段或处理证件——小部件会将验证作为一道闸门呈现,并在放行客户继续之前完成验证。 这是唯一一条客户身份信息完全不接触你基础设施的路径,这通常是选择它的决定性因素。
先决条件
  • 已在 Developer Portal 配置的小部件应用,并设置好 OAuth。参见 配置应用小部件
  • 由 Fluz 在你的应用上启用 VERIFY_KYC scope。参见 所需 scope
  • 已注册的 webhook 端点。参见 验证客户

验证在何处介入

验证是小部件正常序列中的一步,而不是单独的集成:
1

你的页面调用 FluzEmbedded.init()

小部件在 iframe 中打开。
2

客户登录或注册

如果他们还没有 Fluz 账户,小部件会创建一个。
3

小部件检查验证状态

如果客户已完成验证,则直接继续。否则,此处执行验证。
4

客户完成其余步骤

设置 PIN 和授权 OAuth scope。
5

客户完成其交易

确认,然后完成。
由于验证位于交易之前,无法通过验证的客户将根本无法到达交易步骤。

客户会经历什么

当未验证客户到达闸门时,小部件首先会在后台静默尝试验证。许多客户在此时无需提供任何信息就能通过。 如果仍未解决,小部件会在 iframe 内呈现一份验证表单,并自动填写 Fluz 已掌握的信息。客户进行审核,补充缺失项并提交。随后小部件会显示等待状态,处理完成后会自动继续。 如果验证仍未成功,小部件会在同一 iframe 内将客户升级到证件验证——拍摄他们的政府颁发身份证件和自拍照。
以上全部在小部件内完成。你无需检测客户所处阶段,也无需手动触发升级。

Scopes

小部件应用会在 OAuth 授权步骤中自动请求所需的 scopes,包括 VERIFY_KYC。你不必将其手动加入小部件的 scope 列表。 你仍需由 Fluz 在应用本身启用 VERIFY_KYC。若未启用,小部件将因缺少权限错误而无法加载,而不是跳过验证。
生成传给小部件作为 patToken 的短期令牌时,在 Authorization: Basic 头中使用你的 API Key——不是你的 OAuth client ID,也不是你的 app_id。使用错误的值是小部件无法加载的最常见原因。参见 获取 API 凭证

如何获知结果

小部件会直接告知客户其结果,但你的应用不应根据小部件关闭来推断验证状态。请改为依赖 webhooks。 当客户在小部件中开始验证时,Fluz 会发出 WIDGET_KYC_INITIATION。这需要 VERIFY_KYC scope。
该事件标记验证的开始,而非结果。使用 externalReferenceId 将事件映射到你自己的客户记录,并同时订阅验证结果事件,以便了解最终结果。参见 Webhooks

将小部件与 API 结合

小部件与 API 在每位客户层面共享同一个验证状态,因此两种方式可以自然组合:
  • 通过 API 验证过的客户会直接通过小部件的闸门。
  • 在小部件中通过验证的客户对你的 API 调用同样被视为已验证。
  • 在一个渠道用尽尝试次数的客户,在两个渠道中都已用尽。
如果你在注册期间通过 API 验证客户,随后再将他们交给小部件,请检查客户当前的验证状态,而不是假设小部件会再给他们一次尝试。

测试

在 staging 中运行完整的小部件流程,使用公布的测试身份,包括故意的拒绝情形,以便查看升级到证件验证的流程。Staging 小部件指向的是 staging 环境而非生产环境——请确认你加载的是 staging 的小部件脚本和基础 URL。参见 测试 KYC 流程Staging 与正式环境