Skip to main content
身份验证通过真实证据证明个人(KYC)或企业(KYB)确为其所声称的身份:完整的表单、经 OCR 校验的证件上传,以及视频活体检测。它包含两个方面:
  1. 您自己的验证(入驻)——强制要求:在获批之前,您的账户只能入金(收款、加密货币充值、转入的内部转账)和读取数据。个人 ⇒ KYC;企业 ⇒ KYB。
  2. 验证您的客户(仅限企业账户)——生成托管链接或通过 API 提交数据来验证您自己的终端客户,每次验证收取固定费用。

您自己的验证(入驻)

注册后,您的账户初始为未验证状态(kyc_status: none),只能入金和读取数据。任何资金流出操作(付款、内部转账、提现、银行服务、卡片)在您获批之前都会返回 403 verification_required
1

申请您的验证链接

201 响应(如果您已有一个未关闭的链接,则返回同一个链接并响应 200):
kind 由您的账户类型决定:个人 ⇒ kyc,企业 ⇒ kyb。入驻验证对您免费
2

完成向导

打开 url:托管向导会引导您完成表单、证件上传(身份证明、居住证明;企业需提供公司文件),KYC 还包括摄像头活体检测。
3

等待审核

随时查询您的状态:
合规团队批准后,您的 kyc_status自动变为 approved,所有服务随即解锁(您会收到带 self_onboarding: truekyc_verification_status_changed webhook)。
自动判定引擎: 完全干净的申请(证件读取正确、活体检测通过、无制裁或 PEP 命中、无任何风险信号)将在数秒内无需人工干预即获批准。存在灰色地带的申请(同名 AML 命中、PEP、中等风险等级、高风险国家、证件无法辨认等)将进入运营方的人工审核队列,严重情形则会被直接拒绝。状态 webhook 中的 decision_source 字段("auto" / "admin")会告知判定者是谁。
批准后还会用已验证的身份回填您的账户档案display_name(个人 = 名 + 姓;企业 = 法定名称)、tax_idcountry 均取自验证结果,此后 通过 PATCH /v1/me 修改将返回 409 identity_locked —— 已验证的身份即为 数据的最终来源。
等待期间您可以正常入金:所有方式的收款、加密货币充值和转入的内部转账从第一天起即可使用。如果您的验证被拒绝(kyc_status: rejected),请联系您的运营方——他们可能会要求您通过新链接重试。

验证您的客户(仅限企业账户)

已通过验证的企业账户可以验证其自己的终端客户。每创建一次验证都会计收所配置的固定费用(kyc_verification / kyb_verification;0 = 免费),若创建失败则自动退款。个人账户会收到 403 company_account_required

方式 A——托管链接(推荐)

您的客户在白标向导中完成全部流程:表单、证件和活体检测。您只需生成链接并等待 webhook。
  • external_customer_id(必填):您对被验证客户的自有引用——会在每个 webhook 和查询中原样返回。等于 self 或以 :self 结尾的值保留给账户入驻使用,会被拒绝并返回 400 invalid_payload
  • idempotency_key(必填):使用相同 key 的重试会返回原始链接,绝不会重复扣费
  • country(仅 KYB):usclvebrmxcopebopyargeneric(配合 ISO alpha-2 的 generic_country,例如 "ES")。个人 KYC 不需要国家。
  • expires_in_days(可选,1–30):省略时链接永不过期。
201 响应:
查询与历史(每个 POST 都有对应的 GET):

方式 B——通过 API 提交数据

如果您已持有客户的数据,可直接创建验证(无需向导)。提交件会进入同一个审核队列:
数据模式注意事项:
  • 国家使用 ISO alpha-3CHLUSAVEN…);日期格式 YYYY-MM-DDid_typepassport | id_card | drivers_license
  • KYB:在 POST /v1/kyb/submissions 上使用请求体 { external_customer_id, country?, business: {…}, ubos?, directors?, signers?, bank_info?, metadata? }
  • 创建时不要求活体检测:KYC 提交件带有 liveness_pending: true;通过活体检测链接来完成它。
  • 在提交件处于开放状态(pending_reviewchanges_requestedmore_info_required)时使用相同的 external_customer_id 重新发送,会更新同一个提交件,不会再次扣费。
201 响应:
查询与历史:
详情中会附加合规团队要求的内容:pending_documentsrejection_reasonchanges_requested_comments;KYC 还包含 liveness_pendingdocuments_received;KYB 包含 aml_decision

通过 API 上传证件

创建时证件为可选项(如缺失,合规团队会通过 more_info_required 要求补充)。三步流程:
1

预签名

类别——KYC:identityproofOfResidence;KYB:legalPresenceownershipStructurecontrolStructurecompanyDetails。文件类型:application/pdfimage/pngimage/jpeg;最大 15 MB;上传 URL 15 分钟后过期。
2

上传

