调用VerifyBankElement接口发起银行卡OCR或二三四要素认证请求。

接口说明

接口名称:VerifyBankElement

服务地址:cloudauth.cn-shanghai.aliyuncs.com(上海区域)或cloudauth.cn-beijing.aliyuncs.com(北京区域)。

请求方法:HTTPS POST和GET。

接口描述:该接口支持以下四种认证方式,关于四种认证方式的必选请求参数,请参见四种认证方式的必选请求参数说明
  • 银行卡照片OCR识别:通过银行卡照片识别出银行卡号。
  • 银行卡二要素认证:识别银行卡号和用户的真实姓名是否匹配。
  • 银行卡三要素认证:识别银行卡号和用户的真实姓名、身份证号是否匹配。
  • 银行卡四要素认证:识别银行卡号和用户的真实姓名、身份证号、手机号是否匹配。
表 1. 四种方式的必选请求参数说明
认证方式 SceneId OuterOrderNo Mode IdName IdNo Mobile BankCardUrl和BankCardFileObject
银行卡照片OCR识别
银行卡二要素认证

Mode取值为OCR_VERIFY_BANK_CARD

BankCardUrlBankCardFileObject二选一。

Mode取值为VERIFY_BANK_CARD

银行卡三要素认证

Mode取值为OCR_VERIFY_BANK_CARD

BankCardUrlBankCardFileObject二选一。

Mode取值为VERIFY_BANK_CARD

银行卡四要素认证

Mode取值为OCR_VERIFY_BANK_CARD

BankCardUrlBankCardFileObject二选一。

Mode取值为VERIFY_BANK_CARD

请求参数

名称 类型 是否必选 示例值 描述
SceneId Long 100000xxxx 认证场景ID。

您必须先在智能核身控制台创建认证场景,才能获得认证场景ID。更多信息,请参见添加认证场景

OuterOrderNo String e0c34a77f5ac40a5aa5e6ed20c35xxxx 商户请求的唯一标识,由32位字母、数字组合而成。
Mode String OCR_BANK_CARD 银行卡卡证核身的模式。取值:
  • OCR_BANK_CARD:银行卡照片OCR识别模式。表示通过传入的银行卡照片,识别出银行卡号。
  • OCR_VERIFY_BANK_CARD:银行卡OCR照片识别+认证模式。表示通过传入的银行卡照片识别出银行卡号,将银行卡号和用户的真实姓名、身份证号、手机号进行匹配。

    该模式用于银行卡二、三、四要素认证方式。

  • VERIFY_BANK_CARD:银行卡认证模式。表示将传入的银行卡号和用户的真实姓名、身份证号、手机号是否匹配。

    该模式用于银行卡二、三、四要素认证方式。

BankCardNo String 54121234567xxxxx 银行卡号。

Mode取值为VERIFY_BANK_CARD时,BankCardNo为必选参数。

IdName String 张三 用户的真实姓名。

Mode取值为OCR_VERIFY_BANK_CARDVERIFY_BANK_CARD时,IdName为必选参数。

IdNo String 330103xxxxxxxxxxxx 用户的身份证号码。

当使用银行卡三、四要素认证方式时,IdNo为必选参数。

BankCardUrl String https://www.aliyun.com/cert.jpeg 证件地址,公网可访问的HTTP、HTTPS链接。

Mode取值为OCR_BANK_CARDOCR_VERIFY_BANK_CARD时,BankCardUrlBankCardFileObject二选一。

BankCardFileObject InputStream 本地证件文件。

Mode取值为OCR_BANK_CARDOCR_VERIFY_BANK_CARD时,BankCardUrlBankCardFileObject二选一。

Mobile String 1301234xxxxx 用户的手机号。

当使用银行卡四要素认证方式时,Mobile为必选参数。

返回数据

名称 类型 示例值 描述
RequestId String 130A2C10-B9EE-4D84-88E3-5384FF039795 请求ID。
Message String success 请求信息的响应消息。
Code String 200 返回码。关于返回码的具体介绍,请参见错误码
ResultObject Object 认证主体信息。ResultObject是一个结构体,关于ResultObject的结构描述,请参见ResultObject
表 2. ResultObject
名称 类型 示例值 描述
Passed String T 认证是否通过,取值:
  • T:通过。
  • F:不通过。
说明 如果接口异常或接口是未认证状态,则不返回该参数。
SubCode String 200 认证结果码。关于认证结果码的具体介绍,请参见SubCode
CertifyId String 08573be80f944d95ac812e019e3655a8 认证请求ID,智能核身认证请求的唯一标识。
MaterialInfo String {"BankCardNo": "54121234567xxxxx"} 认证主体的卡证信息识别结果。OcrBankCardInfo是一个结构体,关于OcrBankCardInfo的结构描述,请参见OcrBankCardInfo
表 3. OcrBankCardInfo
名称 类型 示例值 描述
BankCardNo String 54121234567xxxxx 银行卡号。
表 4. SubCode
错误码 认证描述文案 是否计费 说明
200 认证通过。 认证通过。
201 实名校验不通过。 认证不通过,可能原因:用户的身份信息不匹配、信息有误或查询不到身份信息。
202 查询不到身份信息。 认证不通过,可能用户户口迁移、军人等特殊状态导致,建议预留人工审核入口,用于人工审核。

错误码

Code Message 描述
200 success 接口响应成功。
400 参数不能为空 参数不能为空。
401 参数非法 传入的字段不符合取值范围或长度不符合要求。
410 未开通服务 未开通OSS产品或未完成OSS读写授权,请登录智能核身控制台完成授权。
411 RAM无权限 需要为子账号授予AliyunYundunCloudAuthFullAccess的操作权限。
412 欠费中 智能核身服务或OSS对象存储服务存在欠费,请充值后再进行操作。
420 数据重复 请求参数中BankCardUrlBankCardFileObject二选一。
428 格式校验错误 传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母或特殊字符。
500 系统错误 系统内部错误,请提交工单进行反馈,由阿里云工程师协助排查。