Automattic\WooCommerce\Internal\RestApi\Routes\V4\Refunds\Schema
RefundSchema::get_item_response
Get an item response.
Method of the class: RefundSchema{}
No Hooks.
Returns
Array.
Usage
$RefundSchema = new RefundSchema(); $RefundSchema->get_item_response( $refund, $request, $include_fields ): array;
- $refund(WC_Order_Refund) (required)
- Refund instance.
- $request(WP_REST_Request) (required)
- Request object.
- $include_fields(array)
- Fields to include in the response.
Default: array()
RefundSchema::get_item_response() RefundSchema::get item response code WC 10.4.3
public function get_item_response( $refund, WP_REST_Request $request, array $include_fields = array() ): array {
$dp = is_null( $request['num_decimals'] ) ? wc_get_price_decimals() : absint( $request['num_decimals'] );
$data = array(
'id' => $refund->get_id(),
'order_id' => $refund->get_parent_id(),
'currency' => $refund->get_currency(),
'currency_symbol' => html_entity_decode( get_woocommerce_currency_symbol( $refund->get_currency() ), ENT_QUOTES ),
'date_created' => wc_rest_prepare_date_response( $refund->get_date_created(), false ),
'date_created_gmt' => wc_rest_prepare_date_response( $refund->get_date_created() ),
'amount' => wc_format_decimal( $refund->get_amount(), $dp ),
'reason' => $refund->get_reason(),
'refunded_by' => $refund->get_refunded_by(),
'refunded_payment' => $refund->get_refunded_payment(),
);
if ( in_array( 'line_items', $include_fields, true ) ) {
$data['line_items'] = array_merge(
$this->get_line_items_response( $refund->get_items( 'line_item' ), $request ),
$this->get_line_items_response( $refund->get_items( 'fee' ), $request ),
$this->get_line_items_response( $refund->get_items( 'shipping' ), $request ),
);
}
if ( in_array( 'meta_data', $include_fields, true ) ) {
$filtered_meta_data = $this->filter_internal_meta_keys( $refund->get_meta_data() );
$data['meta_data'] = array();
foreach ( $filtered_meta_data as $meta_item ) {
$data['meta_data'][] = array(
'id' => $meta_item->id,
'key' => $meta_item->key,
'value' => $meta_item->value,
);
}
}
// Add COGS data.
if ( $this->cogs_is_enabled() && in_array( 'cost_of_goods_sold', $include_fields, true ) ) {
$data['cost_of_goods_sold']['total_value'] = $refund->get_cogs_total_value();
}
$data = array_intersect_key( $data, array_flip( $include_fields ) );
return $data;
}