Woocommerce: how to disable AJAX on apply/remove coupon?

Solution:

In your JS file you need to remove a couple of event handlers. There’s an event fired when pressing the remove coupon button and also when the coupon form is submit.

The relevant lines are 381 – 383 of woocommerce/assets/js/frontend/checkout.js (WooCommerce loads a minified version of this file).

$( document.body ).on( 'click', 'a.showcoupon', this.show_coupon_form );
$( document.body ).on( 'click', '.woocommerce-remove-coupon', this.remove_coupon );
$( 'form.checkout_coupon' ).hide().submit( this.submit );

You need to remove 2 and 3.

Add the following code to your JS file:

$( document.body ).off( 'click', '.woocommerce-remove-coupon', wc_checkout_coupons.remove_coupon );
$( 'form.checkout_coupon' ).off( 'submit' );