使用相同的 Content-Type 将二进制文件直接 PUTupload_url
3

确认

确认后 OCR 校验进入队列;结果通过 kyc_document_validated / kyb_document_validated webhook 送达,并可用 GET 查询:
outcomeMATCHREVIEW(人工审核)、NO_MATCH。每项还包含:
  • id:校验标识符(合规团队使用它进行审核)。
  • effective_outcome:当前生效的结果 — 如果管理员已在管理面板中人工处理了该校验,则为人工结果;否则为 OCR 引擎结果。在提交详情(GET /v1/kyc/submissions/{id})中,documents_gate 块汇总了所有文档是否已解决(ok: true),包含 matched/total 以及未解决项的 unresolved 列表。
  • manual_review:仅当管理员在管理面板中人工处理了该校验时出现。账户视图中仅包含 outcomereviewed_at(不含内部备注和审核人)。
人工处理文档校验是管理面板(CBPay Admin)的专属操作,不通过公共 API 提供。合规团队应用后,你的账户会在 effective_outcomemanual_review 中看到更新后的结果,并收到相应的 kyc_document_validated / kyb_document_validated webhook。

活体检测(活体检测链接)

通过 API 创建的 KYC 提交件初始带有 liveness_pending: true(活体检测是一个浏览器摄像头流程)。为您的客户生成一个精简的托管链接来完成它:
  • 免费(该服务在创建提交件时已计费)。如已存在未关闭的链接,POST 会返回同一个;如检测已通过,则返回 400 liveness_already_completed
  • GET .../liveness_link 返回最新的链接和当前检测状态({ "liveness": { "status", "outcome", "passed" } })。
  • 通过时(outcome 为 PASSREVIEW):提交件清除 liveness_pending,并触发 kyc_liveness_completed webhook。

一次验证通行所有产品(可复用身份)

客户已批准的验证就是其在 CBPay 内的唯一身份:在任何其他产品中,您都无需重新录入其数据或重新上传其证件。
  • 第三方银行服务POST /v1/banking/third-parties 需要该第三方一条已批准验证的 verification_id。类型(INDIVIDUAL/COMPANY)由验证种类决定(KYC ⇒ 个人,KYB ⇒ 企业),数据(姓名、邮箱、地址)会从已验证的档案自动填充,且已校验的证件会自动重新递交给银行服务提供方(响应中的 documents_synced)。详见银行服务
  • 为指定人员发卡POST /v1/cards 使用个人 cardholder 时,需要该人员已批准 KYCcardholder.verification_id。持卡人的身份和证件来自该验证;您只需补充发卡方专属字段(occupationsalary_usd)。详见卡片
  • 您自己的账户:您已批准的入驻验证同样可以复用——在创建您的银行客户档案或首张卡片时,缺失的数据和证件会从您的验证中自动填充。
请求中显式提供的字段始终优先于自动填充。
若第三方没有已批准的验证,银行注册和指定人员发卡都会返回 422 verification_required。请先完成验证(托管链接或 API 数据方式),再将已批准的 submission_id 作为 verification_id 使用。

合规报告(仅 KYB)

对于每一条 KYB 验证,您都可以下载签名的合规报告(PDF,可作为提供给您自己审计方的证据):
该报告免费(该服务在创建验证时已计费)。

验证报告(PDF + JSON)

除处理方的报告外,每条已决定的 KYC 或 KYB 提交件都有由平台生成的验证报告。它是完整的档案,而不是摘要:已验证身份(个人或企业)、申报的经济概况、风险声明、脱敏的银行账户、决定生命周期、带证件校验结果的证件、活体检测、带各自筛查的关联方(KYB)以及含每一条匹配明细的 AML 筛查——全部附完整性哈希和公开验证码。支持两种格式(?format=pdf|json,默认 pdf)和三种语言(?lang=en|es|zh,默认 en)。它是免费的:这是对您已付费验证的读取。 报告章节:
活体检测按会话计数,而不是按主体计数。 gate 会话是开通入驻的门槛检测—— 通常只带自拍照。media_recapture 会话是后续的证据补录,携带完整素材包 (自拍 + 每个手势一帧 + 视频)。以 outcome: "FAIL" 结束的 media_recapture 依然重要——它可能是唯一带可用视频的会话——因此请遍历整个 liveness[] 数组,而不是只读取 liveness[0];主体当前的判定始终以 gate 会话的 outcome 为准。在 KYB 中,parties[].liveness(单数)出于兼容性保留, 始终指向该关联方的 gate 会话,而 parties[].liveness_sessions[] 携带该 关联方的全部会话。
如何阅读该 PDF。 报告首页为可导航封面:索引卡片包含图标、标题与页码, 可点击并跳转到对应章节。每个章节都带有自己的图标与强调条(与 AML 报告一致的 视觉语言),证件照片与活体检测照片保持真实比例,任何标题都不会单独留在页面底部。 AML 附录中的负面媒体条目带有**“查看来源”标签,结尾处的公开验证链接可点击—— 出于安全考虑仅嵌入 httphttps 链接**,其他协议一律丢弃,文本保持不可 点击。

