PHP snippet to add a extra fee to the checkout for specific payment gateway.
You can copied and pasted in your theme’s functions.php file and get solution for this.
PHP Code
/**
* @snippet How to add checkout payment Fee for a specific payment gateway - WooCommerce
*/
// Step 1: Define Fee
add_action( 'woocommerce_cart_calculate_fees', 'mycode_add_checkout_fee' );
function mycode_add_checkout_fee() {
$chosen_gateway = WC()->session->get( 'chosen_payment_method' );
if ( $chosen_gateway == 'your-payment-gatway' ) {
WC()->cart->add_fee( 'Payment Gateway Fee', 3 );
}
}
// Part 2: Reload checkout page after select the payment gateway
add_action( 'woocommerce_review_order_before_payment', 'mycode_refresh_checkoutpage' );
function mycode_refresh_checkoutpage(){
?>
<script type="text/javascript">
(function($){
$( 'form.checkout' ).on( 'change', 'input[name^="payment_method"]', function() {
$('body').trigger('update_checkout');
});
})(jQuery);
</script>
<?php
}
Total Views: 1,589