# 修改订单价格

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:changeorderprice

可通过该接口修改订单价格。

相关事件通知:订单其他信息更新

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/channels/ec/order/price/update?access_token=ACCESS_TOKEN

# 云调用

  • 调用方法:channels.ec.order.price.update

  • 出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档

# 第三方调用

  • 本接口支持第三方平台代商家调用。

  • 该接口所属的权限集 id 为:131

  • 服务商获得其中之一权限集授权后,可通过使用 authorizer_access_token 代商家进行调用,具体可查看 第三方调用 说明文档。

# 2. 请求参数

# 查询参数 Query String parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_tokenauthorizer_access_token

# 请求体 Request Payload

参数名类型必填说明
order_idnumber订单id,可通过获取订单列表接口获取
change_order_infosobjarray商品信息
change_expressboolean是否修改运费
express_feenumber修改后的运费价格(change_express=true时要指定,不填默认为0),以分为单位

# Body.change_order_infos(Array) Object Payload

商品信息

参数名类型必填说明
product_idnumber商品id
sku_idnumber商品sku
change_pricenumber商品sku

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息

# 4. 注意事项

  • 目前只支持改低价格, 暂时不支持改高价格;
  • 每次修改价格时以每种商品(同一sku_id)为单位,定义该种商品的最新总价,如果某种商品在请求中不输入,则默认该商品的价格不修改;
  • 订单在付款前可以进行最多不超过50次的修改价格操作,同一订单每次新的改价操作执行成功后之前所有的改价操作都将失效。

# 5. 代码示例

请求示例

{
    "order_id": "123456",
    "change_express": true,
    "express_fee": 0,
    "change_order_infos": [
        {
            "product_id": "1234",
            "sku_id": "5678",
            "change_price": 300
        }
    ]
}

返回示例

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

# 6. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码

错误码错误描述解决方案
40097请求体参数不正确,请检查各个参数是否按规范填写,具体原因请查看errmsg
47001请求体格式不正确,请检查请求体中各个参数的类型是否正确
100003订单更新过于频繁,更新订单失败,请重试
101100订单不是未付款订单,不能改价
108021某种商品或者运费修改后的价格超出原价
108022该订单改价次数已经超过50次
108023修改后订单价格为0

# 7. 适用范围

本接口支持「微信小店」账号类型调用。其他账号类型如无特殊说明,均不可调用。