I use WooCommerce order status manager which is interfering with statuses but i do not use any custom codes, only for attaching pdf to email and for adding information to BACS payments which should not be a problem.
I am using WooCommerce: Auto complete paid orders answer code to change the order status to a custom status, with the following code:
add_action( 'woocommerce_payment_complete_order_status', 'change_status_of_paid_orders', 10, 3 );
function change_status_of_paid_orders( $status, $order_id, $order ) {
return 'card-on-hold';
}
But problem is, that it takes several minutes to change the status and sometimes it will not be triggered at all.
I am not programmer and I do not know how to troubleshoot my issue, therefore I am asking for help or some directions.
My order statuses are for:
- new COD order:
processing
, - new BACS order:
on-hold
, - new CARDPAY order: custom status
card-on-hold
.
I tried to change priority to 9, 2 but it did not help it was not even triggered.
Thank you for any help.