Я пытаюсь добавить некоторые функции для возврата заказов программным способом. Я нашел код в Интернете в нескольких местах, где говорится, что он используется для возврата налогов.
$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 при возврате денег? Я что-то упустил здесь? Я просто хочу убедиться, что я безопасно верну что-то действительное.