Пользовательский фильтр неудачных заказов woocommerce

я использую пользовательский шлюз с биткойнами в woocommerce.

иногда клиенты платят небольшую сумму, и заказы помечаются как отмененные через 2 часа, которые я установил,

можно ли поместить отмененные заказы, которые получили ЛЮБОЙ платеж, в собственный настраиваемый фильтр

сейчас я использую этот код:

// Register new custom order status
add_action('init', 'register_custom_order_statuses');
function register_custom_order_statuses() {
    register_post_status('wc-test-accepted ', array(
        'label' => __( 'cancled not paid in full', 'woocommerce' ),
        'public' => true,
        'exclude_from_search' => false,
        'show_in_admin_all_list' => true,
        'show_in_admin_status_list' => true,
        'label_count' => _n_noop('cancled not paid in full <span class="count">(%s)</span>', 'cancled not paid in full <span class="count">(%s)</span>')
    ));
}


// Add new custom order status to list of WC Order statuses
add_filter('wc_order_statuses', 'add_custom_order_statuses');
function add_custom_order_statuses($order_statuses) {
    $new_order_statuses = array();

    // add new order status before processing
    foreach ($order_statuses as $key => $status) {
        $new_order_statuses[$key] = $status;
        if ('wc-processing' === $key) {
            $new_order_statuses['wc-test-accepted'] = __('cancled not paid in full', 'woocommerce' );
        }
    }
    return $new_order_statuses;
}


// Adding new custom status to admin order list bulk dropdown
add_filter( 'bulk_actions-edit-shop_order', 'custom_dropdown_bulk_actions_shop_order', 50, 1 );
function custom_dropdown_bulk_actions_shop_order( $actions ) {
    $new_actions = array();

    // add new order status before processing
    foreach ($actions as $key => $action) {
        if ('mark_processing' === $key)
            $new_actions['mark_test-accepted'] = __( 'cancled not paid in full', 'woocommerce' );

        $new_actions[$key] = $action;
    }
    return $new_actions;
}

Например

клиенты, которые ничего не платят, попадают в обычный отмененный фильтр. Клиенты, которые вообще платят какую-то сумму, будут помещены в «отмененные, не оплаченные полностью» после истечения срока.

упрощает выполнение всех заказов, спам-заказов и тому подобного, благодаря этому я могу легко увидеть, кто вообще сделал какой-либо платеж,


person Boggieman Boggie    schedule 12.02.2020    source источник
comment
1) как вы можете видеть в этом примере stackoverflow.com/a/60146724/11987538 вам не нужно использовать хук init для регистрации нового пользовательского статуса заказа, это также возможно с помощью woocommerce_register_shop_order_post_statuses 2) в примере вы также увидите, что хук woocommerce_order_refunded используется в этой конкретной настройке, чтобы определить, когда статус необходимо изменить. Так что все сводится к поиску крючка, который изменит статус вашего заказа в нужный момент. Какой статус на данный момент получает заказ, если оплата не была произведена в полном объеме?   -  person 7uc1f3r    schedule 12.02.2020
comment
они отмечены как отмененные   -  person Boggieman Boggie    schedule 12.02.2020
comment
да, через 2 часа я думал, что прочитал в вашем вопросе, но прежде чем это время прошло? Как возможно, что незавершенный платеж не выдает пользователю сообщение об ошибке? Разве вы не должны идти туда в поисках решения?   -  person 7uc1f3r    schedule 12.02.2020