WooCommerce REST API v3更新订单税行失败求助
解决WooCommerce REST API修改订单税行无效果的问题
一、删除单个税行的正确格式
你之前的写法不符合WooCommerce API的要求,删除单个税行需要在目标税行对象里添加delete: true标记,而非设置rate_id为null。正确请求体如下:
"data": { "tax_lines": [ { "id": 1, "delete": true } ] }
二、清空所有税行的正确操作
直接传空数组或null无法触发清空,必须遍历订单现有所有税行,逐个标记删除:
- 先发送GET请求获取目标订单详情,提取所有
tax_lines的ID - 在PUT/PATCH请求中,给每个税行ID添加删除标记,示例:
"data": { "tax_lines": [ { "id": 1, "delete": true }, { "id": 2, "delete": true } ] }
三、关键注意事项
- 请求方式必须用PUT或PATCH(推荐用PATCH做部分更新),端点为
/wp-json/wc/v3/orders/{order_id} - 确保你的API密钥拥有
write_orders权限 - 若订单已处于“完成”状态,部分版本的WooCommerce会限制修改税行,需先将订单状态改为“待处理”等可编辑状态后再操作
内容的提问来源于stack exchange,提问作者Awits
相关产品推荐
相关产品推荐

