通过应用名称下的切换器进入 Sandbox,创建并使用测试 API 密钥。所有检查都被模拟,不收费,你可以指定结果。

简短回答

通过应用名称下的切换器进入 Sandbox,创建并使用测试 API 密钥。所有检查都被模拟,不收费,你可以指定结果。

Didit 的 sandbox 相当于支付服务商的测试卡:它让你可以按需复现任意核验结果,而无需调用真实的服务商、处理真实的个人数据,或动用你的余额。

#独立的测试环境

Sandbox 是组织共享的测试应用,其数据、密钥、webhook 和列表与 Live 分开。每页顶部的横幅会提示当前环境。

Didit 控制台的 API 密钥页面,每个密钥都归属于一个应用
密钥是按应用划分的,因此 sandbox 密钥永远无法访问 live 数据。
  1. 切换到 Sandbox

    点击应用名称下的 Sandbox。返回 Live 前,检查工作流发布、Live 密钥或链接、webhook、付款和数据保留清单,然后确认切换或留在 Sandbox。

  2. 创建测试密钥

    打开开发者 → API 密钥,创建时选择 Sandbox。密钥决定环境;Live 密钥不会创建 Sandbox 会话。

  3. 创建或复制工作流

    Sandbox 有自己的工作流。创建要测试的流程,或从 Live 复制。

  4. 像平常一样创建会话

    使用同样的接口、同样的代码路径,唯一的区别是你发送的密钥不同。

注意

如果 Sandbox 是灰色的,组织尚无测试应用。请联系支持团队启用,这是账户级设置。

#sandbox 改变了什么,又没有改变什么

SandboxLive
外部服务商全部模拟 - 从不调用任何第三方真实调用
计费永不计费;跳过余额检查按已完成的功能计费
会话创建上限每个应用每 24 小时 500 次取决于你的余额
Webhook 负载"environment": "sandbox""environment": "live"
提取的数据与状态由你选择的场景模拟生成来自真实采集的数据
采集的媒体真实存储,与 live 会话完全一样存储
重要

sandbox 会像 live 会话一样,真实存储它所采集的媒体 - 证件、自拍、活体检测 视频、地址证明文件。结果是模拟的,但上传是真实的,因此请使用流程提供的 示例证件和测试数据,而不要使用真实身份证件或真实个人信息。

由于结果从不取决于图像内容本身,故意上传一张糟糕的照片并不会在 sandbox 中触发拒绝 - 结果由场景决定。

#选择结果

创建会话时,将场景标识作为 sandbox_scenario 传入,或者让测试者自行选择:在托管流程中,sandbox 会话会在开始采集前,于卡片内显示一个场景选择器,上传组件下方还会有一排示例证件,以及一条常驻的「仅限测试数据」提示条。

想要测试的场景场景标识
全部通过approve
证件已过期decline_document_expired
证件无法识别decline_could_not_recognize_document
MRZ 校验失败decline_mrz_validation
未达最低年龄decline_minimum_age
人脸比对分数过低decline_face_match_low_similarity
活体检测遭遇仿冒攻击decline_liveness_attack
AML 制裁 / PEP 命中decline_aml_hit
IP 地址被屏蔽decline_ip_blocklist
地址证明地址不匹配decline_poa_address_mismatch
NFC 芯片完整性校验失败decline_nfc_chip_not_verified
数据库验证未找到匹配decline_database_no_match
需要人工审核(AML)review_aml_possible_match
需要人工审核(人脸比对处于临界值)review_face_match_borderline
需要人工审核(地址部分匹配)review_poa_partial_match
KYB 注册信息不匹配decline_kyb_registry_mismatch

review_* 系列场景的存在,是为了让你无需构造真正会被拒绝的输入,就能完整走一遍人工审核流程 - 控制台的审核队列、In Review webhook,以及审核人员批准或请求重新提交的操作。

提示

场景与魔术值的最新目录由 API 本身通过 GET /v1/sandbox/scenarios/ 提供。 如果这里的某个标识看起来已经过时,请以该接口的返回结果为准。 完整参考:sandbox 测试。

#在你自己的代码中区分两者

每个 webhook 都带有一个 environment 字段 - "sandbox" 或 "live"。请基于这个字段做分支判断,而不是试图从密钥本身推断环境,这样你就永远不会把测试会话误认为真实客户。

#sandbox 不会做的事

  • 不会返回真实公司的真实注册信息。sandbox 中的 KYB 使用模拟的注册信息响应。
  • 不会发送真实的短信或邮件。手机验证和邮箱验证都是模拟的,因此你无法用 sandbox 预览真实的消息送达情况。
  • 不会消耗你的每月套餐额度 - 这也意味着一次 sandbox 运行无法告诉你还剩多少额度。

#如果你需要真实的测试核验

有些情况确实需要一次真实调用 - 比如确认某个国家的数据库服务已经为你开通,或者确认短信能否送达某个特定运营商。这需要在 live 应用上进行一次小额充值,而不是使用 sandbox。在花费之前请先联系支持团队,确认相关服务已经在你的账户上正式启用。

还没解决?和真人聊聊。

请附上你的组织 ID 以及你要咨询的会话 ID。

联系支持团队