Avisos
Vaciar todo

Pedidos en woocommerce aparecen en pediente de pago  

 
Jesús
 Jesús
Nuevo usuario

Hola, he trasladado la web de un cliente de otro servidor (donde estaba funcionando todo perfectamente) ayer a webempresa.

Todo parecía estar bien hasta que probé que todo funcionaba correctamente haciendo un pedido de prueba y me en encontrado con que cuando realizo el pedido y pago mediante redsys todo va bien hasta que llega el momento de registrar el pedido en woocommerce, donde el pedido, a pesar de estar validado en el banco, aparece como "pendiente de pago" en lugar de procesando. Tras un tiempo el pedido aparece luego como cancelado.

El plugin de conexión con redsys es WooCommerce Redsys Gateway Light de José Conti, por si esto pudiera ser de ayuda para encontrar la solución

Tengo activada esta opción ya que de lo contrario ni tan siquiera registra el pedido en el backend.

Captura de pantalla 2025 02 23 084644

Tengo la web en modo mantenimiento ya que se encuentra en funcionamiento, y los pedidos entran de forma continuada.

¿Podrían ayudarme por favor?

Perdón si no explico suficientemente bien, pero mis conocimientos son limitados.

 

 

Contenido solo visible a usuarios registrados

Citar
Respondido : 23/02/2025 8:25 am
Pepe
 Pepe
Soporte CMS Webempresa Admin

Hola Jesús.

Lo primero, si es posible, intenta utilizar el plugin oficial de Redsys:

-> https://pagosonline.redsys.es/desarrolladores-inicio/documentacion-tipos-de-integracion/modulos-pago/

Para solucionar lo de los pedidos:

.- Instala el siguiente plugin:

-> https://es.wordpress.org/plugins/code-snippets/

El plugin sirve para añadir código sin tener que editar los archivos ( creo que ya lo estas utilizando )

 

Una vez instalado y activado:

.- Accede a Fragmentos de código -> Añadir nuevo.

.- Añade un título para tenerlo identificado y añade el siguiente código:

// 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', 'bacs', 'cheque', 'cod', 'paypal' );

if ( !$order_id ) return;
$order = new WC_Order( $order_id );

if ( !in_array( $order->payment_method, $paymentMethods ) ) return;
$order->update_status( 'processing' );

 

Esto hará que los pedidos pasen a procesando una vez se realice el pago.

 

Tras un tiempo el pedido aparece luego como cancelado 

Para evitar que los pedidos en estado pendiente pasen a cancelado:

.- Accede a woocommerce - Ajustes ' Selecciona la pestaña ' Productos - Inventario ' y módica el apartado ' Mantener el stock (en minutos) ' lo dejas en blanco.

 

screenshot joomlero cp95.webjoomla.es 2020.07.14 13 05 07

 

Revisa si se soluciona y nos comentas.

 

Un Saludo

ResponderCitar
Respondido : 23/02/2025 12:05 pm

Cursos Gratuitos WordPress