• Resuelto anonimo1

    (@anonimo1)


    Buenas, he sacado este código de la comunidad, gracias a @jose64 y funciona perfectamente, solo que me interesaría que al precio del producto se le añada el IVA. Por si sirve de referencia el post en el que se encuentra es el siguiente: importe mínimo asegurado

    add_action( 'woocommerce_cart_calculate_fees','woocommerce_minimal_order' );
    function woocommerce_minimal_order() {
      global $woocommerce;
    	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    		return;
    /*		
    // 	Asigna a $minimalorder el valor mínimo del pedido
    */
    	$minimalorder = 10;
    	$currentorder = $woocommerce->cart->cart_contents_total;
    	$extrafee = $minimalorder - $currentorder;
    	if ( $extrafee > 0 ) {
    		wc_print_notice(
    		    sprintf( 'El total de tu pedido es %s. Compra algún artículo más para alcanzar el mínimo de %s o se añadirá un suplemento de %s a la hora del pago.' ,
    		        wc_price( $currentorder ),
    		        wc_price( $minimalorder ),
    		        wc_price( $extrafee )
    		    ), 'error'
    		);
    		$woocommerce->cart->add_fee( 'Suplemento pedido mínimo', $extrafee, true, '' );
    	}
    }
Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • Moderador jose64

    (@jose64)

    Hola.

    Tienes que añadirle al contenido del carrito el total de impuestos, y al calcular el recargo descontarle el porcentaje de impuesto (cálculo para 21%)

    add_action( 'woocommerce_cart_calculate_fees','woocommerce_minimal_order' );
    function woocommerce_minimal_order() {
      global $woocommerce;
    	if ( is_admin() && ! defined( 'DOING_AJAX' ) )
    		return;
    /*		
    // 	Asigna a $minimalorder el valor mínimo del pedido
    */
    	$minimalorder = 50;
    	$currentorder = $woocommerce->cart->cart_contents_total + $woocommerce->cart->tax_total;
    	$extrafee = $minimalorder - $currentorder;
    	if ( $extrafee > 0 ) {
    		wc_print_notice(
    		    sprintf( 'El total de tu pedido es %s. Compra algún artículo más para alcanzar el mínimo de %s o se añadirá un suplemento de %s a la hora del pago.' ,
    		        wc_price( $currentorder ),
    		        wc_price( $minimalorder ),
    		        wc_price( $extrafee )
    		    ), 'error'
    		);
    		$woocommerce->cart->add_fee( 'Suplemento pedido mínimo', $extrafee/1.21, true, '' );
    	}
    }

    En las pruebas que he realizado funciona correctamente, coméntanos si te sirve y, por favor, recuerda cerrar el debate marcándolo como resuelto cuando así lo consideres, de esta forma nos ayudas a mantener el foro al día.

    Iniciador del debate anonimo1

    (@anonimo1)

    ¡Muchas gracias! Funciona perfectamente. Un saludo.

Viendo 2 respuestas - de la 1 a la 2 (de un total de 2)
  • El debate ‘importe minimo’ está cerrado a nuevas respuestas.