跳到正文
开灵科技 - 北京开灵科技有限公司API百宝箱

反向开票 · 订单交易接口

支付宝系

面向报废产品收购、农产品收购、灵活用工场景:企业创建反向订单后获得支付即开票二维码,自然人(散户)用支付宝扫码确认,支付、缴税、反向开具数电发票一步完成,资金与开票全程走支付宝官方通道直连税务系统。 本组接口的资金通道为支付宝体系;腾讯系通道见反向开票(腾讯系)。 接入前需先完成 乐企开通。

调用地址

接口方法地址计费
创建反向订单(返回收款二维码)POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/order_create按订单金额×费率
查询反向订单(可取发票 PDF)POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/order_query免费
审核反向订单POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/order_audit免费
取消反向订单POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/order_cancel免费
重试反向订单POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/order_retry免费
申请红字发票POSThttps://openapi.kailingteck.com/api/v1/alipay/reverse/red_apply免费

鉴权(平台统一三头)

每次请求携带:X-App-Key(平台分配)、X-Timestamp(Unix 秒,±300 秒内)、X-Sign = SHA256(app_key + timestamp + body + app_secret) 16 进制小写。 与发票查验、反向开票(腾讯系)完全同一套签名,已接入过任一能力可直接复用。

计费说明

  • 创建反向订单:按订单金额(明细行金额合计)乘以合同约定费率计费,订单受理成功(code=10000 返回订单号)才计费,失败不计费;
  • 其余接口(查询/审核/取消/重试/红冲)全部免费,不限次数;
  • 费用从账户余额中扣减,商户中心可实时查看每笔费用与余额。

业务流程

  1. 前置:完成 乐企开通,并维护好营业员(含开票员)、商品库(远程收款还需维护供应商);
  2. 调 order_create 创建订单,取 payment_invoice_qr_code_url 生成收款二维码给自然人扫码;
  3. 自然人在支付宝内确认订单→(企业配置了审核时,调 order_audit 审核,仅可改单价/数量/金额三选二)→自然人收款,缴税、开票自动完成;
  4. 轮询 order_query,order_status = SUCCESS 且发票状态 INVOICE_SUCCESS 时,取发票号码与 PDF 下载地址;
  5. 异常:开票失败/卖家未实名→处理后调 order_retry(仅 CONFIRMED / WAIT_PAY 状态可重试);退款后红冲→调 red_apply(仅交易成功订单)。

注意:自然人年累计反向开票额度上限 500 万元,超额将无法开票;订单确认后企业侧不可取消,需自然人在支付宝「反向开票助手」小程序内取消。

接口一:创建反向订单

请求参数(主表)

参数名称类型必填长度描述
tax_nostring是20企业(商户)税号
product_idstring是16发票产品ID(须为已开通产品)
company_clerk_idstring是16企业营业员ID(需先在平台维护营业员)
company_supplier_idstring否28企业供应商ID;传入后订单自动推送给该供应商(远程收款场景)
outer_order_idstring是64外部订单号,唯一,幂等键
memostring否200订单备注,用于发票备注显示
personal_tax_projectstring条件50个税类型(报废产品收购/反向通用开票必传):BUSINESS_INCOME 经营所得(报废);BUSINESS_INCOME_COMMON_REVERSE 经营所得(通用);PROPERTY_TRANSFER_INCOME 财产转让所得(报废) 等
order_item_listarray是订单商品明细,字段见下表

order_item_list 商品明细字段

参数名称类型必填长度描述
company_item_idstring否28商品ID(商品库新增商品接口返回)
item_namestring条件128商品名称(商品ID未传时必传)
tax_codestring条件19税收分类编码(商品ID未传时必传)
item_unit_amountstring条件16单价(元)——单价/数量/金额三选二传值
item_numstring条件14数量——三选二传值
item_total_amountstring条件16金额(元)——三选二传值
item_unitstring是32单位,如:吨
item_specstring否128规格型号

响应参数

参数名称类型必返描述
outer_order_idstring是外部订单号
order_idstring是订单号,后续查询/审核/取消/重试/红冲凭据
payment_invoice_page_urlstring是支付即开票页面URL(营业员端,支付宝内打开)
payment_invoice_page_alipay_urlstring是支付即开票页面支付宝 scheme URL(营业员端)
payment_invoice_qr_code_urlstring是支付即开票二维码URL——可嵌入贵方 APP/小程序,供自然人扫码(有效期约 5 分钟,过期重新获取)
collection_invoice_page_urlstring否收款即开票页面URL(自然人端,传供应商ID时返回)
collection_invoice_page_alipay_urlstring否收款即开票支付宝 scheme URL(自然人端,传供应商ID时返回)
tax_authority_remindstring否税务机关监管提醒(如:价格过高)

请求示例

{
  "tax_no": "913301067046373123",
  "product_id": "2025010031726123",
  "company_clerk_id": "2025011234567890",
  "outer_order_id": "KLREV_20260718_0001",
  "personal_tax_project": "BUSINESS_INCOME",
  "memo": "废铜收购",
  "order_item_list": [{
    "company_item_id": "2025030400152003620000195123",
    "item_num": "2",
    "item_total_amount": "100.00",
    "item_unit": "吨"
  }]
}

响应示例

