当前位置: 首页 > article >正文

银行卡OCR 识别 API 接口如何用PHP如何调用

随着金融科技以惊人的速度飞速发展,数字化与自动化在金融服务中的应用变得日益广泛起来。银行卡作为金融交易的重要载体,其信息的快速、准确获取已然成为了提升金融服务效率的关键所在。如今,随着科技的不断进步,人们对于金融服务的便捷性和高效性要求越来越高。银行卡 OCR 识别 API 接口的出现,为满足这些需求提供了有力的支持。

以下是银行卡OCR 识别 API 接口用PHP如何调用的示例代码:

<?php

$appKey = "您的appKey";
$appSecret= "您的appSecret";

$url = "https://api.shuxuntech.com/v1/bankcard/ocr";
$method = "POST";

$timestamp = getUnixTimestamp();
var_dump($timestamp);
$sign = hash('sha256',$appKey . $timestamp . $appSecret);
var_dump($sign);

$headers = array();
array_push($headers, "Content-Type" . ":" . "application/x-www-form-urlencoded; charset=UTF-8");
array_push($headers, "appKey" . ":" . appKey);
array_push($headers, "timestamp" . ":" . timestamp);
array_push($headers, "sign" . ":" . sign);

$image = "";
$imgUrl = "";
$bodys = "image=" . $image . "&imgUrl=" . $imgUrl;

$curl = curl_init();
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, $method);
curl_setopt($curl, CURLOPT_URL, $url);
curl_setopt($curl, CURLOPT_HTTPHEADER, $headers);
curl_setopt($curl, CURLOPT_POSTFIELDS, $bodys);
curl_setopt($curl, CURLOPT_FAILONERROR, false);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

if (1 == strpos("$".$url, "https://")) {
    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false);
}
var_dump(curl_exec($curl));

function getUnixTimestamp () {
    list($s1, $s2) = explode(' ', microtime());
    return sprintf('%.0f',(floatval($s1) + floatval($s2)) * 1000);
}

返回的数据:

(1)正确返回

{
    "code": "0",
    "msg": "成功",
    "isFee": 1,
    "seqNo": "14r4nmbcaqpgwptdgpbwpxd5kgt7zucj",
    "data": {
        "result": 1,
        "resultDesc": "识别成功,有数据",
        "info": {
            "bankcard": "6227002510680057642",
            "bank": "建设银行"
        }
    }
}

(2)错误返回

{
    "code": "1",
    "msg": "参数错误",
    "isFee": 0,
    "seqNo": null,
    "data": null
}

需要特别注意的是,在使用银行卡OCR 识别 API 之前,我们首先需要申请并获取 API Key,不同的平台获取 API Key 的方式可能会有所不同。但是这个 API Key 将作为我们身份验证的凭证,在后续的接口请求中必须携带。


http://www.kler.cn/a/415167.html

相关文章:

  • 不可分割的整体—系统思考的微妙法则
  • vitess使用记录:vtctldclient,设置分表规则
  • 110页PPT战略指南:剖析Cross SWOT分析、市场洞察与内部优化方案
  • SQLModel入门
  • Redis系列-哈希表
  • 将excel文件中的信息读取后批量生成word文件
  • 命令行使用ssh隧道连接远程mysql
  • 认识网络安全
  • 重构代码之将单向关联转换为双向关联
  • 【Npm】--legacy-peer-deps有什么用
  • CWT-CNN-SABO-LSSVM | Matlab实现基于CWT-CNN-SABO-LSSVM对滚动轴承的故障诊断
  • [241127] Mistral AI 更新 Le Chat,免费提供前沿 AI 助手!| TrendForce 预测 2025 十大科技趋势
  • 什么是第4层(TCP/UDP)和第7层(HTTP/HTTPS)
  • UDP客户端服务器通信
  • 原生微信小程序画表格
  • 嵌入式Rust小探
  • 利用树莓派Pico制作迷你小台灯:C++与硬件设计结合的分享
  • node.js基础学习-url模块-url地址处理(二)
  • JVM 常见面试题及解析(2024)
  • 网络安全(1)_对称加密和非对称加密
  • 本地局域 基于ip地址生成证书
  • 《Vue零基础入门教程》第十二课:双向绑定指令
  • 详细分析 npm run build 基本知识 | 不同环境不同命令
  • 数据库期末复习题库
  • Vue3组件异步懒加载defineAsyncComponent
  • 选择使用whisper.cpp进行语音转文字