answersLogoWhite

0

== == Hi Koso

I am excited work in ISO ...please can you tel me, if you have any ISO manual for VISA, hypercom, MC

do you mean how is data formatted or do you mean how do you specifically use "packed" data? e.g. a financial transaction request, let's suppose it has ascii format and the bitmap is binary, I'll represent binary data with 'b' as I can't (or won't) go through the trouble of making an actual binary bitmap: 0200bbbbbbbb165500007891111111003000000000000100 Now the above shows only the start of the message and not a real bitmap, but the format should be clear: the first 4 bytes are the message type, in this case "0200", financial transaction request (a response would be 0210). The next 8 bytes are the binary bitmap (64 bits) that will, if done correctly, show which bits (data elements) are present i.e. have value "1" and not "0". Now in this case I show you 3 following data elements which are present in most requests: cardnumber (2), processing code (3) and transaction amount (4). Data element 2 is cardnumber and has variable length where the length subfield is 2 positions - here you can see it has value "16", which means the next 16 bytes are the cardnumber. Then comes data element 3 which is fixed length 6 positions for the processing code, in this case "003000" which means purchase (first 2 positions "00") using a credit card (positions 3-4 "30"). Then comes data element 4 which is a 12 position fixed length numeric field for the transaction amount, in this case 1 (of whatever currency) because 000000000100 translates to 1.00 currency unit. The currency will be determined in the data element 49 later in the stream, e.g. 840 would be USD. It's like this: the ISO-message roughly exists of 3 things: - message type (MTI) - bitmap(s) - data (elements) The message type can be packed or unpacked and if unpacked, it can be either EBCDIC or ASCII. If it's packed (like with "Hypercom" iso or Visa ISO). each byte contains 2 numbers, if you look at the hex value, which you have to "nibble" to get the expanded value. So if your message type (and other numerical data elements) is packed, the message type is your first 2 bytes instead of your first 4 bytes, after which comes your bitmap. Your bitmap can be either single, double or triple and also can be either hex or binary. A normal Point of Sale message contains a single binary bitmap, i.e. 8 bytes with 64 bits turned on or off. After you figure out which bits are on or off, you start parsing the data elements based on the bitmap data element definition, the fact if they're packed or not (if numeric), they are variable length and if they're alpha numeric, if they're ASCII or EBCDIC. It's complicated but once you make one good routine with your data elements, format all defined in tables, you'll breeze through any type of ISO. I'm programming on a daily basis with Hypercom ISO, Visa, MasterCard, Discover and another 3rd party vendor and they're all a bit different ... Regards, Koos Bezemer Curacao

User Avatar

Wiki User

15y ago

Still curious? Ask our experts.

Chat with our AI personalities

ViviVivi
Your ride-or-die bestie who's seen you through every high and low.
Chat with Vivi
ProfessorProfessor
I will give you the most educated answer.
Chat with Professor
RafaRafa
There's no fun in playing it safe. Why not try something a little unhinged?
Chat with Rafa

Add your answer:

Earn +20 pts
Q: How does data elements are packed in ISO 8583 message?
Write your answer...
Submit
Still have questions?
magnify glass
imp