发票查验/发票验真如何用Java实现接口调用

一、什么是发票查验?发票验真接口?

       输入发票基本信息发票代码、发票号码、开票日期、校验码后6位、不含税金额、含税金额,核验发票真伪。 该接口也适用于机动车、二手车销售发票、航空运输电子客票、铁路电子客票等。

二、如何用Java实现接口调用?

下面我们以阿里云接口为例,具体示例代码如下:

接口地址:https://market.aliyun.com/apimarket/detail/cmapi00069751?#sku=yuncode6375100002public static void main(String[] args) {String host = "https://kzinvoice.market.alicloudapi.com";String path = "/api-mall/api/invoice/check";String method = "POST";String appcode = "你自己的AppCode";Map<String, String> headers = new HashMap<String, String>();//最后在header中的格式(中间是英文空格)为Authorization:APPCODE 83359fd73fe94948385f570e3c139105headers.put("Authorization", "APPCODE " + appcode);//根据API的要求,定义相对应的Content-Typeheaders.put("Content-Type", "application/x-www-form-urlencoded; charset=UTF-8");Map<String, String> querys = new HashMap<String, String>();Map<String, String> bodys = new HashMap<String, String>();bodys.put("invoiceCode", "invoiceCode");bodys.put("invoiceNo", "2533200****09684");bodys.put("invoiceDate", "20250221");bodys.put("invoiceAmt", "3000");bodys.put("checkCode", "checkCode");try {/*** 重要提示如下:* HttpUtils请从* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/src/main/java/com/aliyun/api/gateway/demo/util/HttpUtils.java* 下载** 相应的依赖请参照* https://github.com/aliyun/api-gateway-demo-sign-java/blob/master/pom.xml*/HttpResponse response = HttpUtils.doPost(host, path, method, headers, querys, bodys);System.out.println(response.toString());//获取response的body//System.out.println(EntityUtils.toString(response.getEntity()));} catch (Exception e) {e.printStackTrace();}}

成功返回示例如下:

