- 您自己的验证(入驻)——强制要求:在获批之前,您的账户只能入金(收款、加密货币充值、转入的内部转账)和读取数据。个人 ⇒ KYC;企业 ⇒ KYB。
- 验证您的客户(仅限企业账户)——生成托管链接或通过 API 提交数据来验证您自己的终端客户,每次验证收取固定费用。
您自己的验证(入驻)
注册后,您的账户初始为未验证状态(kyc_status: none),只能入金和读取数据。任何资金流出操作(付款、内部转账、提现、银行服务、卡片)在您获批之前都会返回 403 verification_required。
1
申请您的验证链接
201 响应(如果您已有一个未关闭的链接,则返回同一个链接并响应 200):kind 由您的账户类型决定:个人 ⇒ kyc,企业 ⇒ kyb。入驻验证对您免费。2
完成向导
打开
url:托管向导会引导您完成表单、证件上传(身份证明、居住证明;企业需提供公司文件),KYC 还包括摄像头活体检测。3
等待审核
随时查询您的状态:合规团队批准后,您的 批准后还会用已验证的身份回填您的账户档案:
kyc_status 会自动变为 approved,所有服务随即解锁(您会收到带 self_onboarding: true 的 kyc_verification_status_changed webhook)。自动判定引擎: 完全干净的申请(证件读取正确、活体检测通过、无制裁或 PEP 命中、无任何风险信号)将在数秒内无需人工干预即获批准。存在灰色地带的申请(同名 AML 命中、PEP、中等风险等级、高风险国家、证件无法辨认等)将进入运营方的人工审核队列,严重情形则会被直接拒绝。状态 webhook 中的
decision_source 字段("auto" / "admin")会告知判定者是谁。display_name(个人 =
名 + 姓;企业 = 法定名称)、tax_id 和 country 均取自验证结果,此后
通过 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):us、cl、ve、br、mx、co、pe、bo、py、ar或generic(配合 ISO alpha-2 的generic_country,例如"ES")。个人 KYC 不需要国家。expires_in_days(可选,1–30):省略时链接永不过期。
201 响应:
方式 B——通过 API 提交数据
如果您已持有客户的数据,可直接创建验证(无需向导)。提交件会进入同一个审核队列:- 国家使用 ISO alpha-3(
CHL、USA、VEN…);日期格式YYYY-MM-DD;id_type:passport | 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_review、changes_requested、more_info_required)时使用相同的external_customer_id重新发送,会更新同一个提交件,不会再次扣费。
201 响应:
pending_documents、rejection_reason、changes_requested_comments;KYC 还包含 liveness_pending 和 documents_received;KYB 包含 aml_decision。
通过 API 上传证件
创建时证件为可选项(如缺失,合规团队会通过more_info_required 要求补充)。三步流程:
1
预签名
identity、proofOfResidence;KYB:legalPresence、ownershipStructure、controlStructure、companyDetails。文件类型:application/pdf、image/png、image/jpeg;最大 15 MB;上传 URL 15 分钟后过期。2
上传
使用相同的
Content-Type 将二进制文件直接 PUT 到 upload_url。3
确认
kyc_document_validated / kyb_document_validated webhook 送达,并可用 GET 查询:outcome:MATCH、REVIEW(人工审核)、NO_MATCH。每项还包含:id:校验标识符(合规团队使用它进行审核)。effective_outcome:当前生效的结果 — 如果管理员已在管理面板中人工处理了该校验,则为人工结果;否则为 OCR 引擎结果。在提交详情(GET /v1/kyc/submissions/{id})中,documents_gate块汇总了所有文档是否已解决(ok: true),包含matched/total以及未解决项的unresolved列表。manual_review:仅当管理员在管理面板中人工处理了该校验时出现。账户视图中仅包含outcome和reviewed_at(不含内部备注和审核人)。
人工处理文档校验是管理面板(CBPay Admin)的专属操作,不通过公共 API 提供。合规团队应用后,你的账户会在
effective_outcome 和 manual_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 为
PASS或REVIEW):提交件清除liveness_pending,并触发kyc_liveness_completedwebhook。
一次验证通行所有产品(可复用身份)
客户已批准的验证就是其在 CBPay 内的唯一身份:在任何其他产品中,您都无需重新录入其数据或重新上传其证件。- 第三方银行服务:
POST /v1/banking/third-parties需要该第三方一条已批准验证的verification_id。类型(INDIVIDUAL/COMPANY)由验证种类决定(KYC ⇒ 个人,KYB ⇒ 企业),数据(姓名、邮箱、地址)会从已验证的档案自动填充,且已校验的证件会自动重新递交给银行服务提供方(响应中的documents_synced)。详见银行服务。 - 为指定人员发卡:
POST /v1/cards使用个人cardholder时,需要该人员已批准 KYC 的cardholder.verification_id。持卡人的身份和证件来自该验证;您只需补充发卡方专属字段(occupation、salary_usd)。详见卡片。 - 您自己的账户:您已批准的入驻验证同样可以复用——在创建您的银行客户档案或首张卡片时,缺失的数据和证件会从您的验证中自动填充。
合规报告(仅 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 附录中的负面媒体条目带有**“查看来源”标签,结尾处的公开验证链接可点击——
出于安全考虑仅嵌入
http 与 https 链接**,其他协议一律丢弃,文本保持不可
点击。您的第三方(企业账户)
format=json 响应(结构摘要——PDF 由同一模型渲染):
如果该验证尚未关联 AML 筛查(较早的验证),首次下载会自动免费执行筛查。若此时筛查不可用,报告仍会生成,并带有
"partial": ["aml_unavailable"] —— 该部分绝不会被虚构。关联方及其筛查(KYB)
在企业验证中,档案里的每一位 UBO、控制人与签署人都会作为一条parties[] 记录输出,包含其完整身份、持股比例、归属于其的证件与活体检测,以及开启持续监控的独立 AML 筛查。(source, index) 组合是该关联方在档案内的稳定标识:它用于关联其证件(uboIdentity:0),也确保无论您下载多少次报告,其筛查始终是同一条。
关联方筛查是免费的(这是尽职调查义务,而非可计费产品),并处于持续监控之下:若某位 UBO 在入驻之后进入制裁名单,告警会自动出现。
若下载时某关联方尚无筛查结果,报告仍会生成并带有
"partial": ["party_aml_unavailable"],缺失的筛查会在后台执行:下一次下载即会包含。您自己的入驻验证
aml_detail: false):您会看到每个类别的状态——sanctions、pep 和 adverse_media 为 clear 或 under_review——但不含匹配项明细。关联方的筛查同样如此:其 AML 部分也是汇总形式。档案的其余内容(身份、经济概况、证件、活体检测、关联方)均为完整版。
报告的公开验证
每份报告都带有verification_code(印在 PDF 上,旁边有二维码)。任何人无需凭证即可确认其真实性:
Webhooks
示例载荷(
kyc_verification_status_changed):
"self_onboarding": true 而不是 external_customer_id。订阅方式与其他事件相同(参见 Webhooks)。
费用(由您的运营方配置,可以为 0)
费用从您的默认结算余额中扣除,创建失败时会退款,且您自己的入驻验证永不计费。重新发送处于开放状态的提交件以及活体检测链接均不会再次扣费。
错误
常见问题
为什么注册后不能立即创建付款?
为什么注册后不能立即创建付款?
每个账户在向外转出资金前都必须先通过身份验证(监管要求)。在此期间您可以入金(收款、加密货币充值、转入的内部转账)并探索 API。使用
POST /v1/me/verification/link 申请您的链接并完成它——批准后所有功能会自动解锁。托管链接与通过 API 提交数据——该选哪个?
托管链接与通过 API 提交数据——该选哪个?
使用链接时,您的客户在向导中完成全部流程(表单 + 证件 + 活体检测),您完全不接触敏感数据。使用 API 数据方式时,您提交字段并通过预签名上传证件——如果您有自己的表单会很有用——但活体检测仍需要一个活体检测链接(它是摄像头流程,无法在服务器之间完成)。
费用在什么时候计收,什么时候不计收?
费用在什么时候计收,什么时候不计收?
在创建第三方链接或提交件时计费(正式模式)。不计费的情形:您自己的入驻验证、重新发送处于开放状态的提交件(相同的 external_customer_id)、活体检测链接、查询和证件操作。若创建失败,费用会自动退款。
为什么我的个人账户不能创建链接?
为什么我的个人账户不能创建链接?
第三方验证是面向集成方(企业账户)的 B2B 工具。个人账户只需要自己的入驻验证,它是免费的,位于 /v1/me/verification。
合规团队要求补充更多证件——如何提交?
合规团队要求补充更多证件——如何提交?
您会收到
more_info_required,提交件详情中带有 pending_documents。按本页的预签名 → 上传 → 确认流程上传每份证件;确认后提交件会返回审核队列。这能替代 AML 筛查吗?
这能替代 AML 筛查吗?
不能:两者互为补充。身份验证用证据(证件、视频)证明身份;AML 筛查则将该身份与制裁/PEP/负面媒体名单比对,并可对其进行持续监控。
我可以在其他产品中复用客户的验证吗?
我可以在其他产品中复用客户的验证吗?
可以——这正是设计初衷:一条已批准的验证即为唯一身份。在注册第三方银行用户或为指定人员发卡时,将其
submission_id 作为 verification_id 传入:数据和证件会自动填充。参见可复用身份。验证通过或被拒绝时,我会收到邮件通知吗?
验证通过或被拒绝时,我会收到邮件通知吗?
如果该验证是您自己账户的验证(自助入驻——如果您是从企业账户验证第三方,则不适用),当决定结果为已批准、已拒绝或需要补充材料时,您会在注册邮箱收到一封自动邮件。该邮件使用您所属机构的品牌样式(默认为 CBPay 品牌),出于安全和隐私考虑不会包含拒绝的具体合规原因,操作按钮会跳转到该机构的网站。如果您是在验证第三方(例如您的企业在验证某个客户或供应商),该第三方不会收到此邮件——此时的通知仍然是您已接入的
kyc_status_changed/kyb_status_changed webhook。