Skip to main content

📄 正文

在 DeCard 托管模式下,先有用户、再有卡:终端用户必须先注册得到一个 externalUserId,后续的 KYC、开卡、充值、消费、查余额等所有接口都以它标识该用户。作为持牌、自有 BIN 的发卡机构,DCS 为每个持卡人创建一个独立账户,通过「手机号 / 邮箱 + 一次性验证码(OTP)」完成注册。 注册是一个两步流程——先请求验证码,再凭验证码注册:
用户注册与 OTP 校验流程用户注册与 OTP 校验流程
behavioral=REGISTER 表示本次发码用于注册场景(字段说明见步骤 1)。 DCS 为每个持卡人创建独立账户,拥有独立的可用 / 冻结余额。账户的状态与资产管理见 用户管理;这是 DeCard 托管 / 独立账户模型的入口。

前置条件

  • 您已开通企业(Enterprise)账户,并持有 ApiKey / SecretKey。如尚未获取,请参考 前置准备鉴权指南
  • 所有请求须按鉴权指南携带签名头。本页示例省略鉴权头,只聚焦业务字段。

步骤 1 · 发送验证码

按注册方式二选一调用发码接口。两个接口的唯一必填字段都是 behavioral,注册场景固定传 REGISTER

手机号发码

邮箱发码

发码接口的成功响应(结构为全站统一的 {code, message, messageDetail, data},无 success 布尔字段;成功码 code = SYS_SUCCESS):
messageDetail 为展示用结构(含 message/title/type/icon/action/linkTitle/linkUrl),通常为 null。响应结构的完整说明见 鉴权指南

步骤 2 · 注册用户

凭步骤 1 收到的验证码调用注册接口。注意 register 接口不含 behavioral——该字段只属于发码接口,请勿混用。
手机号注册:
邮箱注册:
二选一规则:手机注册走 mobileCode + mobile + smsCode;邮箱注册走 email + emailCodesmsCodeemailCode 二选一,对应两种注册方式。
成功响应的 data 字段即系统生成的 externalUserId,后续所有接口以它标识该用户:

手机号 / 邮箱加密传输(可选)

mobileemail 字段支持 AES 加密或明文传输,接入机构可按需选择。如使用加密:
  1. 使用 AES(对称加密)对手机号 / 邮箱明文加密,得到加密后的字节数组。
  2. 将加密结果做 Base64 编码为字符串。
  3. 将 Base64 字符串填入请求的 mobileemail 字段。
以下为 Java 示例(密钥为占位,请替换为您与 DCS 约定的密钥):
示例中的手机号、邮箱、密钥均为占位 / 脱敏值。请勿在请求或日志中写入真实终端用户 PII 或真实密钥。

错误处理与重发

  • 成功判定:以响应结构 code == SYS_SUCCESS 判断请求是否成功受理;非该值时读取 message / messageDetail 了解原因。
  • 典型错误响应:失败时 code 即该错误对应的具体业务错误码(不存在通用失败码),message 中可读到具体原因。当验证码过期或输入错误时,响应大致如下(结构不变):
    以上 code / message 为示意占位,实际值以接口返回为准。响应结构始终为 {code, message, messageDetail, data},错误信息出现在 message 字段。
  • 验证码失效 / 输错:验证码有时效,过期或填错会导致 register 失败——重新调用对应发码接口(behavioral=REGISTER)获取新验证码后重试。
  • 方式一致:注册方式须与发码方式一致——用手机号发的码只能用于手机号注册(smsCode),邮箱同理(emailCode)。
  • 幂等:同一手机号 / 邮箱重复注册会失败;如不确定是否已注册,可在 用户管理 中查询用户状态。

下一步

  • 注册得到 externalUserId 后,下一步通常是为用户完成 KYC——见 合规 · 概述
  • 管理用户账户状态与查看其资产,见 用户管理
  • 想一口气走完「注册 → 开卡 → 入金 → 消费」最短路径,见 快速开始