Question: Why would a bank never use MySQL for its banking systems?
Answer: Because you truly need ACID transactions for such critical systems (note: that link is outdated. MySQL has improved - somewhat - but it's still a decent explanation of ACID transactions). Never take a chance with people's money.
Given that you can go ahead and write apps that periodically crash, lose user preferences, or even accidentally wipe out data, the one thing that you should never, ever do is mess with someone's money. This leads me to the obvious question: why the heck are credit card processing systems such pieces of crud? One of the test servers that I am working with returns information that does not match real world data. I'm building and testing software that I cannot guarantee will work (granted, this is for a private system that you folks will never encounter) until I see it perform with customer's real-life credit cards. Oh joy!
Apparently, many of the credit card processors out there see programmers as a nuisance and aren't terribly inclined to answer questions. There are few things more annoying than getting a denied request only to have the processor tell you that they won't explain said requests -- even on a test system.
And don't even think about having the temerity to request up-to-date documentation