Bitmap Elements

Table of Bitmap Elements

BitNameFormatAttribute
1Bit Map, Extended (0 –> 8 bytes, 1 –> 16 bytes)b1
2Primary Account Number (CardHolder Number)LLVARn..19
3Processing Coden6
4Amount, Transactionn12
5Amount, Settlementn12
6Amount, CardHolder Billingn12
7Transmission Date and TimeMMDDhhmmssn10
8Amount, CardHolder Billing feen8
9Conversion rate, Settlementn8
10Conversion rate, CardHolder Billingn8
11System Trace Audit number (STAN)n6
12Time, Local Transactionhhmmssn6
13Date, Local TransactionMMDDn4
14Date, Expiration (Card Expire date)YYMMn4
15Date, SettlementMMDDn4
16Date, ConversionMMDDn4
17Date, CaptureMMDDn4
18Merchant's Typen4
19Acquiring Institution Countryn3
20Primary Account Number Extended, Country Coden3
21Forwarding Institution Country Coden3
22Point Of Service Entry Mode (POS Entry Mode)n3
23Card Sequence Numbern3
24Network International Identifier (NII)n3
25Point Of Service Condition Code (POS Condition Code)n2
26Point Of Service PIN Capture Code (POS PIN Capture Code)n2
27Authorization Identification Response Lengthn1
28Amount, Transaction Feex+n8
29Amount, Settlement Feex+n8
30Amount, Transaction Processing Feex+n8
31Amount, Settlement Processing Feex+n8
32Acquiring Institution Identification CodeLLVARn..11
33Forwarding Institution Identification CodeLLVARn..11
34Primary Account Number ExtendedLLVARns..28
35Track 2 dataLLVARz..37
36Track 3 dataLLLVARz...104
37Retrival Reference Numberan12
38Authorization Identification Responsean6
39Response Codean2
40Service Restriction Codean3
41Card Acceptor Terminal Identification (TID)ans8
42Card Acceptor Identification Code (MID)ans15
43Card Acceptor Name/Locationans40
44Additional Response dataLLVARans..25
45Track 1 dataLLVARans..76
46Additional data – ISOLLLVARans...999
47Additional data – NationalLLLVARans...999
48Additional data – PrivateLLLVARans...999
49Currency code, Transactiona or n3
50Currency code, Settlementa or n3
51Currency code, CardHolder Billinga or n3
52Personal Identification Number (PIN)b64
53Security Related Control Informationb16
54Additional AmountsLLVARan..120
55EMV DataLLLVARans...999
56Reserved, ISOLLLVARans...999
57Reserved, NationalLLLVARans...999
58Reserved, NationalLLLVARans...999
59Reserved, NationalLLLVARans...999
60Reserved, PrivateLLLVARans...999
61Reserved, PrivateLLLVARans...999
62Reserved, PrivateLLLVARans...999
63Reserved, PrivateLLLVARans...999
64Message Authentication Code Field (MAC)b64

Data Elementsopen in new window

AbbreviationMeaning
aAlpha, including blanks
nNumeric values only
x+nNumeric (amount) values, where the first byte is either 'C' to indicate a positive or Credit value, or 'D' to indicate a negative or Debit value, followed by the numeric value (using n digits)
sSpecial characters only
anAlphanumeric
asAlpha & special characters only
nsNumeric and special characters only
ansAlphabetic, numeric and special characters.
bBinary data
zTracks 2 and 3 code set as defined inopen in new window ISO/IEC 7813open in new window and ISO/IEC 4909 respectively
. or .. or ...variable field length indicator, each . indicating a digit.
x or xx or xxxfixed length of field, or maximum length in the case of variable length fields.

Build Format

LLVAR

This function below use on n, an, ans and z type

private fun llvarCodecType(data: String?, length: Int): String {
        // Find length from HEX string
        val dataLength = data!!.length / 2
        // Check length size less than max of bit
        if (dataLength <= length) {
            // Check mod 2
            return if (data.length.mod(2) != 0) {
                // If mod 2 not equal 0 to add F at last of data and add length of message
                (dataLength).toString() + data + "F"
            } else {
                // If mod 2  equal 0 to add length of message only
                (dataLength).toString() + data
            }
        } else {
            throw Exception("Data invalid format")
        }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Example

Data: 410000000
Add F to mod 2 equal 0 : 410000000F
Add length: 05410000000F
1
2
3
4
5

LLLVAR

This function below use on n, an, ans and z type

 private fun lllvarCodecType(data: String?, length: Int): String {
       // Find length from HEX string
        val dataLength = data!!.length / 2
        // Check length size less than max of bit
        if (dataLength <= length) {
            return if (dataLength.mod(2) != 0) {
                // If mod 2 not equal 0 to add F at last of data and add length of message
                (dataLength).toString().padStart(4, '0') + data + "F"
            } else {
                // If mod 2  equal 0 to add length of message only
                (dataLength).toString().padStart(4, '0') + data
            }
        } else {
            throw Exception("Data invalid format")
        }
}
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Example

Data: 410000000
Add F to mod 2 equal 0 : 410000000F
Add length: 0005410000000F
1
2
3
4
5
Last Updated:
Contributors: Supavit Panyafang