The OP said that Kobo told her there were two successful transactions within moments of each other. Without a look at their logs, my best guess is that the first transaction really did fail, and when she tried again, she clicked the "buy" button twice, either accidentally or because the response was slow and she didn't think she'd done it the first time.
Some sites deal with this by disabling or removing the "buy" button when it's clicked, but that has its own pitfalls in an asynchronous medium. Also, it's dependent on the user having a scripting language (usually JavaScript) enabled, and there is a non-zero percentage of users who don't. There are ways to deal with that, of course, and ways to deal with all the issues that come up ... but most canned shopping cart software doesn't. Either the entire industry is lazy, or the consensus is that introducing additional avenues of failure and potential bugs isn't a good tradeoff to avoid the occasional double click, which can be fixed by just canceling/refunding the spurious order.
|