您的第三方(企业账户)

第三方的报告是完整的:AML 部分包含风险等级、指标和匹配项(名称、制裁名单、PEP、负面媒体)。您对客户执行尽职调查,这份报告就是您的证据。 format=json 响应(结构摘要——PDF 由同一模型渲染):
如果该验证尚未关联 AML 筛查(较早的验证),首次下载会自动免费执行筛查。若此时筛查不可用,报告仍会生成,并带有 "partial": ["aml_unavailable"] —— 该部分绝不会被虚构。

关联方及其筛查(KYB)

在企业验证中,档案里的每一位 UBO、控制人与签署人都会作为一条 parties[] 记录输出,包含其完整身份、持股比例、归属于其的证件与活体检测,以及开启持续监控的独立 AML 筛查(source, index) 组合是该关联方在档案内的稳定标识:它用于关联其证件(uboIdentity:0),也确保无论您下载多少次报告,其筛查始终是同一条。 关联方筛查是免费的(这是尽职调查义务,而非可计费产品),并处于持续监控之下:若某位 UBO 在入驻之后进入制裁名单,告警会自动出现。
若下载时某关联方尚无筛查结果,报告仍会生成并带有 "partial": ["party_aml_unavailable"],缺失的筛查会在后台执行:下一次下载即会包含。

您自己的入驻验证

在您自己验证的报告中,AML 部分为汇总形式aml_detail: false):您会看到每个类别的状态——sanctionspepadverse_mediaclearunder_review——但不含匹配项明细。关联方的筛查同样如此:其 AML 部分也是汇总形式。档案的其余内容(身份、经济概况、证件、活体检测、关联方)均为完整版。

报告的公开验证

每份报告都带有 verification_code(印在 PDF 上,旁边有二维码)。任何人无需凭证即可确认其真实性:
公开页面仅确认类型、决定的当前状态、日期和签发品牌——绝不会显示主体数据。在浏览器中它会返回带有您品牌的 HTML 页面。

Webhooks

示例载荷(kyc_verification_status_changed):
您自己的入驻验证事件会带 "self_onboarding": true 而不是 external_customer_id。订阅方式与其他事件相同(参见 Webhooks)。

费用(由您的运营方配置,可以为 0)

费用从您的默认结算余额中扣除,创建失败时会退款,且您自己的入驻验证永不计费。重新发送处于开放状态的提交件以及活体检测链接均不会再次扣费。

错误

常见问题

每个账户在向外转出资金前都必须先通过身份验证(监管要求)。在此期间您可以入金(收款、加密货币充值、转入的内部转账)并探索 API。使用 POST /v1/me/verification/link 申请您的链接并完成它——批准后所有功能会自动解锁。
使用链接时,您的客户在向导中完成全部流程(表单 + 证件 + 活体检测),您完全不接触敏感数据。使用 API 数据方式时,您提交字段并通过预签名上传证件——如果您有自己的表单会很有用——但活体检测仍需要一个活体检测链接(它是摄像头流程,无法在服务器之间完成)。
在创建第三方链接或提交件时计费(正式模式)。不计费的情形:您自己的入驻验证、重新发送处于开放状态的提交件(相同的 external_customer_id)、活体检测链接、查询和证件操作。若创建失败,费用会自动退款。
第三方验证是面向集成方(企业账户)的 B2B 工具。个人账户只需要自己的入驻验证,它是免费的,位于 /v1/me/verification。
您会收到 more_info_required,提交件详情中带有 pending_documents。按本页的预签名 → 上传 → 确认流程上传每份证件;确认后提交件会返回审核队列。
不能:两者互为补充。身份验证用证据(证件、视频)证明身份;AML 筛查则将该身份与制裁/PEP/负面媒体名单比对,并可对其进行持续监控。
可以——这正是设计初衷:一条已批准的验证即为唯一身份。在注册第三方银行用户或为指定人员发卡时,将其 submission_id 作为 verification_id 传入:数据和证件会自动填充。参见可复用身份
如果该验证是您自己账户的验证(自助入驻——如果您是从企业账户验证第三方,则不适用),当决定结果为已批准、已拒绝或需要补充材料时,您会在注册邮箱收到一封自动邮件。该邮件使用您所属机构的品牌样式(默认为 CBPay 品牌),出于安全和隐私考虑不会包含拒绝的具体合规原因,操作按钮会跳转到该机构的网站。如果您是在验证第三方(例如您的企业在验证某个客户或供应商),该第三方不会收到此邮件——此时的通知仍然是您已接入的 kyc_status_changed/kyb_status_changed webhook。
最后修改于 2026年8月20日