⑨ 取消预开票交易
撤销「已算税但未缴款」的预开单:取消成功后预赋码号码自动回池复用。已缴税的交易不能取消,走红冲+退税(接口⑧)。数据类接口。
属「乐企联用 · 报废产品收购(9 个业务接口)」——底层编排 乐企原子接口,你只调这一个。
接口(数据类)
POST https://openapi.kailingteck.com/api/v1/invoice/reverse/lqbiz/order/cancel
鉴权:X-App-Key + X-Timestamp(Unix 秒) + X-Sign(= sha256(appKey + 时间戳 + 报文 + appSecret))。正式 AppKey/AppSecret 请联系开灵商务或您的开灵项目经理获取,联调期可先用演示密钥。
内置能力:取消成功后预赋码号码自动回池;已缴税/状态不明时号码不回池 内部编排:QXYKFPJY
请求参数
| 参数 | 必填 | 说明 |
|---|---|---|
nsrsbh | 必填 | 回收企业纳税人识别号 |
zrrxm | 必填 | 自然人姓名 |
zrrzjhm | 必填 | 自然人证件号码(也接受 sfzjhm 字段名) |
ykfphm | 必填 | 预开发票号码(接口⑤返回) |
ykfprq | 必填 | 预开发票日期 yyyy-MM-dd HH:mm:ss,缺省按当天 |
返回参数(data)
| 参数 | 说明 |
|---|---|
cljg | 处理结果:00 税费扣款状态不明(稍后重试)/01 取消交易成功/02 税款已缴纳,取消失败 |
cljgxx | 处理结果信息(cljg=00 时返回具体说明) |
请求示例
{
"nsrsbh": "91371100MA3XXXXX0X", "zrrxm": "李建国", "zrrzjhm": "37061119790101001X",
"ykfphm": "24371100000012345678", "ykfprq": "2026-07-19 10:20:00"
}返回示例(成功)
{ "code": "CYT_00000", "msg": "success", "requestId": "cyt_xxx", "data": {
"cljg": "01"
} }返回示例(失败/业务拦截)
{ "code": "CYT_00000", "msg": "success", "data": {
"cljg": "02", "cljgxx": "税款已缴纳,取消交易失败"
} } // 已缴税 → 走红冲(原子红字四件套)+接口⑧退税异常与报错
| 情形 | 含义与处理 |
|---|---|
| HTTP 200 · cljg=02 | 税款已缴纳不能取消:走红字流程(原子接口红字确认单四件套)开红票,再调接口⑧申请退税 |
| HTTP 200 · cljg=00 | 扣款状态不明:等扣款终态后重试;此时号码不回池,避免重复使用 |
前端怎么用
const r = await post('/lqbiz/order/cancel', { nsrsbh, zrrxm, zrrzjhm, ykfphm: order.ykfphm });
switch (r.data.cljg) {
case '01': markCancelled(order); break; // 成功,号码已回池
case '02': goRedFlush(order); break; // 已缴税 → 红冲+退税流程
case '00': retryLater(order); break; // 状态不明,稍后重试
}