ISO/IEC 7813 - Wikipedia Jump to content

ISO/IEC 7813

From Wikipedia, the free encyclopedia

ISO/IEC 7813 is an international standard codified by the International Organization for Standardization and International Electrotechnical Commission that defines properties of financial transaction cards, such as ATM or credit cards.[1]

Scope

[edit]

The standard defines:[citation needed]

  • physical characteristics, such as size, shape, location of magnetic stripe, etc.
  • magnetic track data structures

Physical characteristics

[edit]

ISO/IEC 7813 specifies the following physical characteristics of the card, mostly by reference to other standards:[citation needed]

Embossed characters
by reference to ISO/IEC 7811
Embossing of expiration date
the format (MM/YY or MM-YY)
Magnetic stripe
by reference to ISO/IEC 7811
Integrated circuit with contacts
by reference to ISO/IEC 7816-1
Integrated circuit without contacts
by reference to ISO/IEC 10536-1, ISO/IEC 14443-1, and ISO/IEC 15693-1

Magnetic tracks

[edit]

Track 1

[edit]

Track 1 can store up to 79 alphanumeric characters. ISO 7813 specifies the following structure for track 1 data:[2]

  • SS : Start sentinel "%"
  • FC : Format code "B" (The format described here. Format "A" is reserved for proprietary use.)
  • PAN : Payment card number 4400664987366029, up to 19 digits
  • FS : Field separator "^"
  • NM : Name, 2 to 26 characters (including separators, where appropriate, between surname, first name etc.)
  • FS : Field separator "^"
  • ED : Expiration data, 4 digits or "^"
  • SC : Service code, 3 digits or "^"
  • DD : Discretionary data, balance of characters
  • ES : End sentinel "?"
  • LRC : Longitudinal redundancy check, calculated according to ISO/IEC 7811-2

Examples

[edit]

%B4815881002867896^YATES/EUGENE JOHN         ^37829821000123456789?

%B4815881002861896^YATES/EUGENE L            ^^^356858      00998000000?


Track 2

[edit]

Track 2 can store up to 40 numeric or special characters; it uses a lower density magnetic encoding than Track 1 but a more compact character encoding. ISO 7813 specifies the following structure for track 2 data:[2]

  • SS : Start sentinel ";"
  • PAN : Primary Account Number, up to 19 digits, as defined in ISO/IEC 7812-1
  • FS : Field separator "="
  • ED : Expiration date, YYMM or "=" if not present
  • SC : Service code, 3 digits or "=" if not present
  • DD : Discretionary data, balance of available digits
  • ES : End sentinel "?"
  • LRC : Longitudinal redundancy check, calculated according to ISO/IEC 7811-2

Track 3

[edit]

Track 3 uses the same density as track 1 but has the same character encoding as track 2, allowing it to store 107 numeric characters.[2] It is virtually unused by the major worldwide networks and often isn't present on payment cards.[citation needed]

A notable exception to this is Germany, where Track 3 content was used nationally as the primary source of authorization and clearing information for debit card processing prior to the adoption of the "SECCOS" ICC standards. Track 3 is standardized nationally to contain both the cardholder's bank account number and branch sort code (BLZ).[citation needed]

Programming

[edit]

Parsing Track 1 and Track 2 can be done with Regular Expressions.

Track 1

[edit]

^%B([0-9]{1,19})\^([^\^]{2,26})\^([0-9]{4}|\^)([0-9]{3}|\^)([^\?]*)\?$

This Regex will capture all of the important fields into the following groups:[citation needed]

  • Group 1: Payment card number (PAN)
  • Group 2: Name (NM)
  • Group 3: Expiration Date (ED)
  • Group 4: Service Code (SC)
  • Group 5: Discretionary data (DD)

Track 2

[edit]

^\;([0-9]{1,19})\=([0-9]{4}|\=)([0-9]{3}|\=)([^\?]*)\?$

  • Group 1: Primary Account Number (PAN)
  • =
  • Group 2: Expiration date (ED) or =
  • Group 3: Service code (SC) or =
  • Group 4: Discretionary data (DD) or empty

References

[edit]
  1. ^ ISO/IEC 7813:2006 Information technology -- Identification cards -- Financial transaction cards
  2. ^ a b c "Magnetic stripe card standards" (PDF). MagTek. 2011. Archived (PDF) from the original on 20 August 2017. Retrieved 21 December 2023.
[edit]

Implementations

[edit]