{"msg": "成功","success": true,"code": 200,"data": {"code": 200,  //200 发票核验一致,500等其它不一致"inArea": "浙江","inDate": "2025-02-21","inCode": "","inTotalAmtCn": "叁仟圆整","salerInfo": {"addressPhone": "浙江省杭州市*****7000","name": "杭州快证签科技有限公司","taxNo": "9133****3HP04","account": "销方开户银行:****0011"},"reviewer": "","inTaxAmt": "29.70","delFlag": "0","message": "发票查验成功","payee": "","inTotalAmt": "3000.00","buyerInfo": {"addressPhone": "","name": "北京****公司","taxNo": "91420****P7B","account": ""},"tradeInfos": [{"tradeAmt": "2970.30","unitPrice": "","taxRate": "0.010","number": "","tradeName": "*信息技术服务*信息服务费","unit": "","taxTypeNo": "3040203000000000000","typeNo": "","taxAmt": "29.70"}],"checkTime": "2025-02-23 20:25:20","respTime": "2025-02-23 20:25:20","inNo": "253320****9684","inCheckCode": "253320****509684","inAmt": "2970.30","inMachineNo": "","inType": "电子发票(增值税专用发票)","remarks": ""}
}
//data下面注释
//----------------------------------标准发票--------------------------------------------{"code":200,//响应码,200-成功,请参考响应码说明"respTime": "2000-01-10 15:48:18",//响应时间"message": "发票查验成功",//响应信息"inArea":"重庆",//发票区域"inDate":"20100417",//开票日期"inCode":"50****2130",//发票代码"checkTime":"2000-12-31 15:35:44",//查验时间"inTotalAmtCn":"叁万贰仟捌佰肆拾玖圆叁角零分整",//开票总金额大写"salerInfo":{//销售方信息"addressPhone":"重庆市**街道131****3456",//销售方地址、联系电话"name":"重庆市****有限公司",//销售方名称"taxNo":"925**********29",//销售方税号"account":"重庆******分理处030*****0007716"//销售方银行账号、开户行信息},"inTaxAmt":"325.23",//总税费"inTotalAmt":"32849.3",//开票总金额"buyerInfo":{//购买方信息"addressPhone":"重庆市**广场 023-89****20",//购买方地址、联系电话"name":"重庆***有限公司",//购买方名称"taxNo":"915********0265",//购买方税号"account":"中国建设银行**支行营业部50****521"//购买方银行账号、开户行信息},"tradeInfos":[//商品明细{"tradeAmt":"1922.28",//商品总金额"unitPrice":"17.475247524752475",//商品单价"taxRate":"0.01",//商品税率"number":"110",//商品数量"tradeName":"*非金属矿物制品*砼预制过梁",//商品名称"unit":"根",	//商品单位"typeNo":"1000*100*60",//商品规格"taxAmt":"19.22",//商品税费"taxTypeNo":"31000******"//税收分类编码}],"inNo":"0*****76",//发票号码"inCheckCode":"069**********813",//校验码"inAmt":"32524.07",//不计税金额"inMachineNo":"499******25",//机器编号"inType":"增值税专用发票",//发票类型"remarks":"",//备注"delFlag":"0"//作废红冲标致,0-正常,2-作废,3-红冲,7-部分红冲,8-全部红冲
}//----------------------------------机动车销售统一发票----------------------------------
{"code":200,//响应码,200-成功,请参考响应码说明"respTime": "2000-01-10 15:48:18",//响应时间"message": "发票查验成功",//响应信息"takeOrgName":"",//主管税务机关"inDate":"",//开票日期"inArea":"",//发票区域 "checkTime":"2000-12-31 15:35:44",//查验时间"tradeInfos":[//交易详情{"factoryTypeNo":"",//厂牌型号"taxRate":"",//增值税税率或征收率"motorNo":"",//发动机号码"taxProveNo":"",//完税凭证号码"carType":"",//车辆类型"productArea":"",//产地"tradeCheckNo":"",//商检单号"qualifyPaper":"",//合格证号"carIdNo":"",//车辆识别代号/车架号码"tonnage":"",//吨位"passengerLimit":"",//限乘人数"importProveNo":""//进口证明书号}],"inCode":"",//发票代码"inTotalAmtCn":"",//价税合计金额大写"salerInfo":{//销货单位信息"telPhone":"",//电话"bank":"",//开户银行"address":"",//地址"name":"",//销货单位名称"taxNo":"",//销货单位纳税人识别号"account":""//账号},"inTaxAmt":"",//增值税税额"delFlag":"0",//作废红冲标致,0-正常,2-作废,3-红冲,7-部分红冲,8-全部红冲"takeOrgId":"",//主管税务机关代码"inTotalAmt":"",//价税合计"buyerInfo":{ //购买方信息"name":"", //购买方名称"taxNo":"", //购买方组织机构代码"idNo":""  //购买方纳税人识别号},"inNo":"", //发票号码"inAmt":"",	//不含税价"inMachineNo":"", //机器编码"inType":"机动车销售统一发票" //发票类型
}//---------------------------二手车销售统一发票------------------------
{"code":200,//响应码,200-成功,请参考响应码说明"respTime": "2000-01-10 15:48:18",//响应时间"message": "发票查验成功",//响应信息"inDate":"",//开票日期"inArea":"",//发票区域 "inCode":"",//发票代码"inTotalAmtCn":"",//价税合计金额大写"checkTime":"2000-12-31 15:35:44",  //查验时间"salerInfo":{//卖方单位/个人信息"telPhone":"",//电话"address":"",//卖方单位/个人住址"name":"",//卖方单位/个人"idNo":""//单位代码/身份证号码},"delFlag":"0",//作废红冲标致,0-正常,2-作废,3-红冲,7-部分红冲,8-全部红冲"inTotalAmt":"", //价税合计"buyerInfo":{//买方单位/个人信息"telPhone":"",//电话"address":"",//买方单位/个人住址"name":"",//买方单位/个人"idNo":""//单位代码/身份证号码},"auctionInfo":{//经营、拍卖单位信息"bank":"",//开户银行、账号"telPhone":"",//电话"address":"",//经营、拍卖单位地址"name":"",//经营、拍卖单位"taxNo":""//纳税人识别号},"marketInfo":{//二手车市场信息"bank":"",//开户银行、账号"telPhone":"",//电话"address":"",//地址"name":"",//二手车市场"taxNo":""//纳税人识别号},"tradeInfos":[//车辆信息{"factoryTypeNo":"",//厂牌型号"regNo":"",//登记证号"carType":"",//车辆类型"carNo":"",//车牌号"transArea":"",//转入地、车管所名称"carIdNo":""//车辆识别代号/车架号码}],"inNo":""//发票号码"inMachineNo":"",//机器编码"remarks":"",//备注"inType":"二手车销售统一发票"//发票类型
}		//---------------------------电子发票(航空运输电子客票行程单)------------------------
{"code":200,//响应码,200-成功,请参考响应码说明"respTime": "2000-01-10 15:48:18",//响应时间"message": "发票查验成功",//响应信息"inDate":"",//开票日期"inArea":"",发票区域"inCode":"",//发票代码"inTotalAmtCn":"",//价税合计金额大写"GPNo":"",//GP单号"voyageInfo":[//航程信息列表{"flightSegment":"",//航段"carrier":"",//承运人"flightNo":"",//航班号"ticketLevel":"",//客票级别/客票类型"carrierDate":"",//承运日期"destination":"",//目的站"takeoffTime":"",//起飞时间"departure":"",//始发站"seatLevel":""//座位等级}],"inTaxAmt":"",//增值税税额"delFlag":"0",//作废红冲标致,0-正常,2-作废,3-红冲,7-部分红冲,8-全部红冲"inTotalAmt":"",//价税合计"buyerInfo":{//购买方信息"name":"",//购买方名称"taxNo":""//购买方税号/纳税人识别号},"areaFlag":"",//国内国际标识"checkTime":"2000-12-31 15:35:44",  //查验时间"ticketNo":"",//电子客票号码"passenger":{//乘客信息"name":"",//乘客名称"IdNo":""//乘客证件号码},"inNo":"",//发票号码"inType":"电子发票(航空运输电子客票行程单)"//发票类型
}//---------------------------电子发票(铁路电子客票)------------------------
{"code":200,//响应码,200-成功,请参考响应码说明"respTime": "2000-01-10 15:48:18",//响应时间"message": "发票查验成功",//响应信息"departureTime":"",//出发时间"carriage":"",//车厢"inArea":"",//发票区域"trainNo":"",//车次"inTotalAmtCn":"",//价税合计金额大写(票价大写)"inTaxAmt":"",//总税费"delFlag":"0",//作废红冲标致,0-正常,2-作废,3-红冲,7-部分红冲,8-全部红冲"arrivalStation":"",//到达站"inTotalAmt":"",//价税合计金额(票价)"ticketNo":"",//电子客票号"seatClass":"",//座位级别(席别)"inAmt":"",//不含税金额"departureStation":"",//出发站"seatNo":"",//座位号(席位)"inType":"电子发票(铁路电子客票)",//发票类型"inDate":"",//开票日期"inCode":"",//发票代码"taxRate":"",//税率"businessType":"0",//业务类型:0-售,1-退"buyerInfo":{//买方信息"name":"", //买方名称"taxNo":"" //买方税号},"checkTime":"2000-01-01 15:43:39",//查验时间"passenger":{//乘客信息"name":"",//乘客姓名"IdNo":"" //乘客证件号},"airConFeatures":"",//空调特征"trainDate":"", //乘车日期"inNo":"" //发票号码
}									
//不一致data数据格式
{"code": 500,"respTime": "2025-02-23 20:00:04","message": "不一致"
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/74321.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

html5-qrcode前端打开摄像头扫描二维码功能

实现的效果如图所示&#xff0c;全屏打开并且扫描到二维码后弹窗提醒&#xff0c;主要就是使用html5-qrcode这个依赖库&#xff0c;html5-qrcode开源地址&#xff1a;GitHub - mebjas/html5-qrcode: A cross platform HTML5 QR code reader. See end to end implementation at:…

cpp-友元

理解 C 中的友元&#xff08;Friend&#xff09; 在 C 语言中&#xff0c;封装&#xff08;Encapsulation&#xff09; 是面向对象编程的重要特性之一。它允许类将数据隐藏在私有&#xff08;private&#xff09;或受保护&#xff08;protected&#xff09;成员中&#xff0c;…

JavaWeb基础-HTTP协议、请求协议、响应协议

一. HTTP协议 1. HTTP协议&#xff1a;Hyper Text Transfer Protocol&#xff0c;超文本传输协议&#xff0c;规定了浏览器和服务器之间数据传输的规则 2. HTTP协议特点&#xff1a; ① 基于TCP协议&#xff1a;面向链接&#xff0c;安全 ② 基于请求-响应模型的&#xff1a;一…

search_fields与filterset_fields的使用

在Django中&#xff0c;search_fields 和 filterset_fields 可以在视图类中使用&#xff0c;尤其是在 Django REST Framework (DRF) 中。它们分别用于实现搜索和过滤功能。以下是它们在视图类中的具体使用方法。 1. search_fields 在视图类中的使用 search_fields 是 DRF 中 S…

数据建模流程: 概念模型>>逻辑模型>>物理模型

数据建模流程 概念模型 概念模型是一种高层次的数据模型&#xff0c;用于描述系统中的关键业务概念及其之间的关系。它主要关注业务需求和数据需求&#xff0c;而不涉及具体的技术实现细节。概念模型通常用于在项目初期帮助业务人员和技术人员达成共识&#xff0c;确保对业务需…

在 Ubuntu 中用 Docker 安装 RAGFlow

一、安装 1.前提条件 CPU > 4 核 RAM > 16 GB Disk > 50 GB Docker > 24.0.0 & Docker Compose > v2.26.1 安装docker&#xff1a;在Ubuntu中安装Docker并配置国内镜像 2.设置 vm.max_map_count #设置 vm.max_map_count 不小于 262144# 查看 sysctl vm.…

Java随机生成n位验证码

Java学习笔记 今天写一个随机生成n位的验证码&#xff0c;包含字母大小写和数字&#xff0c;直接见代码。 package com.itheima.hello;// 生成一个随机位数的验证码 public class ScannerDemo1 {public static void main(String[] args){System.out.println(getCode(4));Syst…

go复习目录

全部都是博主的学习笔记&#xff0c;放着链接用的&#xff0c;自己收藏&#xff0c;包含基础内容、go三方包、vue、数据结构、web框架、设计模式、docker、go连接kafka、redis、grpc、中间件 文章目录 基础内容go三方包vue数据结构web框架设计模式dockergo连接kafkaredisgrpc中…

23种设计模式-创建型模式-抽象工厂

文章目录 简介场景问题1. 风格一致性失控2. 对象创建硬编码3. 产品族管理失效 解决总结 简介 抽象工厂是一种创建型设计模式&#xff0c;可以生成相关对象系列&#xff0c;而无需指定它们的具体类。 场景 假设你正在写一个家具店模拟器。 你的代码这些类组成&#xff1a; 相…

案例:网络命名空间模拟隔离主机场景

场景描述 假设我们需要在同一台物理机上模拟两台独立的主机&#xff08;Host A 和 Host B&#xff09;&#xff0c;它们分别位于不同的网络命名空间中&#xff0c;并通过虚拟以太网对&#xff08;veth pair&#xff09;进行通信。目标是展示网络命名空间的隔离性和跨命名空间的…

新闻发布时间抽取(二)

1. 再论抽取方法 在前一期实验中&#xff0c;对gne组件进行分析和完善&#xff0c;对三种时间抽取的方法进行了实验对比。 在对抽取结果进行个例分析的过程中&#xff0c;我发现此前实验存在几个问题&#xff1a; 抽取的1000篇新闻存在一定的重复&#xff0c;经过ID去重大约减…

算法基础——栈

一、栈的概念 栈是⼀种只允许在⼀端进⾏数据插⼊和删除操作的线性表。 进⾏数据插⼊或删除的⼀端称为栈顶&#xff0c;另⼀端称为栈底。不含元素的栈称为空栈。进栈就是往栈中放⼊元素&#xff0c;出栈就是将元素弹出栈顶。 二、栈的模拟实现 1. 创建 本质还是线性表&#…

Android11至15系统定制篇

Android 11至15系统定制核心要点解析 一、Android 11关键定制特性 ‌分区存储强制化‌ 公共目录&#xff08;如Downloads、Pictures&#xff09;与应用专属目录分离&#xff0c;应用更新后无法通过requestLegacyExternalStorage绕过限制‌1。需申请MANAGE_EXTERNAL_STORAGE权限…

macOS 使用 enca 识别 文件编码类型(比 file 命令准确)

文章目录 macOS 上安装 enca基本使用起因 - iconv关于 enca安装 Encaenca & enconv 其它用法 macOS 上安装 enca brew install enca基本使用 enca filepath.txt示例 $ enca 动态规划算法.txt [0] Simplified Chinese National Standard; GB2312CRLF line terminat…

线段树与扫描线 —— 详解算法思想及其C++实现

目录 一、线段树&#xff08;Segment Tree&#xff09; 基本概念 结构 操作 示例代码 二、扫描线&#xff08;Sweep Line&#xff09; 基本概念 应用场景 示例代码&#xff08;矩形面积并集&#xff09; 三、总结 一、线段树&#xff08;Segment Tree&#xff09; 基本…

汇编代码中嵌入回调函数的优化说明

一、概述 在 PowerPC 的汇编代码中&#xff0c;我们需要实现调用 C 函数&#xff08;例如回调函数&#xff09;&#xff0c;并传递参数。本文将详细介绍如何通过一系列步骤完成这一目标&#xff0c;包括代码示例和详细的注释。 二、调用 C 函数的基本步骤及代码 1. 保存工作寄…

Uni-App 双栏联动滚动组件开发详解 (电梯导航)

本文基于提供的代码实现一个左右联动的滚动组件&#xff0c;以下是详细的代码解析与实现原理说明&#xff1a; <!--双栏联动滚动组件 - 技术解析功能特性&#xff1a;1. 左侧导航栏与右侧内容区双向联动2. 自适应容器高度3. 平滑滚动定位4. 动态内容位置计算 --> <te…

软考复习-传输介质与编码

传输介质 双绞线 传输距离100一200m&#xff0c;即网线&#xff0c;有多种分类 UTP非屏蔽双绞线 STP屏蔽双绞线 线序标准有两种为&#xff1a; T568A标准&#xff1a;绿白、绿、橙白、蓝、蓝白、橙、棕白、棕 T568B标准&#xff1a;橙白、橙、绿白、蓝、蓝白、绿、棕白、…

论文阅读笔记:Denoising Diffusion Probabilistic Models (3)

论文阅读笔记&#xff1a;Denoising Diffusion Probabilistic Models (1) 论文阅读笔记&#xff1a;Denoising Diffusion Probabilistic Models (2) 论文阅读笔记&#xff1a;Denoising Diffusion Probabilistic Models (3) 4、损失函数逐项分析 可以看出 L L L总共分为了3项…

PyTorch 面试题及参考答案(精选100道)

目录 PyTorch 的动态计算图与 TensorFlow 的静态计算图有何区别?动态图的优势是什么? 解释张量(Tensor)与 NumPy 数组的异同,为何 PyTorch 选择张量作为核心数据结构? 什么是 torch.autograd 模块?它在反向传播中的作用是什么? 如何理解 PyTorch 中的 nn.Module 类?…