功能模块接口 - 开票流程
## 综合服务云平台 - API功能模块接口明细
## 版本更新记录
|修订日期|修订内容|修订人|
|-|-|-|
|2020.07.15|云平台 V1.0 发布|彭晓伟|
## 开票时序图

>d 接口调用细节流程:
◆ 参数RSA加密[接口签名,加解密说明](https://easydoc.xyz/doc/90689852/YkCCKKo8/zVVCnXHl)
◆ 将加密结果以及公共参数拼接成新的字符串通过MD5加密生成签名
◆ 将公共参数以及签名通过header传输,参数加密结果通过body传输,发起http请求
◆ 返回结果解密[接口签名,加解密说明](https://easydoc.xyz/doc/90689852/YkCCKKo8/zVVCnXHl)
#### 接口响应参数都为如下固定json格式
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|resopnseType| 返回类型|int|是|无需关注此值|
|errorCode|错误码 |String|是|详情参考[系统错误码](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|errorMessage| 错误信息|String|是|详情参考[系统错误码](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|status|状态码|int|是|详情参考[系统错误码](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|success|是否成功|boolean|是|true:成功 false:失败|
|data|返回结果数据|String|否|只有当success为true才会有该值,该值为RSA加密值,需解密使用,解密规则请看[接口签名,加解密说明](https://easydoc.xyz/doc/90689852/YkCCKKo8/zVVCnXHl)|
## 4. 开票接口
## 4.1 申请开票
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 注意
>d 1.在调用开票申请接口前,需要调用 [3.6 个体户状态查询接口](https://easydoc.xyz/doc/90689852/YkCCKKo8/kf4eEg5c)查询
返回的taxStatus - 税务状态的状态变更为“已实名”,只有变更后,才能提交该个体户的开票申请;仅限新注册的个体户。
>2. 如果是老的个体户只需调用一次,保存在本地,后续可以不需要再去查询该个体户的税务状态信息。
#### 接口地址:/open/api/v1/ak/akApplyInvoice
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|idCard|个体户身份证|String|是||
|mainstayId|个体户注册地|String|是|该参数值由[查询所拥有的主体发票行业接口](https://easydoc.xyz/doc/90689852/YkCCKKo8/XUyNWEBU) 获得|
|bankNameAccount|个体户开户行及账户信息|String|否|例:中国工商银行杭州富春支行 330501164xxxxxxx|
|invoiceAmount|开票金额|String|是|精确到分 例如:"10.01"代表 十元零一分|
|invoiceCode|开票内容编码|String|是|该参数值由[查询所拥有的主体发票行业接口](https://easydoc.xyz/doc/90689852/YkCCKKo8/XUyNWEBU) 获得|
|taxPointConf|税点|String|是|税点 0代表税率为3% 1代表税率为1%|
|invoiceType|发票类型|String|是|0代表增值税普通发票 1代表增值税专用发票|
|remarks|开票备注|String|否||
|purchaserInvoiceTitle|购买方发票抬头|String|是|例:xxxx有限公司|
|purchaserTaxNumber|购买方税号|String|是|例:91330100FS234(纳税人识别号)|
|purchaserAddressPhone|购买方地址、电话|String|是|例:浙江省杭州市滨江区网商路xx号 130xxxx3381|
|purchaserBankAccount|购买方开户行及账号|String|是|例:中国工商银行杭州富春支行 330501164xxxxxxx|
|addressee|收件人|String|是|例:张三|
|phone|收件人电话|String|是|例:130xxxx3381|
|area|收件人所在地区|String|是|例:浙江省杭州市滨江区|
|detailAddress|收件人详细地址|String|是|网商路xx号 |
|email|收件人邮箱地址|String|是|130xxxxx@163.com|
#### 接口响应参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
|paymentAmount|应付总金额|BigDecimal|是|含增值税、附加税、个税、服务费 精确到分 例如:"10.01"代表 十元零一分|
|personIncomeTaxAmount|个税|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|additionalTaxAmount|附加税|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|serviceAmount|服务费|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|valueAddedTaxAmount|增值税|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|totalIncomeTaxAmount|个体户已缴纳个税|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|totalTaxableAmount|应纳个税金额|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|totalInvoiceAmount|发放前开票金额|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|status|开票状态|Integer|是|[2.开票状态码对照表](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|failReason|失败原因|String|是|该参数内容可能为空,成功的时候失败原因为空字符串|
#### 字段解释
(1)个体户已缴纳个税:指的是用户的个税选择的是累进制,记录用户之前已缴纳的个税金额。
(2)应纳个税金额:指的是本次开票金额里的应缴纳的个税金额。
(3)发放前开票金额:指的是记录个体户之前已开发票的总金额,由于个体户开票年度总金额的限制的原因;开票年度计算方式,如果用户在2019年10月份开过一次发票,他的年度限制就是到2020年的9月,如果用户是第一次新开发票,就以当前月份往后推12月的时间。
## 4.2 上传证据链接口
>d 注意:证据链 链接字段(urls)英文逗号分割,最多三个,如果文件和链接同时传,优先使用文件,两种方式(传证据链文件、传证据链 链接)至少传一种
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:/open/api/v1/ak/evidenceFileUpload
#### 请求方式:POST form-data方式
#### 请求参数说明:
|参数名称|数据类型|参数含义|是否必填|参数备注|
|-|-|-|-|-|
|files|MultipartFile数组|上传的文件|否|支持批量上传|
|data|String|该参数为发票订单号,上传文件类型json加密后的值|是|说明示例如下 |
>d data参数示例说明如下
```java
String paramsJson = "{'invoiceBillNo':'订单号','type':'1','urls':'https://xxxx/xxxx.pdf,https://xxxx/xxxx.png'}"
/*invoiceBillNo 为订单号*/
/*type为文件类型 1:业务合同文件 2:银行流水文件 3:自定义模板*/
/*urls上传证据文件链接,英文逗号分割*/
/*该处进行rsa加密*/
String data= RSAHelper.encryptByPublicKey(paramsJson, publicKey);
```
#### 响应参数解密后data字段说明:
|参数名称| 数据类型|参数含义| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceBillNo|String|发票单号|是||
|status|Integer|发票状态|是||
|businessContractFinish|boolean|业务合同是否上传完成|是||
|bankStatementFinish|boolean|银行流水文件是否上传完成|是||
|mark|String|备注说明|是||
java接口代码示例:
```java
@PostMapping(value = "/batchUpload")
@ResponseBody
@NoPermission
public String upload(MultipartFile[] files) {
String appKey = "贵司appke";
String version = "1.0";
String secretkey = "贵司secretkey ";
String publicKey = "贵司公钥";
/* 记得换baseUrl*/
String url = "http://127.0.0.1:8081/open/api/v1/ak/evidenceFileUpload";
try {
/**
* invoiceBillNo 发票订单号
* type 文件类别 1:业务合同文件 2:银行流水文件 3:自定义模板
*/
String paramJson = "{\"invoiceBillNo\":\"需要上传证据链的订单号\",\"type\":1,\"urls\":\"https://xxxx/xxxx.pdf,https://xxxx/xxxx.png\"}";
String data = "";
try {
/*参数加密*/
data = RSAHelper.encryptByPublicKey(paramJson, publicKey);
} catch (Exception e) {
e.printStackTrace();
}
String timestamp = String.valueOf(System.currentTimeMillis());
/*签名*/
String localString = data +"&Timestamp=" + timestamp + "&AppKey=" + appKey + "&Version=" + version + "&SecretKey" + secretkey;
String sigin = Md5Util.getMd5(localString);
MultipartBody.Builder builder = new MultipartBody.Builder().setType(MultipartBody.FORM);
for (int i=0;i< files.length;i++) {
byte[] bytes = files[i].getBytes();
okhttp3.RequestBody requestBody = okhttp3.RequestBody.create(MediaType.parse("application/octet-stream"), bytes);
builder.addFormDataPart("files",files[i].getName(),requestBody);
}
/*切记将 data 填充*/
builder.addFormDataPart("data",data);
Request request = new Request.Builder()
.post(builder.build())
.addHeader("AppKey", appKey)
.addHeader("Timestamp", timestamp)
.addHeader("Version", "1.0")
.addHeader("Sign", sigin)
.url(url)
.build();
Call call = HttpUtil.getOkHttpClient().newCall(request);
try {
Response response = call.execute();
String res = response.body().string();
log.info("res====" +res);
return res;
} catch (IOException e) {
log.error("HttpUtil.post网络请求失败:{}", e.getMessage());
return "网络请求失败";
} catch (Exception e) {
e.printStackTrace();
}
} catch (IOException e) {
log.warn("fail to read file", e);
}
return null;
}
```
>d postman 直接请求示例:

## 4.3 开票费用支付
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:/open/api/v1/ak/akInvoicePay
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
#### 接口响应参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
|status|开票状态|Integer|是|[开票状态码对照表](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|failReason|失败原因|String|是|该参数内容可能为空,成功的时候失败原因为空字符串|
## 4.4 开票结果查询
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:/open/api/v1/ak/akInvoiceResultQuery
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
#### 响应参数说明:
|参数名称| 参数含义| 数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
|invoiceStatus|开票状态|Integer|是|[开票状态码对照表](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|invoiceMainstayId|注册地|Integer|是||
|invoiceType|开票类型|Integer|是|0代表增值税普通发票 1代表增值税专用发票|
|invoiceAmount|开票金额|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
|invoiceContent|开票内容|String|是||
|invoiceRemark|开票备注|String|否||
|purchaserInvoiceTitle|购买方发票抬头|String|是|例:xxxx有限公司|
|purchaserTaxNumber|购买方纳税人识别号|String|是|例:91330100FS234(纳税人识别号)|
|purchaserPhoneAddress|购买方个体户手机号、注册地|String|是|例:浙江省杭州市滨江区网商路xx号 130xxxx3381|
|purchaserBankNameAccount|购买方开户行及账户信息|String|是|例:中国工商银行杭州富春支行 330501164xxxxxxx|
|addressee|收件人|String|是|例:张三|
|consignerMobile|收件人电话|String|是|例:130xxxx3381|
|area|收件人所在地区|String|是|例:浙江省杭州市滨江区|
|detailAddress|收件人详细地址|String|是|网商路xx号|
|email|收件人邮箱地址|String|否|130xxxxx@163.com|
|sellerInvoiceTitle|销售方发票抬头 |String|是|例:xxxx有限公司|
|sellerTaxNumber|销售方纳税人识别号|String|是|例:91330100FS234(纳税人识别号)|
|sellerPhoneAddress|销售方个体户手机号、注册地|String|是|例:浙江省杭州市滨江区网商路xx号 130xxxx3381|
|sellerBankNameAccount|销售方开户行及账户信息|String|是|例:中国工商银行杭州富春支行 330501164xxxxxxx|
|bankFlowProve|银行流水证明|String|是|例:xx.jpg,yy.pdf,zz.png |
|businessContract|业务合同|String|是|例:xx.jpg,yy.pdf,zz.png |
|otherProve|其他证明材料|String|是|例:xx.jpg,yy.pdf,zz.png|
|expressCompany|快递公司|String|是|例:顺丰速运有线公司|
|expressNo|快递单号|String|是|例:9899361402666|
|refuseReason|开票失败原因|String|是|当开票失败时,此值不为空|
|postStatus|邮寄状态|String|是|0:未邮寄 1.已邮寄|
## 4.5 余额查询
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:/open/api/v1/ak/akBalanceQuery
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
#### 接口响应参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|balance|账户余额|BigDecimal|是|精确到分 例如:"10.01"代表 十元零一分|
## 4.6 个体户开票状态回调接口
>d 该接口需要第三方自行编写提供接口到发放平台 接口编写示例如下。
#### 请求方式:POST
```java
@PostMapping("employedCallBack")
@ResponseBody
public String signCallBack(HttpServletRequest request, @RequestBody String data){
String publicKey = "该公钥由发放平台提供发放到贵司邮箱";
//解密
String decode = RSAHelper.decryptByPublicKey(data, publicKey);
/*贵公司处理业务逻辑*/
return "success";
}
```
解密工具类在 [JAVA_DEMO](https://gitee.com/xinfudblog/lxapi_java_demo) 的 RSAHelper 类中
>d 贵司写完后提供到接口url给发放平台即可。回调成功需返回success,不然回重复回调,至多重试5次
postman中模拟接口是否正常接收数据如下操作

#### 传给回调接口参数data 解密结果json说明:
解密结果示例如下:
```json
{"companyName":"bobo","companySocialCreditCode":"","idCard":"360111199504000000","license":"","mobile":"17366629999","name":"xxx","status":0};
```
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|name| 个体户姓名|String| 是||
|status| 个体户状态|Integer| 是|个体户注册详情请参阅[状态码对照表](https://easydoc.xyz/doc/90689852/YkCCKKo8/Y0HFC5LJ)|
|idCard| 个体户身份证|String| 是||
|mainstayName| 注册地|String| 是||
|companyName| 公司名|String| 是||
|companySocialCreditCode| 纳税人识别号|String| 是|例:91330100FS234(纳税人识别号)|
|mobile| 手机号|String| 是||
|license| 营业执照|String| 是||
|failReason| 拒绝原因|String| 是||
|url| 实名采集链接地址|String| 是||
## 4.7 服务费开票申请
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/ak/preCreateServiceInvoice
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|mainstayId|主体id|int|否||
|invoiceClassification|开票类型|int|是|0.增值税普通发票 1.增值税专用发票|
|remark|开票备注|int|否|备注|
|~~addressee~~|收件人|String|是|快递收件人|
|~~phone~~|联系电话|String|是||
|~~area~~|所在地区|String|是|例如:浙江省杭州市拱墅区|
|~~detailAddress~~|详细地址|String|是|例如:祥符街道大悦城A座1601室|
|~~email~~|电子邮箱|String|否|例如:130xxx@163.com|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|provisionalInvoiceNo|开票确认号|String|是||
|invoiceAmount|开票金额|String|是|开票金额|
|invoiceContent|开票内容|String|是||
|sellerInvoiceTitle|销售方发票抬头|String|是||
|sellerTaxNumber|销售方税号|String|是||
|sellerAddressPhone|销售方地址、电话|String|是||
|sellerBankAccount|销售方开户行及账号|String|是||
|purchaserInvoiceTitle|购买方发票抬头|String|是||
|purchaserTaxNumber|购买方税号|String|是||
|purchaserAddressPhone|购买方地址、电话|String|是||
|purchaserBankAccount|购买方开户行及账号|String|是||
```json
# 响应参数示例如下。只有当 success等于true的时候才会有data里面的值
{
"resopnseType":0,
"errorCode":"",
"errorMessage":"",
"status":0,
"data":"FD5ximjnUYLHMCmkpmrFucBqxSatZHw/vL0g94Ir0kbj3ll1If7L1K9EubwPmPDhEB/ZIzTOCrTDEShz/6q3oxZBoZTBOI3CHH3AzSv+i2aLEJGVFwhKUjCkN0BPday4wpQLBbcYrOLUE5Dx/uAAcYMFEbhbosUoIDpd7ozq6tB4hPACuloszugdt2BEzjRk7F8fQdny1thwWE0aZSdV6/Zx0lwdrGYX4KrJ9pMZm9k2LqzdUIycS/ewke5fX/XJkzjF59MxLcU+qeWGrk2EtguGPCEwIbHWtZdvMrq/Slgeouziy/pyIjktGPQB51O2cj59humLjFdCUNf3JV/SVkINjyOQQs1KheksYEWpbkK7qSShbpXnotTyV6jC+n8HTx4ac6DQcsX84Hj2yDRjtJKzenZxyVx2Zv5f4qtUbZhAhX0h4VwKrMoPOSfPFI5Cv4Re2LweNnoHME21J3cWKdy/oxUUJet/GrL6vtNg66QYSuquOrzGOqAt2AYORn9fe3/jzkXfO6g5ogHtTCjZp3uVuzW0rUCgB8a42LnCjA/E2pB0ZihNcx4iquvg5beiqYgexvXk2EsoR6Lywhjp1QFVbalLQWr52EsEAy9Z56p5Em4O3BiaAhnp7/S1WMCpMH261eF1C/vuXtd1QDKr1onEShb55ft0PNxypS3J1GpximWZH47ijZ+KMHY9zLPL867Pd4+0SCq/l9/DYo4Hw25BwwkyJDUU1P6E9iAo7ymdNnrvTjSD108PLhSq0U6LihK2sh7kDc/AE0f5IO6J1tHHCqIEnJbAgr6NkqcbNXLdPIebqmIrOvw5XOdo62cV1feRCvMTGw/CxwX7/0eEByNp7ARwiM8FlEyZX+3tr9FNxsFPSeFsx3jsFepgEbHwoCIBnw3wUnrJc2Z+x5nQNK09zZ7qnK0MoDtQCEzUIRo=",
"ext":null,
"extMessage":null,
"success":true
}
```
```json
#data解密后的内容:
{
"invoiceAmount":10058.35,
"provisionalInvoiceNo":"2020091817143583891968",
"invoiceContent":"信息技术服务*技术服务费",
"purchaserAddressPhone":"134567895585",
"purchaserBankAccount":"啊啊啊啊啊",
"purchaserInvoiceTitle":"",
"purchaserTaxNumber":"010203050408",
"sellerAddressPhone":"浙江省杭州市拱墅区隐秀路1号杭悦商业中心A座1604室 13777488831",
"sellerBankAccount":"1202021209900411273 工商银行杭州武林支行营业室",
"sellerInvoiceTitle":"浙江河马管家网络科技有限公司",
"sellerTaxNumber":"91330105MA2H1GKA4T"
}
```
## 4.8 服务费开票确认接口
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/ak/createServiceInvoice
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|provisionalInvoiceNo|开票订单号|String|是|预下单返回的开票订单号|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是|预下单订单号和开票订单一致|
|invoiceStatus|开票状态|int|是|参看系统编码 - 开票状态码,如果是待审核中状态说明已成功提交,等待审核即可,如果是待结算证明上传则还需要调用上传证明接口|
```json
# 响应参数示例如下。只有当 success等于true的时候才会有data里面的值
{
"resopnseType": 0,
"errorCode": "",
"errorMessage": "",
"status": 0,
"data": "lgKtpBOg8if9i9higcGTJbr36Q6EekvNYJOX2ObEd2zIr6hqC1f3LcyLRk18w3GvvHSxJJLMy2291SEvIGv4jJEsb6ttWH0NxcG1ogbeztuCkLdnKx4qeM2yPSJ6yXxpqwrLsYvIWWSAKlPCzF3AqULJGXWdhMB1op79lrN6CqYFOpsXKbjqD0A8epuoT4iqPqIKYI6CLo+dFlKkssnSyRrglUQrTQvtNz0y0j61Q2gFxADovRIoU6VlQqnGozFk",
"ext": null,
"extMessage": null,
"success": true
}
data解密后的内容:
{
"invoiceAmount": 10008.00,
"invoiceBillNo": "2020091817143583891968",
"invoiceStatus": 0
}
```
## 4.9 服务费开票查询接口
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/ak/queryServiceInvoicesStatus
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是|预下单返回的开票订单号|
#### 接口响应参数data字段解密后的参数说明:
|参数名称|参数含义| 数据类型|是否必有|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是|预下单订单号和开票订单一致|
|invoiceAmount|开票金额|String|是|开票金额|
|invoiceStatus|开票状态|int|是|0:待审核 1:待开票 2:已开票 3:已拒绝|
|invoiceContent|开票内容|String|是||
|remark|开票备注|String|是||
|purchaserInvoiceTitle|购买方发票抬头|String|是||
|purchaserTaxNumber|购买方税号|String|是||
|purchaserAddressPhone|购买方地址、电话|String|是||
|purchaserBankAccount|购买方开户行及账号|String|是||
|addressee|收件人|String|是||
|phone|联系电话|String|是||
|area|所在地区(省市县\区)|String|是||
|detailAddress|详细地址|String|是||
|email|电子邮箱|String|是||
|expressCompany|快递公司|String|是||
|expressNo|快递单号|String|是||
|refuseReason|拒绝原因|String|否|当invoiceStatus = 3 时,拒绝原因肯定不为空|
```json
# 响应参数示例如下。只有当 success等于true的时候才会有data里面的值
{
"resopnseType": 0,
"errorCode": "",
"errorMessage": "",
"status": 0,
"data": "sftRYvZ1t99njOlyefTRQUCPNIHaG0+EnJIxF9qAwKHmf3PYnm6EX6WBma24Yjo6/7Q26RqekgLRzsrkBtfbUGBkZEKTlftWBTQQSUvZEM5zMcDFsV2MY9NeSmj9tujEUuUyIvbtgL5LVeePe0diuBh0Qg44EmvXhvud0P+afEkmCa1Fw1CWQT448A/hivpCX37bV8/i01Fkm1XGeOvmYwi1bOWOQhyyZtk8cmL5sCM/KMZQt6CslZS854M4RLJup4JWKtNHqmM4IAE3VdHubfCN7O4iSun2JgG8Gdn48vCYzhLsZBqFWM1v++HZIVEiTjPRzdxIUPPKgX59a4bcg5GefkL/FGrs0Qs1ojptK4XRk1WPVyI+6PO/7KLwAeLP4gmNHmRnTqBqeptt0/LGUJIJ3gaHMOKIR7wQbOSHWgCDsEpf+5V1gTt/SI2v6w4ud+/7HenDxGhHuqKNG5JK2IHYIhDsUp9MX4my/twqUuvXGoC7FT8LA25Vmj7DlIbpZ5YH3hINRRmQtGH7FfuHHq01l2pW6RuZWLdDeQPXtp/bF1Q9Aj8q22sxYwB+nsukGMa5huUtJsmu47OR2s5+2EzmPFZ432cybZVhRGEJfi4zINNG1YSI9rt4OwD6/0/g0FmQspUTok2mWEkNyJ3STeJ+I66QaRcMyE4qQtbclsuaIEiQXMiDRJO0Yv2VgeMjH8/GCR7a6jTwAppPORNUfCHuQwqVj5LAU9HKSF0kSvQjCukm2D+V6lQiizCdXh5VHlYyaFJTaLmiNc7D5l+PKuJTRVZ7FVeLcycPxN8+D+uS+CtD9YPZqeu40EuzQUqWzncxR/Ak9BEkloymSxB5BqoUAEaA600aV57sKYWbm+vfYdzNrUIsfhuy4vV13pwt8hyFkPBYILzVW1F7sBKXcR/myZ8r2FCX2z7t2xPukac=",
"ext": null,
"extMessage": null,
"success": true
}
data解密后的内容:
{
"addressee": "收件人",
"area": "浙江省南昌市湾里区",
"detailAddress": "详细地址",
"email": "13033613078@163.com",
"expressCompany": "",
"expressNo": "",
"invoiceAmount": 10008.000,
"invoiceBillNo": "2020091817143583891968",
"invoiceContent": "信息技术服务*技术服务费",
"invoiceStatus": 0,
"invoiceStatusDesc": "待审核",
"phone": "13033613078",
"purchaserAddressPhone": "134567895585",
"purchaserBankAccount": "啊啊啊啊啊",
"purchaserInvoiceTitle": "翰一号测试",
"purchaserTaxNumber": "010203050408",
"refuseReason": "",
"remark": "这是一个备注"
}
```