Modificar limite de tiempo en WooCommerce para pagos con Redsys

Cuando añadimos nuestros métodos de pago y usamos Redsys como uno de ellos nos encontraremos con algunas dificultades para su configuración, una de ellas es el tiempo que redsys tienes para completar un pedido.

El mayor problema de completar los pedidos con redsys es que estos no pasan automáticamente a pagados o procesados y son los administradores los que tienen que cambiar el estado del pedido ha completado, esto trae como consecuencia que si no se actualiza con tiempo el estado del pedido este se cancele de forma automática por WooCommerce.

Para solucionar este inconveniente podemos hacerlo añadiendo una función que haga que cuando un cliente realice el pago se cambie automáticamente ha completado.

Esta función debe añadirse en el function.php de nuestro tema (preferiblemente un tema hijo) y guardar los cambios

La función que tenemos que añadir es la siguiente:

// Actualiza automáticamente el estado de los pedidos a Completado
add_action( 'woocommerce_order_status_processing', 'actualiza_estado_pedidos_a_completado' );
add_action( 'woocommerce_order_status_on-hold', 'actualiza_estado_pedidos_a_completado' );


function actualiza_estado_pedidos_a_completado( $order_id ) {
global $woocommerce;


//ID's de las pasarelas de pago a las que afecta
$paymentMethods = array( 'redsys' );
if ( !$order_id ) return;
$order = new WC_Order( $order_id );
if ( !in_array( $order->payment_method, $paymentMethods ) ) return;
$order->update_status( 'completed' );
}

Este código lo que hace es cambiar el estado del pedido ha completado.

De igual forma es conveniente que modifiquemos dentro de WooCommerce la configuración para mantener el inventario en minutos, al desactivar esta opción le indicaremos a WooCommerce que no  cancele el pedido de forma automática cuando pasen X minutos.

Estos podemos modificarlo desde ‘WooCommerce – Ajustes’ Selecciona la pestaña ‘Productos – Inventario‘ y módica el apartado ‘Mantener el stock (en minutos)‘ dejándolo en blanco.

Solo guarda los cambios, de esta forma desactivamos la opción de cancelar pedido de forma automática en WooCommerce.

Si deseas ver otras opciones para modificar el estado de forma automática con otras pasarelas te recomendamos el siguiente articulo -> CAMBIAR ESTADO DEL PEDIDO EN WOOCOMMERCE AUTOMÁTICAMENTE

 

 

Updated on 28 octubre, 2021

Related Articles