我正在尝试添加一些功能以编程方式退款。我在一些地方在线找到了一些代码,据说可以将其用于退税部分。
$tax_data = $item_meta['_line_tax_data'];
$refund_tax = 0;
if( is_array( $tax_data[0] ) ) {
$refund_tax = array_map( 'wc_format_decimal', $tax_data[0] );
}
然后将其添加到订单项:
$line_items[$itemID] = array( 'qty' => '1', 'refund_total' => $price, 'refund_tax' => $refund_tax );
除了退税以外,我所有工作正常。永远不会创建$ refund_tax值,主要是因为$ tax_data [0]不是数组。 $ tax_data是一个数组,当我这样做时,我得到一系列数字:
2512856.492812849.99
这些数字与项目元数据'_line_tax_data'的所有数字相同,在数据库中看起来像这样:
a:2:{s:5:"total";a:1:{i:28;s:5:"6.492";}s:8:"subtotal";a:1:{i:28;s:4:"9.99";}}
发出退款时,在$ line_items变量中可以安全使用大量数字吗?我在这里错过重要的东西吗?我只想确保我可以安全退还有效的东西。