Hello, welcome to therichpost.com. In this post, I will tell you, How to add a custom fee for a specific payment gateway in Woocommerce? WordPress is the best cms and Woocommerce is the best Ecommerce plugin. WordPress hooks(add_action, add_filter) give us the power to edit or change the code without interruption into the files and this is the best thing about wordpress. Now I am going to tell you how the hooks work.
Here is the working and tested code for add a custom fee for a specific payment gateway in Woocommerce and you need to add this hook into your functions.php file:
// Add a custom fee based o cart subtotal add_action( 'woocommerce_cart_calculate_fees', 'custom_fee_for_credit_card', 20, 1 ); function custom_fee_for_credit_card( $cart ) { if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return; if ( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return; // Only checkout page $payment_method = WC()->session->get( 'chosen_payment_method' ); if ( 'credit_card' == $payment_method ) { $surcharge = $cart->subtotal * 0.025; $cart->add_fee( 'Комиссия банка', $surcharge, true ); } } // jQuery - Update checkout on methode payment change add_action( 'wp_footer', 'custom_checkout_jqscript' ); function custom_checkout_jqscript() { if ( ! ( is_checkout() && ! is_wc_endpoint_url() ) ) return; // Only checkout page ?> <script type="text/javascript"> jQuery( function($){ $('form.checkout').on('change', 'input[name="payment_method"]', function(){ $(document.body).trigger('update_checkout'); }); }); </script> <?php }
There are so many hooks in wordpress and i will let you know all. Please do comment if you any query related to this post. Thank you. Therichpost.com
I tried a lot of ways, but only yours did help me! Thank you!
Your welcome Sven. Glad it helped you..
Cheers