服务端验证结果

最近更新时间:2019-07-30 16:49:42

此方式用于:
合作伙伴服务端生成签名,并调用银行卡识别服务端查询结果,鉴权完成后返回结果(服务端上送 order_no 和 app_id 查询)。

合作方后台生成签名

准备步骤

  • 前置条件:请合作方确保 SIGN ticket 已经正常获取,获取方式请参见 SIGN ticket 获取
  • 合作方为银行卡 OCR 识别服务生成签名,需要具有以下参数:
参数 说明 来源
wbappid 请添加小助手微信 faceid001,进行线下对接获取 腾讯云线下对接分配
order_no 订单号,本次银行卡识别合作伙伴上送的订单号,唯一标识 合作方自行分配
version 默认值:1.0.0 -
api ticket 合作伙伴服务端缓存的 tikcet,注意是 SIGN 类型 获取方式请参见 SIGN ticket 获取
nonceStr 32位随机字符串,字母和数字 合作方自行生成

基本步骤

  1. 生成一个32位的随机字符串 nonceStr(其为字母和数字,登录时也要用到)。
  2. 将 app_id、order_no、version、ticket、nonceStr 共5个参数的值进行字典序排序。
  3. 将排序后的所有参数字符串拼接成一个字符串。
  4. 将排序后的字符串进行 SHA1 编码,编码后的40位字符串作为签名(sign)。

注意:

签名算法请参见 签名算法说明

银行卡 OCR 识别结果查询接口

请求

  • 请求 URL:https://idasc.webank.com/api/server/getBankCardOcrResult
  • 请求方法:GET
  • 请求参数:
参数 说明 类型 长度(字节) 是否必填
app_id 腾讯服务分配的 App ID String 腾讯服务分配
order_no 订单号,合作方订单的唯一标识 String 32
get_file 是否需要获取银行卡 OCR 图片文件
值为1:返回文件
其他:不返回
String 1
nonce 随机数 String 32
version 版本号,默认值:1.0.0 String 20
sign 签名值,使用本页第一步生成的签名 String 40
  • 请求示例:
    https://idasc.webank.com/api/server/getOcrResult?app_id=xxx&nonce=xxx&order_no=xxx&version=1.0.0&sign=xxx&get_file=xxxx

响应

  • 响应参数:
参数 类型 说明
code String 0:银行卡识别成功
msg String 返回结果描述
orderNo String 订单编号
bankCardNo String resultCode 为0返回:银行卡号
bankCardValidDate String resultCode 为0返回:银行卡有效期
bankcardCropPhoto Base64 String 银行卡切边图片
bankcardNoPhoto Base64 String 银行卡卡号切边图片
originBankcardPhoto Base64 String 识别原始图片
warnCode String 银行卡告警码,在银行卡日期失效或者过期会提示
当 frontCode 为0时才会出现告警码,告警码的含义请参考通用响应码列表的 错误码
operateTime String 做 OCR 的操作时间
multiWarnCode String 多重告警码,含义请参考 错误码
clarity String 图片清晰度

注意:

  • 银行卡照片信息作为存证,合作伙伴可以通过此接口拉取识别结果和文件,需要注意请求参数的 get_file 需要设置为1;如果不上送参数或者参数为空,默认不返回照片信息。为确保用户操作整体流程顺利完成,部分情况下获取照片会有1秒左右的延迟。
  • 照片均为 Base64 位编码,其中照片解码后格式一般为 JPG。
  • 对于银行卡 OCR 识别有日期失效或者过期的情况,详情请参见通用响应码列表的 错误码