A technical snafu left some Visa prepaid cardholders stunned and horrified Monday to see a $23,148,855,308,184,500 charge on their statements.[From Glitch hits Visa users with more than $23 quadrillion charge – CNN.com]
How can you charge more than the GDP of the entire world to a prepaid card without a red light going on somewhere in the system? Once again, the golden rule is proven. Someone will always make a mistake, so make sure your payment system fails safe. A simple bounds check ought to do it: if PAYMENT_AMOUNT is greater US_NATIONAL_DEBT then “refer authorisation to a human operator”, or something like that.
OK, so everyone makes mistakes. If this happened to me, by the way, I certainly wouldn’t call and complain — remember the old adage that if you owe bank a thousand dollars then you have a problem, but if you owe the bank 23 quadrillion dollars then the bank has a problem? I’d just call my bank, calmly, and ask for a service-not-rendered chargeback.
These opinions are my own (I think) and presented solely in my capacity as an interested member of the general public [posted with ecto]
The Register has a plausible explanation of why this might have happened. If the amount was interpreted as ASCII, space-padded, and then converted back to binary, you get almost exactly the amount these cards were charged:
[Though interesting that ASCII was used; I though EBCDIC was still popular in banking]
Cases like this make me wonder what other sort of formatting glitches trigger incorrect charges; maybe ones less ridiculous and so not as easy to identify as being a computer error.