{
  "code": "10000",
  "msg": "Success",
  "outer_order_id": "KLREV_20260718_0001",
  "order_id": "2025031000152005540029226123",
  "payment_invoice_page_url": "https://u.alipay.cn/_3P00TkBxWtV/2025031000152005540029226123",
  "payment_invoice_page_alipay_url": "alipays://platformapi/startapp?appId=…",
  "payment_invoice_qr_code_url": "https://mobilecodec.alipay.com/show.htm?code=…"
}

outer_order_id 幂等:同一外部订单号重复提交不会重复创建订单。明细行单价/数量/金额三选二必填。

接口二:查询反向订单

请求参数

参数名称类型必填长度描述
tax_nostring是20企业(商户)税号
product_idstring是16发票产品ID
order_idstring条件28订单号(与外部订单号二选一)
outer_order_idstring条件64外部订单号(与订单号二选一)
query_optionsstring是32查询选项,多个逗号分隔;传 BIZ_TRANSFER 时返回业务转账信息

响应参数(核心字段)

参数名称类型必返描述
order_id / outer_order_idstring是订单号/外部订单号
order_statusstring是订单状态:WAIT_LINK 待关联;WAIT_AUDIT 待审核;WAIT_CONFIRM 待确认;CONFIRMED 已确认;WAIT_PAY 待支付;SUCCESS 交易成功;CANCEL 订单取消;FAILED 订单失败
order_amountstring是订单金额(元)
seller_name / seller_phonestring否卖家(自然人)姓名/手机号
gmt_successstring否交易成功时间
order_invoice_listarray否订单发票列表,核心字段见下
order_invoice_list.invoice_nostring否发票号码
order_invoice_list.invoice_statusstring是发票状态:INVOICE_SUBMIT 开票已提交;TAX_PAYMENT_SUCCESS 缴税成功;TAX_PAYMENT_FAILED 缴税失败;INVOICE_SUCCESS 开票成功;INVOICE_FAILED 开票失败;INVOICE_FAILED_RETRYABLE 开票失败(可重试)
order_invoice_list.invoice_type / invoice_kindstring是BLUE 蓝票 / RED 红票;SPECIAL_INVOICE 专票 / ORDINARY_INVOICE 普票
order_invoice_list.pdf_file_url / img_file_urlstring否发票 PDF / 图片下载地址
order_invoice_list.invoice_amount / invoice_tax_amount / invoice_amount_without_taxstring是含税金额/税额/不含税金额(元)
order_invoice_list.buyer_* / seller_*string-购买方(企业)/销售方(自然人)完整票面信息
order_invoice_list.order_invoice_item_listarray是发票明细行(名称/规格/单位/数量/税率/金额等)

建议轮询间隔 30 秒以上;开票成功后从 order_invoice_list 取发票号码与 PDF 地址回写贵方台账。

接口三:审核反向订单

企业配置了「订单需审核」时,自然人确认后需企业审核通过,自然人才能收款开票。

请求参数

参数名称类型必填长度描述
tax_nostring是20企业(商户)税号
product_idstring是16发票产品ID
order_idstring是28订单号
order_item_listarray是订单商品明细(仅可调整单价/数量/金额,不可换商品)
order_item_list.order_item_idstring是28订单明细ID(反向订单查询接口返回)
order_item_list.item_unit_amount / item_num / item_total_amountstring条件单价/数量/金额——三选二传值
memostring否200订单备注

审核仅允许修改单价/数量/金额(三选二)与备注,不可更换商品。

接口四/五/六:取消 · 重试 · 红字申请

三个接口请求参数相同:

参数名称类型必填长度描述
tax_nostring是20企业(商户)税号
product_idstring是16发票产品ID
order_idstring是28订单号
  • 取消 order_cancel:仅自然人确认前可由企业取消;已开票/已确认收款/已取消/终态订单不可取消;
  • 重试 order_retry:开票失败或卖家未实名导致转账失败时,处理完成后重试;仅 CONFIRMED / WAIT_PAY 状态订单可重试;
  • 红字申请 red_apply:订单交易成功后需退款冲红时调用;仅 SUCCESS 订单可操作,且同一订单不可重复红冲。

常见业务错误码(sub_code)

错误码含义与处理
CLERK_NOT_EXIST / CLERK_UNAVAILABLE营业员不存在/不可用:先维护并确认营业员
COMPANY_ABILITY_AUTH_INVALID乐企能力授权状态无效:检查乐企授权后刷新企业信息
COMPANY_QUOTA_DEFICIENT乐企授信额度不足:联系财务确认额度
COMPANY_AGENT_TAX_NOT_DECLARE代办税费未申报:财务完成申报后刷新企业信息
ACCOUNT_BALANCE_INSUFFICIENT企业资金账户余额不足:充值后重试
ORDER_STATUS_ERROR订单状态不满足当前操作(审核/取消/重试/红冲各有状态要求)
ORDER_ITEM_NOT_EDIT审核仅可修改单价/金额/数量
SELLER_INVOICE_AMOUNT_EXCEEDED自然人年累计开票额超 500 万,不可继续
SELLER_INVOICE_BLOCK自然人不具备反向开票资格
MERCHANT_TAX_NOT_CORRECT税号不匹配:核对税号
PRODUCT_NOT_OPENED / PRODUCT_NOT_RECYCLING产品未开通/产品ID非反向产品

响应 code = 10000 为成功;业务失败时按 sub_code / sub_msg 提示处理。平台层错误码(鉴权/限流/余额)与腾讯系一致,见 错误处理。