银行卡识别

最近更新时间:2024-11-15 01:53:44

我的收藏

1. 接口描述

接口请求域名: ocr.tencentcloudapi.com 。

本接口支持对中国大陆主流银行卡正反面关键字段的检测与识别,包括卡号、卡类型、卡名字、银行信息、有效期。支持竖排异形卡识别、多角度旋转图片识别。支持对复印件、翻拍件、边框遮挡的银行卡进行告警,可应用于各种银行卡信息有效性校验场景,如金融行业身份认证、第三方支付绑卡等场景。

默认接口请求频率限制:10次/秒。

推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

2. 输入参数

以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

参数名称 必选 类型 描述
Action String 公共参数,本接口取值:BankCardOCR。
Version String 公共参数,本接口取值:2018-11-19。
Region String 公共参数,此参数为可选参数。
ImageBase64 String 图片的 Base64 值。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。
图片的 ImageUrl、ImageBase64 必须提供一个,如果都提供,只使用 ImageUrl。
示例值:/9j/4AAQSkZJRg.....s97n//2Q==
ImageUrl String 图片的 Url 地址。要求图片经Base64编码后不超过 7M,分辨率建议500*800以上,支持PNG、JPG、JPEG、BMP格式。建议卡片部分占据图片2/3以上。
建议图片存储于腾讯云,可保障更高的下载速度和稳定性。
示例值:https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/card/BankCardOCR/BankCardOCR1.jpg
RetBorderCutImage Boolean 是否返回预处理(精确剪裁对齐)后的银行卡图片数据,默认false。
示例值:false
RetCardNoImage Boolean 是否返回卡号的切图图片数据,默认false。
示例值:false
EnableCopyCheck Boolean 复印件检测开关,如果输入的图片是银行卡复印件图片则返回告警,默认false。
示例值:false
EnableReshootCheck Boolean 翻拍检测开关,如果输入的图片是银行卡翻拍图片则返回告警,默认false。
示例值:false
EnableBorderCheck Boolean 边框遮挡检测开关,如果输入的图片是银行卡边框被遮挡则返回告警,默认false。
示例值:false
EnableQualityValue Boolean 是否返回图片质量分数(图片质量分数是评价一个图片的模糊程度的标准),默认false。
示例值:false

3. 输出参数

参数名称 类型 描述
CardNo String 卡号
示例值:6225768888888888
BankInfo String 银行信息
示例值:招商银行(03080000)
ValidDate String 有效期,格式如:07/2023
示例值:07/2023
CardType String 卡类型
示例值:贷记卡
CardName String 卡名字
示例值:招商银行信用卡
BorderCutImage String 切片图片数据
注意:此字段可能返回 null,表示取不到有效值。
示例值:/9j/4AAQSkZJRg.....s97n//2Q==
CardNoImage String 卡号图片数据
注意:此字段可能返回 null,表示取不到有效值。
示例值:/9j/4AAQSkZJRg.....s97n//2Q==
WarningCode Array of Integer WarningCode 告警码列表和释义:
-9110:银行卡日期无效;
-9111:银行卡边框不完整;
-9112:银行卡图片反光;
-9113:银行卡复印件;
-9114:银行卡翻拍件
(告警码可以同时存在多个)
注意:此字段可能返回 null,表示取不到有效值。
示例值:[-9110]
QualityValue Integer 图片质量分数,请求EnableQualityValue时返回(取值范围:0-100,分数越低越模糊,建议阈值≥50)。
注意:此字段可能返回 null,表示取不到有效值。
示例值:90
RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

4. 示例

示例1 BankCardOCR调用

输入示例

POST / HTTP/1.1
Host: ocr.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: BankCardOCR
<公共请求参数>

{
    "ImageUrl": "https://ocr-demo-1254418846.cos.ap-guangzhou.myqcloud.com/card/BankCardOCR/BankCardOCR1.jpg"
}

输出示例

{
    "Response": {
        "BankInfo": "招商银行(03080000)",
        "BorderCutImage": null,
        "CardName": "招商银行信用卡",
        "CardNo": "6225768888888888",
        "CardNoImage": null,
        "CardType": "贷记卡",
        "QualityValue": null,
        "RequestId": "4a4438c5-09ff-4031-945c-17000ba4542d",
        "ValidDate": "07/2023",
        "WarningCode": null
    }
}

5. 开发者资源

腾讯云 API 平台

腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

API Inspector

用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

SDK

云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

命令行工具

6. 错误码

以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

错误码 描述
FailedOperation.DownLoadError 文件下载失败。
FailedOperation.IllegalBankCardError 银行卡信息非法。
FailedOperation.ImageDecodeFailed 图片解码失败。
FailedOperation.NoBankCardError 非银行卡。
FailedOperation.OcrFailed OCR识别失败。
FailedOperation.UnKnowError 未知错误。
FailedOperation.UnOpenError 服务未开通。
InvalidParameter.EngineImageDecodeFailed 图片解码失败。
InvalidParameterValue.InvalidParameterValueLimit 参数值错误。
LimitExceeded.TooLargeFileError 文件内容太大。
ResourceUnavailable.InArrears 账号已欠费。
ResourceUnavailable.ResourcePackageRunOut 账号资源包耗尽。
ResourcesSoldOut.ChargeStatusException 计费状态异常。