How can I fix the endless loading/spinning on the checkout page?

On some servers, the sending of checkout-related emails can cause trouble. You can enable the following filter to defer emails from sending until after the order is sent through, which speeds things up:

add_filter( 'woocommerce_defer_transactional_emails', '__return_true' );