1. 接口说明

银行卡识别,通过全球领先的 OCR(光学字符识别 Optical Character Recognition)技术,自动对银行卡进行识别,返回银行卡原件上的银行卡卡号、有效日期、发卡行、卡片类型(借记卡&信用卡)、持卡人姓名(限信用卡)等信息,可以省去用户手动录入的过程,自动完成银行卡信息的结构化和图像数据的采集,可以很方便对接客户的后台数据系统,给用户带来极大的便利。采特有的图像处理技术,在识别银行卡图片过程中,还可以对银行卡图片上的卡号图像,方便用户保存。

2. 接口地址

  1. POST http[s]://webapi.xfyun.cn/v1/service/v1/ocr/bankcard HTTP/1.1
  2. Content-Type:application/x-www-form-urlencoded; charset=utf-8

3. 请求参数

在 Http Request Header 中配置授权认证参数,见【接口描述-授权认证】。其中 X-Param 为各配置参数组成的JSON串经BASE64编码之后的字符串,原始JSON串各字段说明如下:

参数类型必须说明示例
engine_typestring引擎类型,固定为bankcardbankcard
card_number_imagestring是否返回卡号区域截图,默认为0,如果设为 1,则返回base64编码的卡号区域截图。0
imeistring手机序列号12345678
osidstring操作系统版本Android
uastring厂商|全称|机型信息|操作系统版本|分辨率vivo|vivoY67L|PD1612|ANDROID6.0|720*1280

X-Param生成示例:

  1. 原始JSON串:
  2. {
  3. "engine_type": "bankcard",
  4. "card_number_image": "0"
  5. }
  6. BASE64编码(即X-Param):
  7. eyJlbmdpbmVfdHlwZSI6ICJiYW5rY2FyZCIsImNhcmRfbnVtYmVyX2ltYWdlIjogIjAifQ==

在 Http Request Body 中配置以下参数:

参数类型必须说明示例
imagestring图像数据,base64编码后进行urlencode,要求base64编码和urlencode后大小不超过4M,仅支持jpg格式,推荐 jpg 文件设置为:尺寸 1024×768,图像质量 75 以上,位深度 24。exSI6ICJlbiIsCgkgICAgInBvc2l0aW9uIjogImZhbHNlIgoJf…

_注:_base64编码后大小会增加约1/3

4. 返回值

返回值为json串,各字段如下:

参数类型说明
codestring结果码(具体见错误码)
datajson详见data说明
descstring描述
sidstring会话ID

其中sid字段主要用于追查问题,如果出现问题,可以提供sid给讯飞技术人员帮助确认问题。

data各字段说明如下:

参数说明备注
type银行卡类型银行卡的类型判断(贷记卡,借记卡,准贷记卡)
card_number银行卡号银行卡上的银行卡号码识别结果
validate有效期信用卡上的有效期识别结果
holder_name持卡人银行卡信用卡上的持卡人姓名识别结果
issuer发卡机构银行卡发卡机构返回结果
card_number_image卡号区域截图银行卡卡号区域图片,base64编码
error_code错误码识别错误码
error_msg错误信息错误原因描述

其中的error_msg和error_code的取值范围及说明对照表:

error_codeerror_msg说明
0ok正常返回
40001invalid parameter参数不对
40002missing parameter缺少参数
40003invalid user or password账号或密码不对
40004missing request body没有HTTP body
40005invalid image formatHTTP body不是图像或者不支持该格式
40006invalid image size图片太大或太小
40007fail to recognize识别失败
40008invalid content type通过HTTP form上传图片时,Content-Type无效
40009corrupted request body请求body损坏
40010fail to extract image提取图像裸数据失败
50001backend down后台服务器宕机
50004timeout识别超时
90099unknown未知错误

结果示例如下:

失败结果:

  1. {
  2. "code": "10106",
  3. "desc": "invalid parameter|invalid X-Appid",
  4. "data": "",
  5. "sid": "wcr0000bb3f@ch3d5c059d83b3477200"
  6. }

成功结果:

  1. {
  2. "code": "0",
  3. "data": {
  4. "card_number": "6258 0001 0097 9974",
  5. "error_code": 0,
  6. "error_msg": "ok",
  7. "holder_name": "LI YUAN",
  8. "issuer": "招商银行信用卡中心",
  9. "issuer_id": "03080010",
  10. "type": "贷记卡",
  11. "validate": "04/22"
  12. },
  13. "desc": "success",
  14. "sid": "wcr00000003@dx11730e797b8a000100"
  15. }

4.1. 错误码

error_codeerror_msg说明
0ok正常返回
40001invalid parameter参数不对
40002missing parameter缺少参数
40003invalid user or password账号或密码不对
40004missing request body没有HTTP body
40005invalid image formatHTTP body不是图像或者不支持该格式
40006invalid image size图片太大或太小
40007fail to recognize识别失败
40008invalid content type通过HTTP form上传图片时,Content-Type无效
40009corrupted request body请求body损坏
40010fail to extract image提取图像裸数据失败
50001backend down后台服务器宕机
50004timeout识别超时
90099unknown未知错误

5. 调用示例

银行卡识别demo go语言

银行卡识别demo php语言

银行卡识别demo java语言

银行卡识别demo python3语言

银行卡识别demo c#语言

Copyright © iflytek.com 2018 all right reserved,powered by Gitbook该文件修订时间:2019-05-07 07:12:51