WC_Order::get_tax_refunded_for_item()publicWC 1.0

Get the refunded tax amount for a line item.

Метод класса: WC_Order{}

Хуков нет.

Возвращает

double.

Использование

$WC_Order = new WC_Order();
$WC_Order->get_tax_refunded_for_item( $item_id, $tax_id, $item_type );
$item_id(int) (обязательный)
ID of the item we're checking.
$tax_id(int) (обязательный)
ID of the tax we're checking.
$item_type(строка)
Type of the item we're checking, if not a line_item.
По умолчанию: 'line_item'

Код WC_Order::get_tax_refunded_for_item() WC 8.7.0

public function get_tax_refunded_for_item( $item_id, $tax_id, $item_type = 'line_item' ) {
	$total = 0;
	foreach ( $this->get_refunds() as $refund ) {
		foreach ( $refund->get_items( $item_type ) as $refunded_item ) {
			$refunded_item_id = (int) $refunded_item->get_meta( '_refunded_item_id' );
			if ( $refunded_item_id === $item_id ) {
				$taxes  = $refunded_item->get_taxes();
				$total += isset( $taxes['total'][ $tax_id ] ) ? (float) $taxes['total'][ $tax_id ] : 0;
				break;
			}
		}
	}
	return wc_round_tax_total( $total ) * -1;
}