RecognizePaymentRecord - 支付详情页识别

支持包括收款方名称、合计金额、付款方式、商品说明、支付时间等关键字段结构化识别输出。

接口说明

本接口适用场景

  • 阿里云支付详情页识别,是阿里云官方自研 OCR 文字识别产品,适用于识别支付详情页所包含的收款方名称、合计金额、付款方式、商品说明、支付时间等关键信息的场景。
  • 阿里云 OCR 产品基于阿里巴巴达摩院强大的 AI 技术及海量数据,历经多年沉淀打磨,具有服务稳定、操作简易、实时性高、能力全面等几大优势。
  • 本接口图片示例

本接口核心能力

分类概述
图像增强默认支持图像增强,包括图像自动旋转、畸变自动矫正、模糊图片自动增强等能力。
多类型覆盖支持模糊、光照不均、透视畸变、任意背景等低质量图像识别。
高精度识别总体识别准确率可达 98%。

如何使用本接口

步骤概述
1开通 票据凭证识别 服务。开通服务前后,您可以通过体验馆免费体验本功能识别效果。
2购买票据凭证识别资源包。本 API 会赠送免费额度,可使用免费额度测试。您也可以不购买资源包,系统会通过“按量付费”方式按实际调用量自动扣款。
3可以参照调试页面提供的代码示例完成 API 接入开发。接入完成后,调用 API 获取识别结果。如果使用子账号调用接口,需要阿里云账号(主账号)对 RAM 账号进行授权。创建 RAM 用户的具体操作,请参考:创建 RAM 用户。文字识别服务提供一种系统授权策略,即 AliyunOCRFullAccess。具体授权操作,请参见在用户页面为 RAM 用户授权。

重要提示

类型概述
图片格式
  • 本接口支持:PNG、JPG、JPEG、BMP、GIF、TIFF、WebP。暂不支持 PDF 格式。
图片尺寸
  • 图片长宽需要大于 15 像素,小于 8192 像素。
  • 长宽比需要小于 50。
  • 如需达到较好识别效果,建议长宽均大于 500px。
  • 图片尺寸过小,会影响识别精度。图片内单字大小在 10-50px 内时,识别效果较好。
图片大小
  • 图片二进制文件不能超过 10MB。
  • 图片过大会影响接口响应速度,建议使用小于 1.5M 图片进行识别,且通过传图片 URL 的方式调用接口。
其他提示
  • 接口会自动处理反光、扭曲等干扰信息,但会影响精度。请尽量选择清晰度高、无反光、无扭曲的图片。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用前面加 * 表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
ocr:RecognizePaymentRecordget
*全部资源
*

请求参数

名称类型必填描述示例值
Urlstring
  • 本字段和 body 字段二选一,不可同时透传或同时为空。
  • 图片链接(长度不超 2048 字节,不支持 base64)。
https://help-static-aliyun-doc.aliyuncs.com/file-manage-files/zh-CN/20241223/cwjjoo/%E6%94%AF%E4%BB%98%E8%AF%A6%E6%83%85%E9%A1%B5%E8%AF%86%E5%88%AB.png
bodybyte
  • 本字段和 URL 字段二选一,不可同时透传或同时为空。
  • 图片二进制文件,最大 10MB。
  • 使用 HTTP 方式调用,把图片二进制文件放到 HTTP body 中上传即可。
  • 使用 SDK 的方式调用,把图片放到 SDK 的 body 中即可。
图片二进制

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

请求唯一 ID

43A29C77-405E-4CC0-BC55-EE694AD00655
Datastring

返回数据

{"data": {"recipientName": "中国铁路网络有限公司", "totalAmount": "-198.00", "paymentMethod": "花呗", "description": "火车票", "paymentTime": "2019-07-21 12:45", "orderNumber": "2019072122001457521050262559"}, "ftype": 0, "height": 1184, "orgHeight": 1263, "orgWidth": 674, "prism_keyValueInfo": [{"key": "recipientName", "keyProb": 100, "value": "中国铁路网络有限公司", "valuePos": [{"x": 158, "y": 146}, {"x": 448, "y": 136}, {"x": 450, "y": 166}, {"x": 160, "y": 177}], "valueProb": 100}, {"key": "totalAmount", "keyProb": 100, "value": "-198.00", "valuePos": [{"x": 207, "y": 204}, {"x": 406, "y": 198}, {"x": 407, "y": 246}, {"x": 208, "y": 252}], "valueProb": 100}, {"key": "paymentMethod", "keyProb": 100, "value": "花呗", "valuePos": [{"x": 502, "y": 364}, {"x": 561, "y": 362}, {"x": 562, "y": 392}, {"x": 502, "y": 393}], "valueProb": 100}, {"key": "description", "keyProb": 100, "value": "火车票", "valuePos": [{"x": 517, "y": 492}, {"x": 603, "y": 489}, {"x": 604, "y": 518}, {"x": 519, "y": 522}], "valueProb": 100}, {"key": "paymentTime", "keyProb": 100, "value": "2019-07-21 12:45", "valuePos": [{"x": 389, "y": 564}, {"x": 607, "y": 555}, {"x": 608, "y": 580}, {"x": 391, "y": 590}], "valueProb": 100}, {"key": "orderNumber", "keyProb": 100, "value": "2019072122001457521050262559", "valuePos": [{"x": 179, "y": 638}, {"x": 606, "y": 620}, {"x": 607, "y": 644}, {"x": 181, "y": 663}], "valueProb": 100}], "sliceRect": {"x0": 2, "y0": 99, "x1": 631, "y1": 75, "x2": 669, "y2": 1251, "x3": 33, "y3": 1258}, "width": 668}
Codestring

