Skip to main content
guidance-link 使用 type=7 时必须同时传入 profileId。当前 type 还包含 4=申请 KYC-活体8=更新 KYC 资料;H5 模式通常不会出现 REJECTED,但接入机构仍应兼容该状态。

📄 正文

无论您是想完全托管 KYC 体验、还是不愿在自己后端处理任何证件与人脸数据,都可以用 H5 KYC 引导页:把用户引导到 DCS 托管的 H5 页面,让他们自助完成国籍选择、证件上传、人脸采集与地址填写。DCS 是持牌发卡机构,KYC 全流程在我们这一侧完成核验与安全存储,接入机构只负责把链接发给用户、并接收结果。 H5 模式与 API 模式申请 KYC 二选一:

DCS 与接入机构的分工

H5 模式下,接入机构只做三件事,其余都由 DCS 承担。
H5 模式下 DCS 与接入机构的分工H5 模式下 DCS 与接入机构的分工

步骤一:创建用户(接入机构做)

调用 POST /open-api/customer/v1/create-customer 创建用户,拿到 customerId。详见 创建用户

步骤二:申请 H5 KYC 工单(接入机构做)

调用 POST /open-api/kyc-ticket/v1/apply-kyc-h5 申请工单。 请求体(APIApplyKycH5Request
注:kycApplyMode 字段以接口定义为准。需要让老用户重新提交/更新资料时传 H5-RENEWAL 本页只讲初次 KYC(H5)。资料到期需重新认证见 更新 KYC 资料;复用用户在 DeCard 托管模式已有的 KYC 见 KYC 信息迁移
最小请求
响应(APIApplyKycH5Response,已剥去统一响应结构)
统一响应结构为 {code, message, messageDetail, data}code 为业务状态码(成功为 SYS_SUCCESS),messageDetail 为附加错误明细(成功时为 null)。字段含义见 授权拒绝与错误码
幂等行为
  • kycTicketRef 不存在 → 创建新 INIT 工单。
  • kycTicketRef 已存在、归属同一 enterprise/customer、状态 = INIT → 幂等返回已有工单(重试场景)。
  • 其他情况(归属不一致 / 已 PENDING / 已 PASSED)→ 抛错,见下方错误码表。

步骤三:换 H5 链接(接入机构做)

调用 POST /open-api/card-redirect/v1/guidance-link,设置 type=7,把工单换成可发给用户的 H5 URL。 请求体(H5 KYC 相关字段,APIGuidanceRequest type 完整枚举(以接口定义为准):
type=4 表示「申请 KYC-活体」,type=8 表示「更新 KYC 资料」。请按本页枚举值传参。
最小请求
响应 接口在统一结构的 data 字段返回 H5 URL(data 为字符串)。接入机构把该 URL 发给用户即可。
H5 链接有时效性,请在有效期内引导用户完成。链接过期可重新调本接口续期(status 仍为 INIT 时)。

步骤四:接收结果(Webhook + 主动查询)

Webhook(推荐,DCS 主动推):配置好 Webhook 后,工单状态变化会推送 KYC_TICKET 事件。 Webhook 数据结构见 Webhook 数据结构 主动查询(接入机构做):任意时刻调 GET /open-api/kyc-ticket/v1/detail,传 kycTicketIdkycTicketRef 查询当前状态。

KYC 工单状态(H5 模式)

  • 常规 H5 模式正常仅出现 INIT / PENDING / PASSED;审核异常通常维持 PENDING 等待人工介入。
  • H5-RENEWAL 续期流程的状态为 RENEWAL_INIT / PENDING / RETRY / PASS / REJECT,并映射回工单 INIT / PASSED / REJECTEDH5-MIGRATION 的状态取值见 KYC 信息迁移
  • 同一 kycTicketRef 重新生成链接要求工单处于 INITNEED_VERIFY/PENDING 返回处理中,PASSED 返回已通过,REJECTED 返回验证失败。

apply-kyc-h5 错误码

apply-kyc-h5 相关错误码分类见 KYC 拒绝码;通用和授权错误码见 授权拒绝与错误码

前置条件

  • 已拥有企业(Enterprise)的 ApiKey / SecretKey,见 入驻指南
  • 已创建用户(步骤一),见 创建用户
  • 已从 DCS 团队拿到 profileId(卡配置 ID)。

下一步

  • KYC 通过(status=PASSED)后,前往 申请虚拟卡,以 cardApplyMode=NORMAL 提交 kycTicketIdcustomerId 完成开卡;同一用户后续再开卡可继续复用同一个 kycTicketId
  • 偏好走 API 提交证件而非托管页?见 申请 KYC
  • 随时查询工单当前状态,见 查询 KYC