Soporte » Plugins y Hacks » WooCommerce » Pedidos sin pagar no se eliminan

  • rodrigo92

    (@rodrigo92)


    Hola!

    Os cuento, tengo una instalación de WooCommerce + WooCommerce Booking. EL problema que tengo es que cuando un usuario va a reservar un producto, elige el método de pago, se redirige a la plataforma pertinente (tpv redsys o PayPal) y no comleta el pago, el pedido y la reserva se quedan con Pendientes de Pago, pero el stock del producto se queda bloqueado hasta que cancelo manualmente la reserva o hasta que el usuario paga.

    Esto es un gran inconveniente, ya que solo cuento con 1 unidad en stock (es alquiler de motos) y hay reservas que se quedan bloqueadas porque no se eliminan automáticamente, impidiendo que otros usuarios realicen la reserva esos mismos días.

    Sé que en WooCommerce / Ajustes / Producto / Inventario se puede configurar el tiempo en que un pedido está pendiente de pago, pero no hace caso ni a los 60 minutos que WooCommerce establece por defecto ni al tiempo personalizado que indico. Simplemente, los pedidos pendientes de pago no se borran.

    Descartado también que se deba a la caché ya que no tengo configurado nada en este sentido ni en servidor ni en la instalación de WordPress.

    ¿A alguien le ha ocurrido algo similar, o conoce alguna forma de forzar el cambio de Pendiente de pago a cancelado/eliminado pasados X minutos?

    Gracias!!

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • Moderador Fernando Tellado

    (@fernandot)

    Hola @rodrigo92

    ¿Has probado si te pasa solo con productos de reserva o con cualquiera?

    Hola Fernando, gracias por tu participación.

    Lamentablemente también sucede con productos simples…

    Moderador Fernando Tellado

    (@fernandot)

    ¿Has probado a poner el ajuste de «mantener en inventario» a cero?

    De momento yo pondría en los datos del producto en cuestión, en la pestaña de disponibilidad de la reserva, que requiere confirmación. Los productos de reserva, al estar asignados a una hora y día, si están pendientes, reservan la fecha/hora y claro, en ese día no están disponibles. Así te curas en salud, y al tener que aprobarlas siguen disponibles hasta que confirmas.

    Con los productos simples que no sean de reserva no debería pasar, o al menos puedes evitar que pase si en los datos del producto, en la pestaña de inventario, pones más existencias de las que tengas o que el producto se pueda reservar, mejor la segunda opción.

    Hola, Fernando

    EL tma de confirmar la reserva no es una opción por cuestiones de organización interna.

    Lo que sí he estado intentando es provocar que los estados pendientes de pago pasen a cancelados. De tal forma que pedidos «pendientes de pago» no existan. Si el cliente finaliza su checkout pagando, entiendo queaparecerían como completados sin problema.

    Para ello, he estado probando con este código, peor no consigo que funcione (segundo condicional):

    add_action( 'woocommerce_thankyou', 'letsgo_auto_processing_orders');
    function letsgo_auto_processing_orders( $order_id ) {
        if ( ! $order_id )
            return;
    
        $order = wc_get_order( $order_id );
    
        // If order is "pending" update status to "processing"
        if( $order->has_status( 'processing' ) ) {
            $order->update_status( 'completed' );
        }
    	
    	if( $order->has_status( 'pending' ) ) {
            $order->update_status( 'cancelled' );
        }
    }
    • Esta respuesta fue modificada hace 6 días, 5 horas por  Fernando Tellado. Razón: Etiquetado correcto del código
    Moderador Fernando Tellado

    (@fernandot)

    Mira, igual este plugin lo han hecho pensando en ti 🙂

    https://wordpress.org/plugins/woo-cancel-abandoned-order/

Viendo 5 respuestas - 1 de 5 (de 5 total)
  • Debes estar registrado para responder a este tema.