调用VerifyBankElement接口发起银行卡OCR或二三四要素认证请求。
传入图片格式要求
图片大小:图片大小建议不超过2 MB。图片过大可能会影响接口响应速度,甚至可能导致读取图片超时失败。
图片格式:PNG、JPG、JPEG。
图片分辨率:图片长宽需要大于64像素且小于8192像素。
图片质量要求:图片模糊、内容遮挡、光线或图片角度异常都可能会对识别结果产生影响;在识别身份证人像面时,需要确保人脸呈现正向。
接口说明
接口名称:VerifyBankElement。
服务地址:cloudauth.cn-shanghai.aliyuncs.com
(上海地域)或cloudauth.cn-beijing.aliyuncs.com
(北京地域)。
请求方法:POST和GET。
传输协议:HTTPS。
接口描述:该接口支持以下四种认证方式:
银行卡照片OCR识别:通过银行卡照片识别出银行卡号。
银行卡二要素认证:识别银行卡号和用户的真实姓名是否匹配。
银行卡三要素认证:识别银行卡号和用户的真实姓名、身份证号是否匹配。
银行卡四要素认证:识别银行卡号和用户的真实姓名、身份证号、手机号是否匹配。
关于以上四种认证方式的必选请求参数,如下表所示。
认证方式 | SceneId | OuterOrderNo | Mode | IdName | IdNo | Mobile | BankCardUrl和BankCardFile | |
银行卡照片OCR识别 | 是 | 是 | 是 Mode取值为OCR_BANK_CARD。 | 否 | 否 | 否 | 否 | |
银行卡二要素认证 | 是 | 是 | 是 Mode取值为OCR_VERIFY_BANK_CARD。 | 是 | 否 | 否 | 是 BankCardUrl和BankCardFile二选一。 | |
是 Mode取值为VERIFY_BANK_CARD。 | 是 | 否 | 否 | 否 | ||||
银行卡三要素认证 | 是 | 是 | 是 Mode取值为OCR_VERIFY_BANK_CARD。 | 是 | 是 | 否 | 是 BankCardUrl和BankCardFile二选一。 | |
是 Mode取值为VERIFY_BANK_CARD。 | 是 | 是 | 否 | 否 | ||||
银行卡四要素认证 | 是 | 是 | 是 Mode取值为OCR_VERIFY_BANK_CARD。 | 是 | 是 | 是 | 是 BankCardUrl和BankCardFile二选一。 | |
是 Mode取值为VERIFY_BANK_CARD。 | 是 | 是 | 是 | 否 |
请求参数
名称 | 类型 | 是否必选 | 示例值 | 描述 |
SceneId | Long | 是 | 100000xxxx | 认证场景ID。 您必须先在增强版实人认证控制台创建认证场景,才能获得认证场景ID。更多信息,请参见添加认证场景。 |
OuterOrderNo | String | 是 | e0c34a77f5ac40a5aa5e6ed20c35xxxx | 商户服务端自定义的业务请求唯一标识,用于后续定位排查问题使用,由32位字母、数字组合而成。 |
Mode | String | 是 | OCR_BANK_CARD | 银行卡卡证核身的模式。取值:
|
BankCardNo | String | 否 | 54121234567xxxxx | 银行卡号。 当Mode取值为VERIFY_BANK_CARD时,BankCardNo为必选参数。 |
IdName | String | 否 | 张三 | 用户的真实姓名。 当Mode取值为OCR_VERIFY_BANK_CARD或VERIFY_BANK_CARD时,IdName为必选参数。 |
IdNo | String | 否 | 330103xxxxxxxxxxxx | 用户的身份证号码。 当使用银行卡三、四要素认证方式时,IdNo为必选参数。 |
BankCardUrl | String | 否 | https://www.aliyun.com/cert.jpeg | 证件地址,公网可访问的HTTP、HTTPS链接。 当Mode取值为OCR_BANK_CARD或OCR_VERIFY_BANK_CARD时,BankCardUrl和BankCardFile二选一。 |
BankCardFile | InputStream | 否 | 无 | 本地证件文件。 当Mode取值为OCR_BANK_CARD或OCR_VERIFY_BANK_CARD时,BankCardUrl和BankCardFile二选一。 |
Mobile | String | 否 | 1301234xxxxx | 用户的手机号。 当使用银行卡四要素认证方式时,Mobile为必选参数。 |
返回数据
名称 | 类型 | 示例值 | 描述 |
RequestId | String | 130A2C10-B9EE-4D84-88E3-5384FF039795 | 请求ID。 |
Message | String | success | 请求信息的响应消息。 |
Code | String | 200 | 返回码。关于返回码的具体介绍,请参见错误码。 |
ResultObject | Object | 认证主体信息。ResultObject是一个结构体,关于ResultObject的结构描述,请参见ResultObject。 |
名称 | 类型 | 示例值 | 描述 |
Passed | String | T | 认证是否通过,取值:
说明 如果接口异常或接口是未认证状态,则不返回该参数。 |
SubCode | String | 200 | 认证结果码。关于认证结果码的具体介绍,请参见SubCode。 |
CertifyId | String | 08573be80f944d95ac812e019e3655a8 | 认证请求ID,认证请求的唯一标识。 |
MaterialInfo | String | {"BankCardNo": "54121234567xxxxx"} | 认证主体的卡证信息识别结果。OcrBankCardInfo是一个结构体,关于OcrBankCardInfo的结构描述,请参见OcrBankCardInfo。 |
名称 | 类型 | 示例值 | 描述 |
BankCardNo | String | 54121234567xxxxx | 银行卡号。 |
错误码 | 认证描述文案 | 是否计费 | 说明 |
200 | 认证通过。 | 是 | 认证通过。 |
201 | 实名校验不通过。 | 是 | 认证不通过。可能导致失败的原因:用户的身份信息不匹配、信息有误或查询不到身份信息。 |
202 | 查询不到身份信息。 | 是 | 认证不通过。可能导致失败的原因:用户发生户口迁移、用户为军人等特殊状态。建议预留人工审核入口,用于人工审核。 |
错误码
Code | Message | 描述 |
200 | success | 接口响应成功。 |
400 | 参数不能为空 | 参数不能为空。 |
401 | 参数非法 | 传入的字段不符合取值范围或长度不符合要求。 |
403 | 异常重复调用 | 24小时内重复查询相同信息超过10次,锁定12小时,请在12小时后重试。 |
410 | 未开通服务 | 未开通OSS产品或未完成OSS读写授权,请登录增强版实人认证控制台完成授权。 |
411 | RAM无权限 | 需要为RAM用户授予AliyunYundunCloudAuthFullAccess的操作权限。 |
412 | 欠费中 | 增强版实人认证服务或OSS对象存储服务存在欠费,请充值后再进行操作。 |
420 | 数据重复 | 请求参数中BankCardUrl和BankCardFile二选一。 |
428 | 格式校验错误 | 传入的姓名、身份证号码长度必须符合国家标准且不得包含英文字母或特殊字符。 |
500 | 系统错误 | 系统内部错误,请通过智能在线联系阿里云工程师协助排查。 |
- 本页导读