В Woocommerce у нас есть возможность оплаты BACS. Некоторые заказы поступают как оплаченные, а некоторые - нет. Я не могу понять, почему, поскольку они используют один и тот же способ оплаты. Два изображения ниже покажут вам это:
Мы используем функцию для автоматического изменения этих платежей с «В ожидании» на «Обработка» на случай, если это может иметь какое-то отношение к проблеме. Код ниже:
add_action( 'woocommerce_thankyou', 'bacs_order_payment_processing_order_status', 10, 1 );
function bacs_order_payment_processing_order_status( $order_id ) {
if ( ! $order_id ) {
return;
}
// Get an instance of the WC_Order object
$order = new WC_Order( $order_id );
if ( ( get_post_meta($order->id, '_payment_method', true) == 'bacs' || 'cod' ) && ('on-hold' == $order->status || 'pending' == $order->status) ) {
$order->update_status('processing');
}
else {
return;
}
}
// change COD payment method order status from processing to on-hold
add_action('woocommerce_thankyou_cod', 'action_woocommerce_thankyou_cod', 10, 1);
function action_woocommerce_thankyou_cod($order_id)
{
$order = wc_get_order($order_id);
$order->update_status('processing');
}
Любая помощь будет принята с благодарностью!