• Resuelto charlie0412

    (@charlie0412)


    Hola grupo:

    Quisiera saber si existe alguna forma de eximir de los impuestos según el método de pago seleccionado, sólo he encontrado en la red algunos códigos y plugins que permiten hacerlo según el rol del usuario. Gracias

Viendo 1 respuesta (de un total de 1)
  • Iniciador del debate charlie0412

    (@charlie0412)

    Saludos para todos, luego de una gran búsqueda por la red encontré el siguiente código, en el foro de Stack Overflow, que me ayudó a resolver el problema, lo comparto por si alguien lo necesitara en algún momento:

     add_action( 'woocommerce_before_calculate_totals', 'change_tax_class_based_on_payment_method', 10, 1 );
    function change_tax_class_based_on_payment_method( $cart ) {
        // Only for a specific defined payment meyhod
        if ( WC()->session->get('chosen_payment_method') !== 'cod' && WC()->session->get('chosen_payment_method') !== 'cheque')
            return;
    
        if ( is_admin() && ! defined( 'DOING_AJAX' ) )
            return;
    
        if ( did_action( 'woocommerce_before_calculate_totals' ) >= 2 )
            return;
    
        // Loop through cart items
        foreach( $cart->get_cart() as $cart_item ){
            // We set "Zero rate" tax class
            $cart_item['data']->set_tax_class("Zero rate");
        }
    }
    
    add_action('wp_footer', 'payment_methods_trigger_update_checkout');
    function payment_methods_trigger_update_checkout() {
        if( is_checkout() && ! is_wc_endpoint_url() ) :
        ?>
        <script type="text/javascript">
            jQuery(function($){
                $( 'form.checkout' ).on('change', 'input[name="payment_method"]', function() {
                    $(document.body).trigger('update_checkout');
                });
            });
        </script>
        <?php
        endif;
    }
Viendo 1 respuesta (de un total de 1)
  • El debate ‘Exención de impuestos según método de pago’ está cerrado a nuevas respuestas.