Automattic\WooCommerce\Internal\RestApi\Routes\V4\Orders
UpdateUtils::prepare_fee_data
Create or update an order fee.
Method of the class: UpdateUtils{}
No Hooks.
Returns
WC_Order_Item_Fee.
Usage
// protected - for code of main (parent) or child class $result = $this->prepare_fee_data( $request_data, $action, $item );
- $request_data(array) (required)
- Item data.
- $action(string)
- 'create' to add fee or 'update' to update it.
Default: 'create' - $item(object)
- Passed when updating an item. Null during creation.
Default: null
UpdateUtils::prepare_fee_data() UpdateUtils::prepare fee data code WC 10.4.3
protected function prepare_fee_data( $request_data, $action = 'create', $item = null ) {
$item = is_null( $item ) ? new WC_Order_Item_Fee( ! empty( $request_data['id'] ) ? $request_data['id'] : '' ) : $item;
if ( 'create' === $action && empty( $request_data['name'] ) ) {
throw new WC_REST_Exception( 'woocommerce_rest_invalid_fee_item', esc_html__( 'Fee name is required.', 'woocommerce' ), 400 );
}
$this->maybe_set_item_props( $item, array( 'name', 'tax_class', 'tax_status', 'total' ), $request_data );
$this->maybe_set_item_meta_data( $item, $request_data );
return $item;
}