如何使用 Persona
了解如何在 B2CORE 中连接和配置 Persona 作为 KYC 服务提供商,包括 Persona 控制面板设置、连接设置、验证级别和 Webhook
本文介绍如何配置 B2CORE 以使用 KYC 服务提供商 Persona。使用 Persona 时,客户会在 B2CORE UI 或移动应用中打开的 Persona 流程里验证身份:拍摄政府签发的身份证件和自拍照,然后由 Persona 进行核验。B2CORE 接收结果,将证件照片下载到客户档案,更新客户数据,并批准或拒绝验证请求。
继续操作前,你必须已注册 Persona 并拥有有效账户。B2CORE 中只能存在一个 Persona 连接。
验证流程
- 客户开始使用 Persona 的某个级别的验证。B2CORE 使用分配给该级别的问询模板创建 Persona 问询,并预填客户的姓名、电子邮箱和电话号码。
- Persona 流程在 B2CORE UI 或移动应用中打开。客户直接在 Persona 中上传证件并拍摄自拍照,文件不会经过 B2CORE。
- 客户完成后,B2CORE 为该级别创建验证请求。
- Persona 对问询作出决定(通过 Persona Workflow 自动决定,或由你的合规团队手动决定),并向 B2CORE 发送 Webhook。
- 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.createdinquiry.completedinquiry.failedinquiry.approvedinquiry.declinedinquiry.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 |
| 环境 ID | Persona 环境的 ID。它以 env_ 开头。必填。 | Persona 控制面板。参见获取环境 ID |
| API URL | Persona 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 迁移
- 配置并启用 Persona 连接。
- 对每个必须使用 Persona 的级别,选择问询模板,然后将该级别的 向导 更改为
PersonaSDK。 - 禁用 SumSub 连接。
客户会保留当前的验证级别。
Persona 没有与 SumSub KYT(交易监控)对应的功能。禁用 SumSub 连接后,通过 SumSub 进行的交易监控将停止工作。
故障排除
- 客户完成验证后,请求仍处于待处理状态。 检查是否有 Persona Workflow 批准或拒绝问询,或启用 无需 Persona 决定即可批准已完成的检查。另请检查是否已创建包含所有必需事件的 Webhook。
- Webhook 被拒绝。 检查连接中的 Webhook 密钥 是否与 Persona 中 Webhook 的密钥一致。
- 客户开始验证时看到错误。 检查该级别是否已选择问询模板(对于企业客户,如果企业模板为空,则使用个人模板)。
最后更新于