发票查验
<h3>接口描述</h3>
<ul>
<li>查验发票是否真实</li>
<li>支持增值税发票和全电发票</li>
<li>每张发票每天最多可查验5次</li>
</ul>
<h3>请求地址</h3>
<p><code>https://api-hw.jumdata.com/invoice/validate</code></p>
<h3>请求方式</h3>
<ul>
<li>GET/POST</li>
</ul>
<h3>请求格式</h3>
<ul>
<li>x-www-form-urlencoded</li>
</ul>
<h3>请求参数</h3>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必须</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>服务商分配的唯一标识</td>
</tr>
<tr>
<td>timestamp</td>
<td>Long</td>
<td>是</td>
<td>当前时间戳</td>
</tr>
<tr>
<td>sign</td>
<td>String</td>
<td>是</td>
<td>签名,详见签名算法说明</td>
</tr>
<tr>
<td>fpdm</td>
<td>String</td>
<td>否</td>
<td>发票代码 【注意:除全电票外,其他必传】</td>
</tr>
<tr>
<td>fphm</td>
<td>String</td>
<td>是</td>
<td>发票号码</td>
</tr>
<tr>
<td>kprq</td>
<td>String</td>
<td>是</td>
<td>开票日期 格式YYYYMMDD</td>
</tr>
<tr>
<td>xym</td>
<td>String</td>
<td>否</td>
<td>校验码 除专票外 其他必填</td>
</tr>
<tr>
<td>bhsje</td>
<td>String</td>
<td>否</td>
<td>不含税金额 【注意:除普票外 其他必填。全电票传含税金额,其他发票传不含税金额】</td>
</tr>
</tbody>
</table>
<h3>签名算法说明</h3>
<p><code>sign = sha256(appId + appSecret + timestamp)</code></p>
<p>用服务商分配的 appId、服务商分配的 appSecret,当前时间时间戳 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:</p>
<pre><code class="language-java">String appId = &quot;xyzxy2121zxyz&quot;;
String timestamp = &quot;1555378976238&quot;;
String appSecret = &quot;efcefcef1121cefcefc1212121&quot;;
String str = appId + appSecret + timestamp;
String sign = sha256(str);</code></pre>
<h3>成功返回样例</h3>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;, //code对应的描述
&quot;code&quot;: 200, // 200 指接口调用成功,详见code返回码说明
&quot;taskNo&quot;: &quot;12552230716560623515&quot;, // 本次唯一请求号
&quot;data&quot;: {
&quot;result&quot;: 1,//1 一致 ; 2 不一致 ; 3 查无此票;
&quot;message&quot;:&quot;一致&quot;, // result对应的描述
&quot;info&quot;: {//发票信息,仅在一致时返回
&quot;salerName&quot;: &quot;&quot;,//销方名称
&quot;salerAccount&quot;:&quot;&quot;,//销方开户行及账号
&quot;blueInvoiceCode&quot;:&quot;&quot;,//蓝票发票代码
&quot;blueInvoiceNo&quot;:&quot;&quot;,//蓝票发票号码
&quot;idNo&quot;:&quot;&quot;,//购方身份证号/组织机(机动车发票)
&quot;vehicleType&quot;:&quot;&quot;,//车辆类型(机动车\二手车发票)
&quot;bandModel&quot;:&quot;&quot;,//厂牌型号(机动车\二手车发票)
&quot;produceArea&quot;:&quot;&quot;,//产地(机动车发票)
&quot;qualifiedNo&quot;:&quot;&quot;,//合格证号(机动车发票)
&quot;commodityInspectionNo&quot;:&quot;&quot;,//商检单号(机动车发票)
&quot;engineNo&quot;:&quot;&quot;,//商检单号(机动车发票)
&quot;vehicleIdentificationNo&quot;:&quot;&quot;,//车辆识别代号/车架号码(机动车发票)
&quot;certificateOfImport&quot;:&quot;&quot;,//进口证明书号(机动车发票)
&quot;taxAuthorityCode&quot;:&quot;&quot;,//主管税务机关代码(机动车发票)
&quot;taxPaymentCertificateNo&quot;:&quot;&quot;,//完税凭证号码(机动车发票)
&quot;limitedPeopleCount&quot;:&quot;&quot;,//限乘人数(机动车发票)
&quot;taxAuthorityName&quot;:&quot;&quot;,//主管税务机关名称(机动车发票)
&quot;tonnage&quot;:&quot;&quot;,//吨位(机动车发票)
&quot;taxRate&quot;:&quot;&quot;,//税率(机动车发票)
&quot;salerAddress&quot;:&quot;&quot;,//销方地址(机动车发票)
&quot;salerPhone&quot;:&quot;&quot;,//销方电话(机动车发票)
&quot;salerBankName&quot;:&quot;&quot;,//销方开户银行(机动车发票)
&quot;salerBankAccount&quot;:&quot;&quot;,//销方开户账号(机动车发票)
&quot;carrierName&quot;:&quot;&quot;,//承运人名称(货运发票)
&quot;carrierTaxNo&quot;:&quot;&quot;,//承运人识别号(货运发票)
&quot;draweeName&quot;:&quot;&quot;,//受票方名称(货运发票)
&quot;draweeTaxNo&quot;:&quot;&quot;,//受票方识别号(货运发票)
&quot;receiveName&quot;:&quot;&quot;,//收货人名称(货运发票)
&quot;receiveTaxNo&quot;:&quot;&quot;,//收货人识别号(货运发票)
&quot;consignorName&quot;:&quot;&quot;,//发货人名称(货运发票)
&quot;consignorTaxNo&quot;:&quot;&quot;,//发货人识别号(货运发票)
&quot;transportGoodsInfo&quot;:&quot;&quot;,//运输货物信息(货运发票)
&quot;throughAddress&quot;:&quot;&quot;,//起运地、经由、到达地(货运发票)
&quot;taxDiskNumber&quot;:&quot;&quot;,//税控盘号(货运发票)
&quot;carNumber&quot;:&quot;&quot;,//车种车号(货运发票)
&quot;vehicleTonnage&quot;:&quot;&quot;,//车船吨位(货运发票)
&quot;trafficFeeFlag&quot;:&quot;&quot;,//通行费发票 Y-可抵扣通行费 N-不可抵扣通行费
&quot;zeroTaxRateFlag&quot;:&quot;&quot;,//零税率标志(通行费发票) 非零税率 1:税率栏位显示“免税”,2:税率栏位显示“不征税”,3:零税率
&quot;licensePlate&quot;:&quot;&quot;,//车牌照号(二手车发票)
&quot;registrationNo&quot;:&quot;&quot;,//登记证号(二手车发票)
&quot;carPrice&quot;:&quot;&quot;,//车价合计(二手车发票)
&quot;transferredVehicleOffice&quot;:&quot;&quot;,//转入地车辆车管所名称
&quot;buyerUnitOrIndividual&quot;:&quot;&quot;,//买方单位/个人(二手车发票)
&quot;buyerUnitCodeOrIdNo&quot;:&quot;&quot;,//买方单位代码/身份证号(二手车发票)
&quot;buyerUnitOrIndividualAddress&quot;:&quot;&quot;,//买方单位/个人住址(二手车发票)
&quot;buyerPhone&quot;:&quot;&quot;,//买方电话(二手车发票)
&quot;sellerUnitOrIndividual&quot;:&quot;&quot;,//卖方单位/个人(二手车发票)
&quot;sellerUnitCodeOrIdNo&quot;:&quot;&quot;,//卖方单位代码/身份证号(二手车发票)
&quot;sellerUnitOrIndividualAddress&quot;:&quot;&quot;,//卖方单位/个人住址(二手车发票)
&quot;sellerPhone&quot;:&quot;&quot;,//卖方电话(二手车发票)
&quot;businessUnit&quot;:&quot;&quot;,//经营、拍卖单位(二手车发票)
&quot;businessUnitAddress&quot;:&quot;&quot;,//经营、拍卖单位地址(二手车发票)
&quot;businessUnitTaxNo&quot;:&quot;&quot;,//经营、拍卖单位纳税人识别号(二手车发票)
&quot;businessUnitBankAndAccount&quot;:&quot;&quot;,//开户银行及账号(二手车发票)
&quot;businessUnitPhone&quot;:&quot;&quot;,//经营、拍卖单位电话(二手车发票)
&quot;lemonMarket&quot;:&quot;&quot;,//二手车市场(二手车发票)
&quot;lemonMarketTaxNo&quot;:&quot;&quot;,//二手车市场纳税人识别号(二手车发票)
&quot;lemonMarketAddress&quot;:&quot;&quot;,//二手车市场地址(二手车发票)
&quot;lemonMarketBankAndAccount&quot;:&quot;&quot;,//二手车市场开户银行及账号(二手车发票)
&quot;lemonMarketPhone&quot;:&quot;&quot;,//二手车市场电话(二手车发票)
&quot;remark_b64&quot;: &quot;&quot;,//备注base64
&quot;invoiceAmount&quot;: &quot;0.00&quot;,//发票金额
&quot;remark&quot;: &quot;&quot;,//备注
&quot;payee&quot;: &quot;&quot;,//收款人
&quot;salerTaxNo&quot;: &quot;&quot;,//销方税号
&quot;invoiceType&quot;: &quot;01&quot;,//发票类型,详见发票类型
&quot;machineNo&quot;: &quot;&quot;,//机器编号
&quot;invoiceNo&quot;: &quot;&quot;,//发票号码
&quot;buyerAddressPhone&quot;: &quot;&quot;,//购方地址、电话
&quot;qdbz&quot;: &quot;0&quot;,//清单标记 0-sh
&quot;cancellationMark&quot;: &quot;0&quot;,// 作废标志 1-已作废 0-未作废
&quot;hcbz&quot;: &quot;0&quot;,//红冲标记 0-未红冲,1-全额红冲,2-部分红冲
&quot;buyerTaxNo&quot;: &quot;&quot;,//购方税号
&quot;salerBankAccount&quot;: &quot;招商银行股份有限公司&quot;,//销方开户账号(机动车发票)
&quot;checkCount&quot;: 12,//查验次数
&quot;drawer&quot;: &quot;&quot;,//开票人
&quot;reviewer&quot;: &quot;&quot;,//复核人
&quot;invoiceDate&quot;: &quot;20211117&quot;,//开票日期 yyyMMdd
&quot;buyerName&quot;: &quot;&quot;,//购方名称
&quot;invoiceCode&quot;: &quot;&quot;,//发票代码
&quot;checkCode&quot;: &quot;&quot;,//校验码
&quot;totalAmount&quot;: &quot;1440&quot;,//价税合计
&quot;salerAddressPhone&quot;: &quot;浙江省杭州市余杭区余杭街道&quot;,//销方地址、电话
&quot;buyerAccount&quot;: &quot;&quot;,//购方开户行及账号
&quot;taxAmount&quot;: &quot;81.51&quot;,//发票税额
&quot;dq&quot;:&quot;内蒙古自治区&quot;, //地区
&quot;detailList&quot;: [//明细
{
&quot;unitPrice&quot;: &quot;1358&quot;,//不含税单价
&quot;taxRate&quot;: &quot;6.0&quot;,//税率
&quot;taxUnitPrice&quot;: &quot;&quot;,//含税单价
&quot;unit&quot;: &quot;&quot;,//计量单位
&quot;expenseItem&quot;:&quot;&quot;,//费用项目
&quot;plateNo&quot;:&quot;&quot;,//车牌号
&quot;type&quot;:&quot;&quot;,//类型(货运发票)
&quot;trafficDateStart&quot;:&quot;&quot;,//通行日期起(通行费发票)
&quot;trafficDateEnd&quot;:&quot;&quot;,//通行日起止(通行费发票)
&quot;specificationModel&quot;: &quot;&quot;,//规格型号
&quot;num&quot;: &quot;1&quot;,//数量
&quot;detailNo&quot;: &quot;1&quot;,//明细编号
&quot;detailAmount&quot;: &quot;1358.49&quot;,//金额
&quot;taxAmount&quot;: &quot;81.51&quot;,//税额
&quot;goodsName&quot;: &quot;*现代服务*技术服务费&quot;,//货物名称
&quot;flbm&quot;: &quot;&quot;,//发票编号
&quot;taxDetailAmount&quot;: &quot;&quot;//含税金额
}
]
}
}
}
</code></pre>
<h3>失败返回样例</h3>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;发票编号不能为空&quot;,
&quot;code&quot;: 400
}</code></pre>
<h3>返回字段说明</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>返回码,详见返回码说明</td>
</tr>
<tr>
<td>msg</td>
<td>code对应的描述</td>
</tr>
<tr>
<td>charge</td>
<td>计费标志</td>
</tr>
<tr>
<td>taskNo</td>
<td>本次请求号</td>
</tr>
<tr>
<td>data</td>
<td>返回具体结果,详见成功返回样例</td>
</tr>
</tbody>
</table>
<h3>code返回码说明</h3>
<table>
<thead>
<tr>
<th>code</th>
<th><div style="width:400px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功(计费)</td>
</tr>
<tr>
<td>203</td>
<td>超过该张票当天查验次数,税局规定的每张发票一天只能调用5次</td>
</tr>
<tr>
<td>204</td>
<td>查验发票张数超过限制</td>
</tr>
<tr>
<td>205</td>
<td>超过五年的发票不能查验,请核对开票日期是否正确</td>
</tr>
<tr>
<td>206</td>
<td>当前发票正在查验中,请稍后重试</td>
</tr>
<tr>
<td>400</td>
<td>参数错误</td>
</tr>
<tr>
<td>411</td>
<td>查询发票不规范, 请核对参数是否符合发票规范</td>
</tr>
<tr>
<td>412</td>
<td>开票日期超过当前日期,请核对开票日期是否正确</td>
</tr>
<tr>
<td>404</td>
<td>请求地址不正确</td>
</tr>
<tr>
<td>500</td>
<td>服务商维护,请稍候再试</td>
</tr>
<tr>
<td>502</td>
<td>网络故障,请稍候再试</td>
</tr>
<tr>
<td>601</td>
<td>接口未开通</td>
</tr>
<tr>
<td>602</td>
<td>账号停用</td>
</tr>
<tr>
<td>603</td>
<td>余额不足请充值</td>
</tr>
<tr>
<td>604</td>
<td>接口停用</td>
</tr>
<tr>
<td>606</td>
<td>调用超限,请稍候再试</td>
</tr>
<tr>
<td>607</td>
<td>ip不在白名单</td>
</tr>
<tr>
<td>609</td>
<td>请求过于频繁,请稍候再试</td>
</tr>
<tr>
<td>610</td>
<td>请求超时</td>
</tr>
<tr>
<td>999</td>
<td>其他,以实际返回为准</td>
</tr>
</tbody>
</table>
<h3>发票类型</h3>
<p><a href="https://www.showdoc.com.cn/p/ec82c9f1cb47cd306fea5b700d3ca953">https://www.showdoc.com.cn/p/ec82c9f1cb47cd306fea5b700d3ca953</a></p>