微信小程序开发文档 微信小程序 小程序使用·cancelOrder

2024-02-25 开发教程 微信小程序开发文档 匿名 4

logistics.cancelOrder

本接口应在服务器端调用,详细说明参见服务端API。 本接口支持云调用。需开发者工具版本 >= 1.02.1904090(最新稳定版下载)
wx-server-sdk >= 0.4.0

取消运单

调用方式:

  • HTTPS 调用
  • 云调用

HTTPS 调用

请求地址

POST https://api.weixin.qq.com/cgi-bin/express/business/order/cancel?access_token=ACCESS_TOKEN

请求参数

属性类型默认值必填说明
access_tokenstring接口调用凭证
order_idstring订单 ID,需保证全局唯一
openidstring用户openid,当add_source=2时无需填写(不发送物流服务通知)
delivery_idstring快递公司ID,参见getAllDelivery
waybill_idstring运单ID

返回值

Object

属性类型说明
errcodenumber错误码
errmsgstring错误信息
delivery_resultcodenumber运力返回的错误码
delivery_resultmsgstring运力返回的错误信息

errcode 的合法值

说明最低版本
0成功
-1系统失败
40199运单 ID 不存在
9300503delivery_id不存在
930563订单不存在
930561参数错误
9300506运单 ID 已经存在轨迹,不可取消
9300524取消订单失败(一般为重复取消订单)
9300501快递公司逻辑错误,具体错误码见delivery_resultcode

请求示例

{
"order_id": "01234567890123456789",
"openid": "oABC123456",
"delivery_id": "SF",
"waybill_id": "123456789"
}

返回示例

{
"errcode": 0,
"errmsg": "ok",
"delivery_resultcode": 0,
"delivery_resultmsg": ""
}

云调用

云调用是小程序·云开发提供的在云函数中调用微信开放接口的能力,需要在云函数中通过 wx-server-sdk 使用。

接口方法

openapi.logistics.cancelOrder

需在 config.json 中配置 logistics.cancelOrder API 的权限,详情

请求参数

属性类型默认值必填说明
orderIdstring订单 ID,需保证全局唯一
openidstring用户openid,当add_source=2时无需填写(不发送物流服务通知)
deliveryIdstring快递公司ID,参见getAllDelivery
waybillIdstring运单ID

返回值

Object

属性类型说明
errCodenumber错误码
errMsgstring错误信息
deliveryResultcodenumber运力返回的错误码
deliveryResultmsgstring运力返回的错误信息

errCode 的合法值

说明最低版本
0成功

异常

Object

抛出的异常

属性类型说明
errCodenumber错误码
errMsgstring错误信息

errCode 的合法值

说明最低版本
-1系统失败
40199运单 ID 不存在
9300503delivery_id不存在
930563订单不存在
930561参数错误
9300506运单 ID 已经存在轨迹,不可取消
9300524取消订单失败(一般为重复取消订单)
9300501快递公司逻辑错误,具体错误码见delivery_resultcode

请求示例

const cloud = require('wx-server-sdk')
cloud.init()
exports.main = async (event, context) => {
try {
const result = await cloud.openapi.logistics.cancelOrder({
openid: 'oABC123456',
orderId: '01234567890123456789',
deliveryId: 'SF',
waybillId: '123456789'
})
return result
} catch (err) {
return err
}
}

返回示例

{
"errCode": 0,
"errMsg": "openapi.logistics.cancelOrder:ok",
"deliveryResultcode": 0,
"deliveryResultmsg": ""
}