Credit card processing is an arcane subject that could easily consume a chapter all by itself. Thankfully for those of us who have to implement credit card handling, it's a lot simpler than it used to be. Until recently, interfacing to a credit card authorization system involved dealing with C-based libraries that had to be coerced to communicate with Java. Now most major players in the authorization business offer native Java interfaces to their systems.
Let's start by talking about the players that take part in a credit card transaction:
The merchant— That's you or your client, the entity (company or individual) that is selling something.
The gateway provider— This is the company providing software and infrastructure to allow ...