如何使用 Persona

了解如何在 B2CORE 中连接和配置 Persona 作为 KYC 服务提供商,包括 Persona 控制面板设置、连接设置、验证级别和 Webhook

本文介绍如何配置 B2CORE 以使用 KYC 服务提供商 Persona。使用 Persona 时,客户会在 B2CORE UI 或移动应用中打开的 Persona 流程里验证身份:拍摄政府签发的身份证件和自拍照,然后由 Persona 进行核验。B2CORE 接收结果,将证件照片下载到客户档案,更新客户数据,并批准或拒绝验证请求。

继续操作前,你必须已注册 Persona 并拥有有效账户。B2CORE 中只能存在一个 Persona 连接。

验证流程

  1. 客户开始使用 Persona 的某个级别的验证。B2CORE 使用分配给该级别的问询模板创建 Persona 问询,并预填客户的姓名、电子邮箱和电话号码。
  2. Persona 流程在 B2CORE UI 或移动应用中打开。客户直接在 Persona 中上传证件并拍摄自拍照,文件不会经过 B2CORE。
  3. 客户完成后,B2CORE 为该级别创建验证请求。
  4. Persona 对问询作出决定(通过 Persona Workflow 自动决定,或由你的合规团队手动决定),并向 B2CORE 发送 Webhook。
  5. B2CORE 下载证件照片、更新客户档案,并批准或拒绝请求。请求获批后,客户即获得该验证级别。

如果客户在流程返回 B2CORE 之前关闭浏览器或应用,Webhook 仍会完成请求处理,因此不会丢失数据。

设置 Persona

在 Persona 控制面板中完成以下步骤。配置 B2CORE 中的连接时,你需要用到这里获取的值。

创建问询模板

为每个必须使用 Persona 的 B2CORE 验证级别创建一个问询模板。添加该级别所需的验证步骤,例如核验政府签发的身份证件和自拍照。你也可以为企业客户创建单独的模板。

复制每个模板的 ID(以 itmpl_ 开头)。你可以在 Persona 控制面板的模板设置中找到它。

设置决策流程

创建一个 Persona Workflow,以批准通过所有检查的问询,并拒绝未通过检查的问询。否则,问询在 Persona 中会一直保持 completed 或 failed 状态,永远不会获批或被拒绝。

如果你不使用 Persona Workflows,请改为在 B2CORE 连接中启用 无需 Persona 决定即可批准已完成的检查 选项。启用前,请阅读连接设置中的警告。

获取 API 密钥

在 Persona 控制面板中创建 API 密钥。沙盒密钥以 persona_sandbox_ 开头,生产环境密钥以 persona_production_ 开头。两个环境使用相同的 API URL;密钥决定使用哪个环境。

获取环境 ID

复制你使用的 Persona 环境的 ID(以 env_ 开头)。要找到它,请在 Persona 控制面板中前往 组织 > 信息。

创建 Webhook

在 Persona 控制面板中,使用以下设置创建 Webhook:

  • URL:https://{your-B2CORE-back-office-domain}/api/v2/my/verification-persona/webhook
  • 事件:
    • inquiry.created
    • inquiry.completed
    • inquiry.failed
    • inquiry.approved
    • inquiry.declined
    • inquiry.marked-for-review

创建 Webhook 后,复制其密钥(以 wbhsec_ 开头)。

请务必将 {your-B2CORE-back-office-domain} 替换为 B2CORE Back Office 的域名,而不是 B2CORE UI 的域名,并且不要在末尾添加斜杠。

如何配置 Persona 连接

只有被授予管理外部连接权限的管理员才能设置 Persona 连接。

设置连接的步骤如下:

在 B2CORE Back Office 中,前往 系统 > 外部连接。

点击页面右上角的 +创建。

在 创建连接 页面,填写以下字段:

  • 在 名称 字段中,输入你想用于该连接的名称。
  • 在 标题 字段中,输入该连接在 Back Office 中显示的标题。
  • 在 服务提供商 下拉菜单中,选择 Persona。

