我尝试使用WC API v3以编程方式创建订单。 订单是成功创建的,但是运输行是免费添加的。 但总税额是正确计算的。 如果我只是在后端保存订单,总税收会减少。 如果我点击计算税按钮,WC会将税额添加到装运行,一切都正确。
'MWST'。代表增值税,'Versand'正在发货
这是我的请求对象
$order = (object) array(
'order' => (object) array (
'status' => 'pending',
'payment_details' => (object) array(
'method_id' => 'bacs',
'method_title' => 'Überweisung',
'paid' => FALSE,
),
'billing_address' => (object) $billing_address,
'shipping_address' => (object) $shipping_address,
'customer_id' => $post->post_author,
'line_items' => $line_items,
'shipping_lines' => array(
(object) array(
'method_id' => 'flat_rate',
'method_title' => 'Versandkostenpauschale',
'total' => 5
)
)
)
);
我尝试使用WC_Order方法,如calculate_totals,calculate_taxes和update_taxes。
我错过了什么吗?或者是否有一种简单的方法来触发计算税收按钮的操作?
我的解决方案: 使用此代码更新订单商品元
foreach($res->order->shipping_lines as $shipping_line) {
wc_update_order_item_meta($shipping_line->id, 'taxes', array(1 => (string)round((5 / 100 * 19), 4)));
}
使用1
索引税收数组非常重要