in reply to Hitting submit twice
The root cause of the problem is that the Submit from the Browser causes the web server, directly, to be the one that “queries the bank.” And you become hosed either way, because the first process is still out there, still waiting to hear from the bank, and with no one left to send a reply back to because by then your impatient customer has reloaded his page.
Start by disabling the button, and giving the customer something to watch ... a progress bar works nicely. See if that works. Redesigning the application as-designed to suit, as you say, “a few impatient customers,” would be very undesirable. Hope for the best.