Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders\Schema

AbstractLineItemSchema::prepare_taxesprotectedWC 1.0

Prepare the taxes for the order item.

Method of the class: AbstractLineItemSchema{}

No Hooks.

Returns

Array.

Usage

// protected - for code of main (parent) or child class
$result = $this->prepare_taxes( $order_item, $request );
$order_item(WC_Order_Item_Product|WC_Order_Item_Fee) (required)
Order item instance.
$request(WP_REST_Request) (required)
Request object.

AbstractLineItemSchema::prepare_taxes() code WC 10.4.3

protected function prepare_taxes( $order_item, WP_REST_Request $request ) {
	$taxes  = $order_item->get_taxes();
	$dp     = is_null( $request['num_decimals'] ) ? wc_get_price_decimals() : absint( $request['num_decimals'] );
	$return = array();

	if ( $taxes && ! empty( $taxes['total'] ) ) {
		foreach ( $taxes['total'] as $tax_rate_id => $tax ) {
			$return[] = array(
				'id'       => $tax_rate_id,
				'total'    => wc_format_decimal( $tax, $dp ),
				'subtotal' => wc_format_decimal( $taxes['subtotal'][ $tax_rate_id ] ?? $tax, $dp ),
			);
		}
	}

	return $return;
}