如何通过WooCommerce REST API V3移除订单中的费用项?
WooCommerce REST API V3 移除订单费用项解决方案
正确操作方法
要移除订单中的指定费用项,核心是在更新订单的请求里明确标记要删除的费用项ID并设置移除标识,具体步骤如下:
- 先调用获取订单详情接口(
GET /wp-json/wc/v3/orders/{订单ID}),从返回的fee_lines数组中找到目标费用项的id - 发送PUT请求到订单更新接口(
/wp-json/wc/v3/orders/{订单ID}),请求体中包含该费用项的id和remove: true参数
请求体示例(JSON)
{ "fee_lines": [ { "id": 123, // 替换为你要移除的费用项ID "remove": true } ] }
你之前尝试方法失败的原因
- 直接从
fee_lines数组移除该项或传空数组:API无法识别你要删除的具体对象,会忽略该操作 - 仅传递费用项ID:缺少
remove: true的明确指令,API只会认为你要修改该费用项而非删除 - 修改
name或total为null/0:这只是修改费用项的属性值,并不会真正删除该费用项
注意事项
- 确保使用的API密钥拥有
edit_orders权限,否则会返回权限错误 - 如果要移除多个费用项,在
fee_lines数组中添加多个带id和remove: true的对象即可
内容的提问来源于stack exchange,提问作者firas S
相关产品推荐
相关产品推荐

