ISO/IEC 7813は、国際標準化機構と 国際電気標準会議によって制定された国際標準であり、 ATMやクレジットカードなどの金融取引カードの特性を定義しています。[1]
範囲
この規格では以下を定義しています: [引用が必要]
- サイズ、形状、磁気ストライプの位置などの物理的特性。
- 磁気トラックデータ構造
身体的特徴
ISO/IEC 7813 は、主に他の規格を参照して、カードの次の物理的特性を規定しています: [引用が必要]
- エンボス文字
- ISO/IEC 7811を参照
- 有効期限の刻印
- 形式 (MM/YY または MM-YY)
- 磁気ストライプ
- ISO/IEC 7811を参照
- 接点付き集積回路
- ISO/IEC 7816 -1を参照
- 接点のない集積回路
- ISO/IEC 10536-1、 ISO/IEC 14443 -1、およびISO/IEC 15693 -1を参照
磁気トラック
トラック1
トラック1には最大79文字の英数字を保存できる。ISO 7813ではトラック1のデータ構造を次のように規定している: [2]
- SS : センチネル「%」を開始
- FC : フォーマット コード "B" (ここで説明するフォーマット。フォーマット "A" は独自の使用のために予約されています。)
- PAN:支払いカード番号4400664987366029、最大 19 桁
- FS : フィールド区切り文字 "^"
- NM: 名前、2 ~ 26 文字 (必要に応じて、姓、名などの間の区切り文字を含む)
- FS : フィールド区切り文字 "^"
- ED: 有効期限データ、4桁または「^」
- SC: サービスコード、3桁または「^」
- DD : 任意データ、文字数バランス
- ES : センチネル終了「?」
- LRC:縦方向冗長性チェック、 ISO/IEC 7811-2に従って計算
例
%B4815881002867896^YATES/EUGENE JOHN ^37829821000123456789?
%B4815881002861896^YATES/EUGENE L ^^^356858 00998000000?
トラック2
トラック2には最大40個の数字または特殊文字を保存できます。トラック1よりも密度の低い磁気エンコーディングを使用しますが、よりコンパクトな文字エンコーディングを使用します。ISO 7813では、トラック2のデータの構造を次のように規定しています。[2]
- SS : センチネルを開始します ";"
- PAN: ISO/IEC 7812-1で定義されている最大 19 桁のプライマリ アカウント番号
- FS : フィールド区切り文字 "="
- ED: 有効期限、YYMM、存在しない場合は「=」
- SC : サービス コード (3 桁)、存在しない場合は "="
- DD : 任意データ、利用可能な桁の残数
- ES : センチネル終了「?」
- LRC:縦方向冗長性チェック、ISO/IEC 7811-2に従って計算
トラック3
トラック3はトラック1と同じ密度を使用しますが、トラック2と同じ文字エンコーディングを使用しており、107個の数字を保存できます。[2]世界中の主要なネットワークでは事実上使用されておらず、支払いカードには存在しないことがよくあります。[引用が必要]
注目すべき例外はドイツで、ドイツでは「SECCOS」ICC 標準が採用される前は、トラック 3 コンテンツがデビット カード処理の承認および決済情報の主なソースとして全国的に使用されていました。トラック 3 は、カード所有者の銀行口座番号と支店コード (BLZ) の両方を含むように全国的に標準化されています。[引用が必要]
プログラミング
トラック 1 とトラック 2 の解析は正規表現を使用して実行できます。
トラック1
^%B([0-9]{1,19})\^([^\^]{2,26})\^([0-9]{4}|\^)([0-9]{3}|\^)([^\?]*)\?$
この正規表現は、すべての重要なフィールドを次のグループに分類します: [引用が必要]
- グループ 1: 支払いカード番号 (PAN)
- グループ 2: 名前 (NM)
- グループ 3: 有効期限 (ED)
- グループ 4: サービス コード (SC)
- グループ 5: 裁量データ (DD)
トラック2
^\;([0-9]{1,19})\=([0-9]{4}|\=)([0-9]{3}|\=)([^\?]*)\?$
- グループ 1: プライマリ アカウント番号 (PAN)
=- グループ2: 有効期限(ED)または
= - グループ3: サービスコード(SC)または
= - グループ4: 任意データ(DD)または空
参考文献
- ^ ISO/IEC 7813:2006 情報技術 - 識別カード - 金融取引カード
- ^ abc 「磁気ストライプカード規格」(PDF)。MagTek。2011年。2017年8月20日時点のオリジナルよりアーカイブ(PDF) 。2023年12月21日閲覧。
外部リンク
- ISO/IEC 7813:2006
実装
- 磁気トラック パーサー: 磁気トラック データを解析する Java ライブラリ
- クレジットカードトラックデータパーサーは、USBカードリーダーから返されるクレジットカードトラックデータを解析するためのJavaScriptライブラリです。
- 磁気ストライプカード上のトラックデータをデコードするための Ruby ライブラリ、magnet
- Magnetic-Stripe-Parser は、ストリーム リーダーから直接磁気トラック データを解析する .NET C Sharp ライブラリです。
