I had the same issue on a client site recently and it appears to have been a timing issue. The default time for the checkout button to be disabled is 4 seconds. I made the following change to includes/modules/pages/checkout_confirmation.php on a 1.5.1 site:
Original
PHP Code:
function submitonce()
{
var button = document.getElementById("btn_submit");
button.style.cursor="wait";
button.disabled = true;
setTimeout('button_timeout()', 4000);
return false;
}
New
PHP Code:
function submitonce()
{
var button = document.getElementById("btn_submit");
button.style.cursor="wait";
button.disabled = true;
setTimeout('button_timeout()', 20000);
return false;
}
4000 becomes 20000
They have not had a duplicate order since making this change.
Bookmarks