## Filter: wpd_alpha_insights_refund_ids_to_skip

Specify refund IDs to exclude from the refunds data source. Refunds whose ID is in the returned array are skipped during processing.

### Description

When building refunds data, the source loops over refund orders. For each refund it calls this filter; if the current refund ID is in the returned array, that refund is skipped. Use this to exclude test refunds, system-generated refunds, or refunds that should not affect reporting.

#### Location

File: `includes/classes/data-sources/WPDAI_Refunds_Internal_Data_Source.php`

Context: Inside the refund processing loop, before the refund is included in the data.

### Parameters

Parameter | Type | Description
--- | --- | ---
$refund_ids_to_skip | array | Array of refund IDs to skip (default empty). Add the current refund ID or others to exclude them.
$refund | WC_Order_Refund | The current refund order object
$data_warehouse | WPDAI_Data_Warehouse | The data warehouse instance

#### Return

Type: array

Array of refund IDs (integers) to skip. If `$refund->get_id()` is in this array, the refund is skipped.

### Example Usage

#### Skip refunds from a specific gateway

    add_filter( 'wpd_alpha_insights_refund_ids_to_skip', 'skip_test_gateway_refunds', 10, 3 );
    function skip_test_gateway_refunds( $refund_ids_to_skip, $refund, $data_warehouse ) {
        if ( is_a( $refund, 'WC_Order_Refund' ) ) {
            $payment_method = $refund->get_payment_method();
            if ( $payment_method === 'test_gateway' ) {
                $refund_ids_to_skip[] = $refund->get_id();
            }
        }
        return $refund_ids_to_skip;
    }

#### Skip specific refund IDs from options

    add_filter( 'wpd_alpha_insights_refund_ids_to_skip', 'skip_configured_refund_ids', 10, 3 );
    function skip_configured_refund_ids( $refund_ids_to_skip, $refund, $data_warehouse ) {
        $ids = get_option( 'my_excluded_refund_ids', array() );
        if ( is_array( $ids ) ) {
            $refund_ids_to_skip = array_merge( $refund_ids_to_skip, array_map( 'absint', $ids ) );
        }
        return $refund_ids_to_skip;
    }

### Related

- wpd_alpha_insights_data_source_refunds – Filter refunds data
- wpd_alpha_insights_skip_refunds_without_parent – Skip refunds without parent order