Before getting in to jPOS, need to understand the requirement behind that. To achieve that, it is better to consider our application CyberSource Formatter.
Assume a card holder who want to buy mobile online. Lets take he goes to Amazon site and selects a mobile. When he wants to make payment he will give his card number, expiry date, address etc.
Lets assume card holder is having his account in citi bank (and a Visa card) and Amazon's in HSBC (and a Master Card).
Now, the money transfer has to happen from card holder's citi account to Amazon's HDFC account. Before that, the message transfers should happen to know whether the account is valid or not. If valid, whether he is having sufficient funds or not, etc has to be checked. If only all of these checks are passed, then the fund transfer should happen.
But, to do all of these, there should be an entity, which manages to know what kind of transaction is, to which bank to route the transaction etc. PG is that entity. The issue is, it is damn difficult to implement all the banks spec and will be out of scope work for PG.
There are some entities called as Processors (FDCNorth, PaymentTech etc) which take care of these things. PG, just need to send the transaction details to Processor, then it will take care of further things. When processor gets back the response, PG just routes back to client and acts as a Gateway.
PG should send the transaction details in Processor understandable format. Widely accepted format is ISO 8583. ISO – Independent Sales Organization. This standard specifies how the message should look like for a given transaction scenario. ie, it says, what should be there in what field, what is the acceptable length, data type etc.
Our application CS-Formatter do that job of formatting a message for a given transaction scenario.
By this time people will be knowing what is the requirement. Ask them the requirement of CSF!!!
What is the solution???
We can develop this component from scratch. But we have a beautiful, Open source jar – jPOS which not only have facility to format a message, but also have hell lot of utilities like packagers, data type classes (binary, ascii, ebcdic etc and also for variable lengths), logging mechanism, Queue, channel etc.
No comments:
Post a Comment