Buenos días
En la nueva web tenemos el problema de que cuando alguien hace un pedido, compra y se le cobra al TPV se le devuelve el siguiente mensaje:
"El pedido sin pagar ha sido cancelado ? se ha alcanzado el limite de tiempo. El estado del pedido cambió de Pendiente de pago a Cancelado."
Lo que pasa es que sí que se le descuenta el dinero y lo paga efectivamente, ¿hay algo que podamos hacer desde Webempresa para que no de ese mensaje?
Gracias y un saludo
Contenido solo visible a usuarios registrados
Hola Victor.
"El pedido sin pagar ha sido cancelado ? se ha alcanzado el limite de tiempo. El estado del pedido cambió de Pendiente de pago a Cancelado
Los pedidos con redsys no pasan automáticamente a pagados y son los administradores los que tienen que cambiar el estado del pedido a pagado.
Esto lo puedes solucionar añadiendo una función que haga que cuando un cliente realice el pago se cambie automáticamente a completado:
// 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( 'bacs', 'cheque', 'cod', 'paypal', '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 a completado, si no quieres que todas las opciones de pago cambien a completo puedes modificar " array( 'bacs', 'cheque', 'cod', 'paypal', 'redsys' ); " eliminado las pasarelas que no quieres que cambien. de estado.
Tienes mas información en este enlace:
-> https://www.webempresa.com/blog/cambiar-estado-del-pedido-en-woocommerce-automaticamente.html
Sobre el tema " El estado del pedido cambió de Pendiente de pago a Cancelado " Woocommerce cambia el estado del pedido a cancelado si durante un tiempo que esta configurado no se cambia el estado del pedido pendiente de pago a pagado o procesando, esto se realizar para poder mantener un control de stock, es decir, si utilizas un control de Stock de los productos, WooCommerce descuenta del stock las unidades compradas, si el pedido permanece pendiente de pago durante un tiempo este se cancela y los productos de ese pedido vuelven a estar disponibles para su compra.
Puedes modificar ese dato desde WooCommerce - Ajustes ' Selecciona la pestaña ' Productos - Inventario ' y módica el apartado ' Mantener el stock (en minutos) ' lo dejas en blanco.
Como te indico mi compañera siempre es mejor que utilices el plugin oficial de Redsys que uno de terceros.
Un saludo