So I finally got hosted checkout working and I left with one big disappointment. When the transaction has completed and the Clover server is redirecting the browser to the success page, there is a not-brief-enough period of time (5 to 7 seconds) when the screen is not greyed out and my success page hasn't come up (i.e. during the round trip to my server). During this time, it possible to click again on the submit payment button, which causes an error.
The exposure time is long enough that a reasonable hurried user might think that something didn't work and try clicking on the button again. I'm seeing this happen about 30% of the time.
How do I keep this from happening?