Good points. I would suggest contacting the software maintainers through other means, since they are unlikely to be scanning this forum for usability reports.
One more thing I've found useful is a unique identifier for each purchase. It doesn't have to be stored in any kind of history, and could be as simple as a date. So if you paid for "13:37:00" and then see a "13:36:30 failed" message, you wouldn't be repeating the payment. This is, of course, just an additional measure.