一个订单只能开一次,支持批量开票,超过2年以上的订单无法开票。
若某个订单已开票,这次请求开票失败,返回已开过发票订单号列表,成功则返回每张发票对应的订单号(电子发票:只支持开普票,纸质发票:请求接口时发票抬头、税号、公司注册地址、公司电话、开户银行名、开户银行账号不为空则为专票,否则为普票)
注意:
1.不支持开票的包括:企业充值类型的企业若商务政策包含赠额部分,每笔订单开票包含的赠额部分不支持开票;高速、路桥、停车费、其他费、小费不支持开票
2.沙箱环境请求电子发票,不会发送发票邮件
请求地址: /v2/common/invoice
服务协议: HTTP/POST
Content-Type: application/x-www-form-urlencoded
请求参数:
参数名 | 类型 | 必选 | 描述 |
---|---|---|---|
client_id | string | Y | 申请的client_id |
timestamp | long | Y | 时间戳 |
sign | string | Y | 参数签名 |
order_id | string | Y | 订单id(多个订单使用英文逗号,分隔,最多100个,未支付订单不可开票) |
mail_address | string | N | 邮寄地址(申请纸质发票必填) |
receiver_name | string | Y | 发票接收人姓名,长度限制16 |
receiver_phone | string | Y | 发票接收人电话 |
invoice_title | string | Y | 发票抬头(发票抬头支持传入任何企业名称) |
tax_num | string | N | 税号,企业开票必传,个人开票不传(税号间不能有空格,格式为15-20位数字或大写字母) |
personal | booleanl | N | 个人开票必传(true 个人开票) |
invoice_type | number | Y | 发票类型(0 电子票、1纸质票;订单满200元则纸质发票包邮,否则为到付) |
email_address | string | N | 电子邮箱(申请电子发票必填) |
register_address | string(60) | N | 公司注册地址 |
buyerPhone | string(30) | N | 公司电话(register_address和buyerPhone需同时请求) |
buyerBankName | string(30) | N | 开户银行名 |
buyerBankAccount | string(30) | N | 开户行银行账号(buyerBankName和buyerBankAccount需同时请求) |
invoice_role | string | N | 0 订单个人支付部分开票、1 订单企业支付部分开票,若不传则默认为1(个人H5、企业H5接入方需请求,用车API接入方忽略该参数) |
remark | string | N | 发票备注,字段长度不超过50个字符,传入后展示位于发票右下方 |
响应data参数:
参数名称 | 类型 | 必有 | 说明 |
---|---|---|---|
string | Y | 开票成功时返回,发票ID (此字段已废弃) | |
amount | long | Y | 开票总金额(单位:分) |
invoiceNo | string | Y | 开票成功时返回,发票No |
orderIds | array | Y | 开票成功时返回,开票成功的订单ID列表 |
outOrderIds | array | Y | 开票成功时返回,开票成功的第三方订单ID列表 |
开票金额超过最大限额,会进行拆分为多个
结果示例:
{
"code":200,
"data":[
{
"amount":1024,
"invoiceId":559,
"invoiceNo":"20200708105219",
"orderIds":[
31142000,
35098400,
38089000,
47534350
],
"outOrderIds":[
"12202390562",
"90000050562",
"12201335662",
"12162576752"
]
}
],
"success":true
}