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

㉓ 开票失败后重推一次

钱已经付了、票没开出来,怎么办?不用重新下单、不用退款重来, 用原来那笔订单号调这个接口重推一次即可。仅支持反向蓝票(红票走红冲那条线)。 数据类:POST 进 / 工行原样 JSON 出。

接口

POST  https://openapi.kailingteck.com/api/v1/icbc/invoice/upload-retry

鉴权:请求头 X-App-Key + X-Sign + X-Timestamp(同其它开灵接口)。

请求参数(工行全字段 · 原样传)

工行字段必填大白话说明
appId中台填平台编号(开灵自动填,你不用传)
outVendorId必填收方编号(回收企业 / 子商户编号)
outUserId必填付方编号(散户编号)
outOrderId必填你们系统里那笔订单的编号(下单时传的那个)
partnerMerTrueAppId合作机构模式必填真实商户 appId(合作机构模式才上送)
{
  "outVendorId": "562526",
  "outUserId": "KL20260824001",
  "outOrderId": "KLORD20260824001"
}

三个编号要和当初下单 / 付款时传的完全一致,错一个字符工行就找不到这笔票。

返回(工行原样返回)

工行字段大白话说明
returnCode返回码(0-成功,其它-失败)。注意:这里的成功只代表「重试请求收到了」
returnMsg返回信息
uploadStatus上传状态:02-已受理(排队上传中,等回调即可) / 05-上传失败(原因看下一个字段)
uploadFailReason上传失败原因,大白话原文,例:「当期未下载发票额度,无法开具」

拿到 uploadFailReason 之后怎么处理

  • 「当期未下载发票额度,无法开具」——最常见。企业没做「授权后首次手动下载一次发票」这一步。 先用 ㉑ 查还能开多少票 看 taxOffDownLimit 是不是 0, 让企业下载一次额度,再回来重试。
  • 额度 / 份数不足 —— 同上,先补额度再重试。
  • 授权失效 —— 先调 ㉒ 授权续期,再重试。
  • 返回 uploadStatus=02 就别再重复调了,等开票回调 / 用 ⑩ 查开票状态 轮询。

未配工行凭据时返回 { mock: true }。