Common Processing Problems
From Zanecorpwiki
Vague Errors
To some extent, errors regarding processing failures are vague for a good reason. Namely, you don't want to give attackers information on how to compromise your system. The difference between "Card declined" and "Bad security code" can be the difference between a stolen credit card number and successfully thwarting such an attempt.
The problem is that the processors (for some good reason) don't trust developers to get better information. If a client, for instance, says "transactions are broken" and it turns out they were using a test card, it would be nice to be told that. Instead, you'll end up going through logs and double checking code and submitting your transactions before the real problem (which the gateway could have instantly illuminated) finally comes out.
Part of the problem is that gateways reasonably know that some developers are going to make mistakes and that information could get accidentally leaked. It would be entirely possible to design an interface that makes accidental leaks a near impossibility, but gateways know that developers have to work with them and often have little say in decisions about which processor to go with, so competing on the basis of ease of development is not a concern. Interfaces have gotten somewhat better over the years, but are all pretty much bare-bones and cryptic, especially when it comes to providing useful error information.
Test Cards
Submitting a test card on a live system predictably (and hopefully) causes failure.