错误码(如果识别成功,不会返回此字段)

noPermission
Messagestring

错误提示(如果识别成功,不会返回此字段)

You are not authorized to perform this operation.

返回参数说明


字段类型说明
dataobject结构化信息。
prism_keyValueInfolist结构化信息的坐标信息。
ftypeint是否为复印件(1:是,0:否)。
heightint算法矫正图片后的高度。
widthint算法矫正图片后的宽度。
orgHeightint原图的高度。
orgWidthint原图的宽度。
sliceRectlist检测出的子图坐标信息。

结构化信息(data 字段)

字段类型说明
descriptionstring商品说明。
orderNumberstring订单号。
paymentMethodstring付款方式。
paymentTimestring支付时间。
recipientNamestring收款方名称。
totalAmountstring合计金额。

结构化坐标信息(prism_keyValueInfo 字段)

字段类型说明
keystring识别出的字段名称。
keyProbint字段名称置信度。
valuestring识别出的字段名称对应的值。
valueProbint字段名称对应值的置信度。
valuePoslist字段在原图中的四个点坐标(左上、右上、右下、左下)。

示例

正常返回示例

JSON格式

{
  "RequestId": "43A29C77-405E-4CC0-BC55-EE694AD00655",
  "Data": {
    "data": {
      "recipientName": "中国铁路网络有限公司",
      "totalAmount": -198,
      "paymentMethod": "花呗",
      "description": "火车票",
      "paymentTime": "2019-07-21 12:45",
      "orderNumber": 2.0190721220014575e+27
    },
    "ftype": 0,
    "height": 1184,
    "orgHeight": 1263,
    "orgWidth": 674,
    "prism_keyValueInfo": [
      {
        "key": "recipientName",
        "keyProb": 100,
        "value": "中国铁路网络有限公司",
        "valuePos": [
          {
            "x": 158,
            "y": 146
          },
          {
            "x": 448,
            "y": 136
          },
          {
            "x": 450,
            "y": 166
          },
          {
            "x": 160,
            "y": 177
          }
        ],
        "valueProb": 100
      },
      {
        "key": "totalAmount",
        "keyProb": 100,
        "value": -198,
        "valuePos": [
          {
            "x": 207,
            "y": 204
          },
          {
            "x": 406,
            "y": 198
          },
          {
            "x": 407,
            "y": 246
          },
          {
            "x": 208,
            "y": 252
          }
        ],
        "valueProb": 100
      },
      {
        "key": "paymentMethod",
        "keyProb": 100,
        "value": "花呗",
        "valuePos": [
          {
            "x": 502,
            "y": 364
          },
          {
            "x": 561,
            "y": 362
          },
          {
            "x": 562,
            "y": 392
          },
          {
            "x": 502,
            "y": 393
          }
        ],
        "valueProb": 100
      },
      {
        "key": "description",
        "keyProb": 100,
        "value": "火车票",
        "valuePos": [
          {
            "x": 517,
            "y": 492
          },
          {
            "x": 603,
            "y": 489
          },
          {
            "x": 604,
            "y": 518
          },
          {
            "x": 519,
            "y": 522
          }
        ],
        "valueProb": 100
      },
      {
        "key": "paymentTime",
        "keyProb": 100,
        "value": "2019-07-21 12:45",
        "valuePos": [
          {
            "x": 389,
            "y": 564
          },
          {
            "x": 607,
            "y": 555
          },
          {
            "x": 608,
            "y": 580
          },
          {
            "x": 391,
            "y": 590
          }
        ],
        "valueProb": 100
      },
      {
        "key": "orderNumber",
        "keyProb": 100,
        "value": 2.0190721220014575e+27,
        "valuePos": [
          {
            "x": 179,
            "y": 638
          },
          {
            "x": 606,
            "y": 620
          },
          {
            "x": 607,
            "y": 644
          },
          {
            "x": 181,
            "y": 663
          }
        ],
        "valueProb": 100
      }
    ],
    "sliceRect": {
      "x0": 2,
      "y0": 99,
      "x1": 631,
      "y1": 75,
      "x2": 669,
      "y2": 1251,
      "x3": 33,
      "y3": 1258
    },
    "width": 668
  },
  "Code": "noPermission",
  "Message": "You are not authorized to perform this operation."
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2022-03-16新增 OpenAPI查看变更详情

SDK 调用 通过 SDK 调用此接口的示例请参考开发者中心