Avisos
Vaciar todo

Problema Estado de Pedido Woocommerce (pasa automáticamente a  

 
Nicolás
 Nicolás
Nuevo usuario

Hola que tal,

He buscado en el foro pero no logré dar con el problema que tengo actualmente.
Mi situación es inversa a la de muchos.

Cada vez que se realiza una transacción en mi sitio, el estado del pedido se cambia automáticamente a "Completado" y necesito que pasen por el estado "Procesando".
Esto es malo, debido a que vendo tangibles, y deben ser preparados para envíos entre otras cosas, y bueno esto me empezó a ocurrir desde que migré mi sitio a webempresa.

Alguna sugerencia u orientación que puedan darme?
Saludos.

URL del sitio: Contenido solo visible a usuarios registrados

Citar
Respondido : 09/10/2017 12:02 pm
Jhon
 Jhon
Soporte CMS Webempresa Moderator

Hola

Te sucede con todos los métodos de pago? o con algún método de pago específico?

Revisa si tienes algún código que haga esto, revisa:
http://woodemia.com/cambiar-estado-del-pedido-en-woocommerce-automaticamente/

Saludos.

ResponderCitar
Respondido : 09/10/2017 6:46 pm

Nicolás
 Nicolás
Nuevo usuario

Hola,

Es con un sólo medio de pago en particular, (Web pay plus) un medio de pago local en Chile.
Ya había revisado ese código que pasa automáticamente a completado, pero no está dentro de los míos.

Agradecería orientación para corregir lo que sigue ocurriendo en mi tienda.
Saludos.

ResponderCitar
Respondido : 09/10/2017 10:07 pm
Nicolás
 Nicolás
Nuevo usuario

Si es que me baso en el snippet de woodemia, podré solucionar mi problema si altero el código de la siguiente forma?:

add_action( 'woocommerce_order_status_processing', 'actualiza_estado_pedidos_a_procesando' );
add_action( 'woocommerce_order_status_on-hold', 'actualiza_estado_pedidos_a_procesando' );
function actualiza_estado_pedidos_a_procesando( $order_id ) {
    global $woocommerce;
    
    // 'transbank' es mi pasarela de pagos en cuestión
    $paymentMethods = array( 'transbank' );
    
    if ( !$order_id ) return;
    $order = new WC_Order( $order_id );

    if ( !in_array( $order->payment_method, $paymentMethods ) ) return;
    $order->update_status( 'processing' );
}
ResponderCitar
Respondido : 09/10/2017 10:16 pm

wpdoctor-revisa-la-salud-de-tu-wordpress

Johnny Heredia Montiel
 Johnny Heredia Montiel
Miembro Moderator

Hola,

Solo podrás verificar si este código funciona modificando el fichero correspondiente.

Lo que te recomiendo es que antes de modificarlo, descargues el fichero a modificar y en caso de que genere problemas vuelvas a restaurarlo para volver a un estado anterior.

ResponderCitar
Respondido : 10/10/2017 3:06 am