点击 保存 创建连接。

在连接列表中,找到你创建的 Persona 连接,点击 编辑 输入连接详情。

在 编辑连接 页面,指定连接设置。

在 已启用 下拉菜单中,选择 Yes。

点击 保存 应用设置。

连接设置

字段描述获取位置
API 密钥B2CORE 用于调用 Persona API 的密钥。它以 persona_sandbox_ 或 persona_production_ 开头。Persona 控制面板中的 API 密钥。参见获取 API 密钥
Webhook 密钥用于验证 Webhook 来自 Persona 的密钥。它以 wbhsec_ 开头。Persona 控制面板中你创建的 Webhook。参见创建 Webhook
环境 IDPersona 环境的 ID。它以 env_ 开头。必填。Persona 控制面板。参见获取环境 ID
API URLPersona API 地址。必填。默认值为 https://api.withpersona.com。沙盒和生产环境均保留此值。—
无需 Persona 决定即可批准已完成的检查定义 Persona 未作出决定时的处理方式。详见下文。—
参考 ID 前缀添加在 B2CORE 发送给 Persona 的客户 ID 之前的前缀。详见下文。—
同步自拍照定义是否将客户的自拍照保存到 B2CORE。详见下文。—

以后编辑连接时,将 API 密钥 和 Webhook 密钥 字段留空,即可保留已保存的值。

无需 Persona 决定即可批准已完成的检查

  • No(推荐)——B2CORE 等待 Persona 批准或拒绝问询。
  • Yes——客户已完成的问询会获批,未通过的问询会被拒绝,无需等待 Persona 作出决定。

只有在你的 Persona 控制面板中没有用于批准或拒绝问询的 Workflow 时,才选择 Yes。否则,请求将一直处于待处理状态。请注意,选择 Yes 后,任何完成检查的人都会获批,即使使用的是伪造证件。

参考 ID 前缀

Persona 将同一个参考 ID 视为同一个人。B2CORE 将客户 ID 作为参考 ID 发送。例如,使用前缀 brand- 时,ID 为 454 的客户将以 brand-454 发送。

  • 如果多个 B2CORE 安装实例使用同一个 Persona 组织(例如生产环境和测试环境,或两个品牌),请为每个安装实例指定唯一的前缀。否则,ID 相同的不同客户会在 Persona 中合并为同一个人。
  • 如果你的 Persona 组织仅供此 B2CORE 使用,请将该字段留空。B2CORE 随后会发送不带前缀的客户 ID。
  • 前缀最长可为 32 个字符,可包含拉丁字母、数字以及 _、.、:、- 符号。

客户开始验证后,不要更改前缀。否则,这些客户会在 Persona 中被识别为新的人员。

同步自拍照

  • Yes(默认)——客户在 Persona 中拍摄的自拍照会与身份证件照片一起保存到客户的文档中。
  • No——仅保存身份证件照片。自拍照保留在 Persona 中。

如何为 Persona 创建验证级别

你可以创建验证级别,或修改现有级别以使用 Persona 进行验证。

创建验证级别的步骤如下:

在 B2CORE Back Office 中,前往 验证 > 级别。

点击页面右上角的 +创建。

在 创建验证级别 页面,填写以下字段:

  • 在 索引 字段中,指定一个非零整数值。

    零(0)索引始终分配给默认验证级别。其他验证级别的索引必须大于零,例如级别 1 使用 1,级别 2 使用 2,依此类推。

  • 在 向导 下拉菜单中,选择 PersonaSDK。

  • 在 标题 字段中,指定将在 B2CORE UI 和移动应用中显示的级别名称,例如 Level 1。如有需要,点击字段右侧的按钮,指定该字段的本地化属性。

  • 在 桌面端描述 字段中,指定将在 B2CORE UI 中显示的级别描述。此描述可以包含客户获得该级别后被授予的权限。

    B2CORE UI 的描述可以使用 HTML 格式。如有需要,请指定该字段的本地化属性。

  • 在 移动端描述 字段中,指定将在移动应用中显示的级别描述。

    移动应用的描述可以使用 JSON 格式。如有需要,请指定该字段的本地化属性。

  • 在 可见 下拉菜单中,选择 Yes。

  • 在 默认 下拉菜单中,选择 No。(Level 0 始终是默认验证级别。)

  • 在 分配的客户权限 下拉菜单中,选择一个权限级别,以定义客户获得此验证级别后将被授予的权限(详情参见客户权限)。

  • 在 客户测试 下拉菜单中,如果你希望客户必须先通过认证测试才能开始验证,可选择一个或多个测试。可用测试列表包含所有可见性设为 Yes 的测试,这些测试显示在客户测试页面。

