第三章 模块接口(4) - 开票管理
>d 接口调用细节流程:
◆ 参数RSA加密[接口签名,加解密说明](https://easydoc.top/doc/92150138/ZSNp8hjw/FVjvrnys)
◆ 将加密结果以及公共参数拼接成新的字符串通过MD5加密生成签名
◆ 将公共参数以及签名通过header传输,参数加密结果通过body传输,发起http请求
◆ 返回结果解密[接口签名,加解密说明](https://easydoc.top/doc/92150138/ZSNp8hjw/FVjvrnys)
## 接口响应参数都为如下固定json格式
|参数名称|参数含义|数据类型|是否必有|参数备注|
|-|-|-|-|-|
|resopnseType| 返回类型|int|是|无需关注此值|
|errorCode|错误码 |String|是|详情参考[系统错误码](https://easydoc.top/doc/92150138/ZSNp8hjw/BoPRc3hR)|
|errorMessage| 错误信息|String|是|详情参考[系统错误码](https://easydoc.top/doc/92150138/ZSNp8hjw/BoPRc3hR)|
|status|状态码|int|是|详情参考[系统错误码](https://easydoc.top/doc/92150138/ZSNp8hjw/BoPRc3hR)|
|success|是否成功|boolean|是|true:成功 false:失败|
|data|返回结果数据|String|否|只有当success为true才会有该值,该值为RSA加密值,需解密使用,解密规则请看[接口签名,加解密说明](https://easydoc.top/doc/92150138/ZSNp8hjw/FVjvrnys)|
## 开票管理接口时序图

## <a id="3.1.开票信息查询">3.1.公司主体、开票信息查询</a>
>d 通过该接口可获取公司的可开发票列表,以及所拥有主体列表,无需频繁请求。请求到之后保存自己库即可。当签署主体信息有变更。或者发票内容有调整重新请求接口即可。
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/yns/invoice/queryInvoice
#### 请求方式:POST
>d 该接口无需参数
#### 响应参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|name| 主体名称| String|是|主体名称|
|mainstayId| 主体ID|Integer| 是|主体ID|
|taxRate| 税率|BigDecimal| 是||
|invoiceOpResponseList| 发票列表|Array|是|发票列表为List数组
|invoiceCode|发票编码|String| 是|发票列表:invoiceOpResponseList里面属性|
|invoiceContent|发票内容|String| 是|发票列表:invoiceOpResponseList里面属性|
|industryName|行业名称|String| 是|发票列表:invoiceOpResponseList里面属性|
|industryCode|行业编码|String| 是|发票列表:invoiceOpResponseList里面属性|
解密结果示例如下:
```json
[
{
"invoiceOpResponseList": [
{
"invoiceCode": "发票编码",
"invoiceContent": "发票内容",
"industryName": "行业名称",
"industryCode": "行业编码",
}
],
"mainstayId": 1,
"name": "安吉",
"taxRate": 0.05
}
]
```
## <a id="3.2.开票申请">3.2.开票申请</a>
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/yns/invoice/serviceInvoicesApply
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|mainstayId|主体id|Integer|是||
|invoiceCode|发票编码|String|是||
|remark|备注|String|否||
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
|invoiceAmount|开票金额|BigDecimal|是||
|invoiceStatus|开票状态|Integer|是|详情请参考[开票状态码](https://easydoc.top/doc/92150138/ZSNp8hjw/BoPRc3hR)|
|mainstayId|主体id|Integer|是||
|invoiceContent| 发票内容|String|是||
|purchaserInvoiceTitle| 购买方发票抬头 |String|是||
|purchaserTaxNumber| 购买方税号 |String|是||
|purchaserAddressPhone| 购买方地址、电话 |String|是||
|purchaserBankAccount| 购买方开户行及账号 |String|是||
|sellerInvoiceTitle| 销售方发票抬头 |String|是||
|sellerTaxNumber| 销售方税号 |String|是||
|sellerAddressPhone| 销售方地址、电话 |String|是||
|sellerBankAccount| 销售方开户行及账号 |String|是||
|failReason| 失败原因 |String|否||
## <a id="3.3.开票确认">3.3.开票确认</a>
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/yns/invoice/serviceInvoicesApplyConfirm
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单编号|String|是||
|settlementCert|证据链url|String|否||
>d注意:
>settlementCertUrl(结算证明):是根据商户后台配置判断的
>众包模式:默认是不需要上传结算证明的
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单编号|String|是||
|confirmResult|确认结果|Boolean|是||
|failReason|失败原因|String|否||
## <a id="3.4.开票结果查询">3.4.开票结果查询</a>
开发环境:https://pay-dev.lx-rhino.com
生产环境:https://api.lx-rhino.com
#### 接口地址:
/open/api/v1/yns/invoice/queryServiceInvoicesResult
#### 请求方式:POST
#### 请求参数说明:
|参数名称|参数含义|数据类型|是否必填|参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单编号|String|是||
#### 接口响应参数data字段解密后的参数说明:
|参数名称| 参数含义|数据类型| 是否必有| 参数备注|
|-|-|-|-|-|
|invoiceBillNo|开票订单号|String|是||
|invoiceClassification|开票类型|Integer|是||
|invoiceStatus|开票状态|Integer|是|详情请参考[开票状态码](https://easydoc.top/doc/92150138/ZSNp8hjw/BoPRc3hR)|
|mainstayId|主体id|Integer|是||
|invoiceAmount|开票金额|BigDecimal|是||
|invoiceContent| 发票内容|String|是||
|remark| 备注 |String|否||
|purchaserInvoiceTitle| 购买方发票抬头 |String|是||
|purchaserTaxNumber| 购买方税号 |String|是||
|purchaserAddressPhone| 购买方地址、电话 |String|是||
|purchaserBankAccount| 购买方开户行及账号 |String|是||
|addressee| 收件人 |String|是||
|phone| 联系电话 |String|是||
|area| 所在地区 |String|是||
|detailAddress| 详细地址 |String|是||
|sellerInvoiceTitle| 销售方发票抬头 |String|是||
|sellerTaxNumber| 销售方税号 |String|是||
|sellerAddressPhone| 销售方地址、电话 |String|是||
|sellerBankAccount| 销售方开户行及账号 |String|是||
| settlementCertUrl | 结算单证明 | String | 是 | |
| settlementCertCustomUrl | 自定义证明 | String | 是 | |
| expressCompany | 快递公司 | String | 是 | |
| expressNo | 快递单号 | String | 是 | |
| postStatus | 邮寄状态 | String | 是 |0:未邮寄 1.已邮寄 |
| failReason | 失败原因 | String | 否 | |