可精准识别各类银行卡中的银行卡卡号和有效期,且支持横卡、竖卡及银行卡任意角度偏斜情况的识别与提取,支持中国内地大多数银行,以及各种位数、凸字卡面、平面卡面等的识别。
接口说明
本接口适用场景
- 阿里云银行卡识别,是阿里云官方自研 OCR 文字识别产品,适用于获取银行卡上的卡号、日期、银行名称等关键信息的场景。
- 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
- 本接口图片示例

本接口核心能力
| 分类 | 概述 |
|---|---|
| 多银行 | 支持中国银行、中国工商银行、交通银行、邮政银行等多家银行。 |
| 图像增强 | 默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。 |
| 多类型覆盖 | 支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。 |
| 多卡面类型 | 支持各种位数、凸字卡面、平面卡面的识别。 |
如何使用本接口
| 步骤 | 概述 |
|---|---|
| 1 | 开通 个人证照识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。 |
| 2 | 购买 银行卡识别资源包。本 API 会赠送免费额度,可使用免费额度测试。您也可以不购买资源包,系统会通过“按量付费”方式按实际调用量自动扣款。 |
| 3 | 可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。 |
重要提示
| 类型 | 概述 |
|---|---|
| 图片格式 |
|
| 图片尺寸 |
|
| 图片大小 |
|
| 相关能力 |
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用前面加 * 表示。
- 对于不支持资源级授权的操作,用
全部资源表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
| 操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
|---|---|---|---|---|
| ocr:RecognizeBankCard | *全部资源 * |
| 无 |
请求参数
| 名称 | 类型 | 必填 | 描述 | 示例值 |
|---|---|---|---|---|
| Url | string | 否 |
| https://img.alicdn.com/tfs/TB1fL.fiCzqK1RjSZPcXXbTepXa-3116-2139.jpg |
| body | byte | 否 |
| 图片二进制文件 |
返回参数
返回参数说明
| 字段 | 类型 | 说明 |
|---|---|---|
| data | object | 结构化信息。 |
| sliceRect | list | 检测出的子图坐标信息。 |
| prism_keyValueInfo | list | 结构化信息的坐标信息。 |
| ftype | int | 是否为复印件(1:是,0:否)。 |
| height | int | 算法矫正图片后的高度。 |
| width | int | 算法矫正图片后的宽度。 |
| orgHeight | int | 原图的高度。 |
| orgWidth | int | 原图的宽度。 |
结构化信息(data 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| cardType | string | 卡种(CC(贷记卡),SCC(准贷记卡),DCC(存贷合一卡),DC(储蓄卡),PC(预付卡))。 |
| bankName | string | 银行名称。 |
| cardNumber | string | 银行卡号。 |
| validToDate | string | 有效期限。 |
结构化坐标信息(prism_keyValueInfo 字段)
| 字段 | 类型 | 说明 |
|---|---|---|
| key | string | 识别出的字段名称。 |
| keyProb | int | 字段名称置信度。 |
| value | string | 识别出的字段名称对应的值。 |
| valueProb | int | 字段名称对应值的置信度。 |
| valuePos | list | 字段在原图中的四个点坐标(左上、右上、右下、左下)。 |
示例
正常返回示例
JSON格式
{
"RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
"Data": {
"algo_version": "7a6241b9ccce3746da42ff09ee692b27721728bb;7a6241b9ccce3746da42ff09ee692b27721728bb",
"data": {
"bankName": "交通银行",
"cardNumber": 6222621370000783000,
"validToDate": "2024/12",
"cardType": "DC"
},
"ftype": 0,
"height": 2139,
"orgHeight": 2139,
"orgWidth": 3116,
"prism_keyValueInfo": [
{
"key": "bankName",
"keyProb": 100,
"value": "交通银行",
"valuePos": [
{
"x": 374,
"y": 169
},
{
"x": 1344,
"y": 143
},
{
"x": 1350,
"y": 344
},
{
"x": 379,
"y": 370
}
],
"valueProb": 100
},
{
"key": "cardNumber",
"keyProb": 100,
"value": 6222621370000783000,
"valuePos": [
{
"x": 103,
"y": 1253
},
{
"x": 3011,
"y": 1137
},
{
"x": 3021,
"y": 1370
},
{
"x": 112,
"y": 1486
}
],
"valueProb": 100
},
{
"key": "validToDate",
"keyProb": 100,
"value": "2024/12",
"valuePos": [
{
"x": 1347,
"y": 1573
},
{
"x": 2074,
"y": 1554
},
{
"x": 2077,
"y": 1698
},
{
"x": 1351,
"y": 1718
}
],
"valueProb": 100
},
{
"key": "cardType",
"keyProb": 100,
"value": "DC",
"valuePos": [
{
"x": 437,
"y": 445
},
{
"x": 1316,
"y": 433
},
{
"x": 1318,
"y": 541
},
{
"x": 439,
"y": 553
}
],
"valueProb": 100
}
],
"sliceRect": {
"x0": 0,
"y0": 8,
"x1": 3110,
"y1": 0,
"x2": 3116,
"y2": 2046,
"x3": 0,
"y3": 2139
},
"width": 3116
},
"Code": "noPermission",
"Message": "You are not authorized to perform this operation."
}错误码
访问错误中心查看更多错误码。
变更历史
| 变更时间 | 变更内容概要 | 操作 |
|---|---|---|
| 2022-11-25 | API 内部配置变更,不影响调用 | 查看变更详情 |
| 2021-08-17 | OpenAPI 入参发生变更 | 查看变更详情 |