点击 保存 创建级别。

页面重新加载后,填写 Persona 模板字段:

  • 在 Persona 问询模板 字段中,选择此级别的问询模板。
  • 在 Persona 问询模板(企业客户,留空则与上方相同) 字段中,可以为企业客户选择单独的模板。如果留空,企业客户将使用上方字段中的模板。

这些字段显示为下拉菜单,列出你的 Persona 账户中的模板。如果列表不可用(例如使用沙盒 API 密钥时),请手动输入模板 ID。它必须以 itmpl_ 开头。

只有同时满足以下两个条件时,Persona 模板字段才会显示:向导 设为 PersonaSDK,且 Persona 连接已启用。选择向导并保存级别,然后填写模板。

点击 保存 应用更改。

使用 Persona 时不需要文档组和文档类型:客户必须提交的文档由 Persona 问询模板定义。

使用其他向导的级别会继续使用其当前服务提供商。

验证后会发生什么

问询状态发生变化时,Persona 会向 B2CORE 发送 Webhook。B2CORE 按以下方式处理 Webhook:

Persona 事件B2CORE 中的结果
inquiry.created仅记录日志
inquiry.approved保存文档、更新客户数据、批准请求,客户获得该级别
inquiry.declined保存文档并拒绝请求。客户可以重试
inquiry.marked-for-review保存文档,请求保持待处理状态,等待人工决定
inquiry.completed, inquiry.failed保存文档。只有将 无需 Persona 决定即可批准已完成的检查 设为 Yes 时,才会批准或拒绝请求

注意:

  • B2CORE 会将身份证件照片保存到客户的文档中;如果 同步自拍照 设为 Yes,还会保存自拍照。
  • 请求获批后,B2CORE 会根据 Persona 从证件中提取的数据,更新客户的名、中间名、姓、出生日期、国家和地址。电话号码不会更新。
  • 如果合规人员在 Back Office 中手动作出决定,该决定的优先级高于 Persona 的决定。
  • 重复或乱序的 Webhook 不会造成问题:B2CORE 始终从 Persona 读取问询的当前状态。
  • 如果 Webhook 丢失,B2CORE 会重新处理等待决定超过 6 小时的问询(此检查每天运行一次)。
  • 客户已开始但未提交的问询不会创建验证请求。

B2CORE 会存储证件到期日期,但证件到期时不会撤销验证级别,也不会通知客户。

从 SumSub 迁移

  1. 配置并启用 Persona 连接。
  2. 对每个必须使用 Persona 的级别,选择问询模板,然后将该级别的 向导 更改为 PersonaSDK。
  3. 禁用 SumSub 连接。

客户会保留当前的验证级别。

Persona 没有与 SumSub KYT(交易监控)对应的功能。禁用 SumSub 连接后,通过 SumSub 进行的交易监控将停止工作。

故障排除

  • 客户完成验证后,请求仍处于待处理状态。 检查是否有 Persona Workflow 批准或拒绝问询,或启用 无需 Persona 决定即可批准已完成的检查。另请检查是否已创建包含所有必需事件的 Webhook。
  • Webhook 被拒绝。 检查连接中的 Webhook 密钥 是否与 Persona 中 Webhook 的密钥一致。
  • 客户开始验证时看到错误。 检查该级别是否已选择问询模板(对于企业客户,如果企业模板为空,则使用个人模板)。

最后更新于

本页目录