WC_AJAX::delete_refund()
Delete a refund.
Description Description
Source Source
File: includes/class-wc-ajax.php
public static function delete_refund() {
check_ajax_referer( 'order-item', 'security' );
if ( ! current_user_can( 'edit_shop_orders' ) || ! isset( $_POST['refund_id'] ) ) {
wp_die( -1 );
}
$refund_ids = array_map( 'absint', is_array( $_POST['refund_id'] ) ? wp_unslash( $_POST['refund_id'] ) : array( wp_unslash( $_POST['refund_id'] ) ) ); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized
foreach ( $refund_ids as $refund_id ) {
if ( $refund_id && 'shop_order_refund' === get_post_type( $refund_id ) ) {
$refund = wc_get_order( $refund_id );
$order_id = $refund->get_parent_id();
$refund->delete( true );
do_action( 'woocommerce_refund_deleted', $refund_id, $order_id );
}
}
wp_die();
}