ISO_8583
[Wikipedia|▼Menu]

ISO 8583は、国際標準化機構が金融取引カード始発メッセージを定めたもので、カード所有者が支払手段にカードを使用した場合に発生する電子メッセージの標準規格である。以下の3部で構成される。

Part 1:メッセージ、データエレメントおよびコード値[1]

Part 2:機関識別コード (IIC) の応用および登録手順[2]

Part 3:メッセージ、データエレメントおよびコード値の保全手順[3]

目次

1 概要

2 メッセージタイプID (MTI)

2.1 ISO 8583の版

2.2 メッセージクラス

2.3 メッセージ機能

2.4 メッセージ発生源

2.5 MTI一覧


3 ビットマップ

3.1 ビットマップの設定例


4 データエレメント

4.1 属性の例


5 脚注

6 外部リンク

概要 ISO 8583は、アクワイアラ-イシュア間の電子メッセージの手順で主に使用されている。

カードを使用した場合、そのカードが使用できるかを確認するため、POS端末ATMなどのカードを読み取る機械から、ネットワークを経由して、カードを発行している会社(イシュア)のシステムまでメッセージは渡される。そのメッセージデータには、カードの情報(カード番号など)や端末の情報(店舗番号など)、業務情報(金額など)、システムによって加えられる情報などが含まれる。カードを発行しているシステムは、そのトランザクションを承認または拒否して端末へ送る応答メッセージを発生させる。

異なるシステムが上記のトランザクションを交わすことができるよう、ISO 8583はメッセージ形式とコミュニケーション・フローを定義している。客が店で支払をする際にカードを使用する場合や、ATMが使用される大多数の場合は、ISO 8583が使用されている。マスターカードビザネットワークなど多くのネットワークは、信用照会業務はISO 8583をベースに手順を定められているが、ISO 8583にはルーティング情報がないため、TPDUヘッダが追加されている場合が多い。

ISO 8583には、カード所有者から発生するトランザクション(購入・取消・融資・返済・残高照会・口座変更)などや、セキュリティ・キー交換や、取引件数・金額の管理など、その他管理目的のための、システムメッセージ様式が定められている。

ISO 8583での標準のメッセージ形式は、各ネットワークやシステムではそのまま使用されていない。各ネットワークは、ISO 8583の形式をそれぞれカスタマイズして使用している。

ISO 8583の異なる版によって、各フィールドの使用方法が異なっている。例えば、1987年版と1993年版で使用されている通貨エレメントは、2003年版では使用されておらずそれぞれの金額項目のサブフィールドとして通貨を持つようになっている。ただし現在、ISO 8583の2003年版は、広く使用はされていない。

ISO 8583は、以下の内容で構成されている。

メッセージタイプID (MTI)

どのデータエレメントが存在するかを示すためのビットマップ

メッセージフィールドのデータエレメント

メッセージタイプID (MTI)

MTIは、メッセージの種類を分類する4桁の数値フィールドである。MTIには、メッセージクラス・メッセージ機能、メッセージの発生源の情報が、1桁毎に設定されている。以下の例 (MTI 0110) に、各桁があらわす内容を記載する。 0xxx -> ISO 8583の版(1987年版) x1xx -> メッセージクラス(オーソリメッセージ) xx1x -> メッセージ機能(要求に対する応答) xxx0 -> 手順の発生源(アイワイアラ)
ISO 8583の版

MTIの1桁目には、このメッセージがどのISO 8583標準バージョンを使用しているかを指定する。

値意味
0xxxISO 8583-1:1987年版
1xxxISO 8583-2:1993年版
2xxxISO 8583-1:2003年版
9xxx個社使用

メッセージクラス

MTIの2桁目には、メッセージの全体的な目的を指定する。

値意味例
x1xx
オーソリ取引を承認するか、否認するかを決定する。デュアルメッセージシステム (DMS) のため、決済処理は行わない。
x2xxファイナンシャル取引を承認する場合は、シングルメッセージシステム (SMS) のため、同時に決済・精算処理を行う。
x3xxファイル更新カード情報などの更新を行う。
x4xx取消オーソリの取消を行う。
x5xx交換処理件数等の更新情報を送信する。
x6xx管理システム管理情報を送信する。例えば障害発生による取消メッセージなどで使用される。
x7xx課金
x8xxネットワーク管理セキュリティキー交換や、開局、エコー・テストなどのネットワーク処理で使用する。
x9xxISO予約値

メッセージ機能

MTIの3桁目には、メッセージをシステム内のどこまで保証しなければならないかを指定する。要求の両端(例えばアクワイアラからイシュア(カード発行会社)で、タイムアウトが発生した場合は自動取消をその範囲で行う)や、アドバイス(端末からアクワイアラ、アクワイアラからネットワーク、ネットワークからイシュア間を保証する)を指定する。

値意味
xx0x要求
xx1x要求に対する応答
xx2xアドバイス
xx3xアドバイスに対する応答
xx4x通知
xx8x応答の認証
xx9xネガティブな認証

メッセージ発生源

MTIの4桁目には、メッセージの一連のトランザクションの発生源を指定する。

値意味
xxx0アクワイアラ
xxx1アクワイアラ(リピート)
xxx2イシュア
xxx3イシュア(リピート)
xxx4その他
xxx5その他(リピート)

MTI一覧

MTIの4桁の値で、そのメッセージが何のためのメッセージであるか、ネットワークのどの範囲までのものかを指定される。なお、ISO 8583を使用しているすべてのシステムで、MTIの意味を全く同じに解釈しているとは限らないが、以下にMTI値の例を示す。

MTI意味例
0100オーソリ要求カード会員が購入するためのPOS端末からの承認要求
0110オーソリ応答カード会員へ承認するためのイシュアからPOS端末への応答
0120オーソリアドバイスPOS端末が故障した場合など、承認しなければならない処理結果
0121オーソリアドバイスリピートアドバイスでタイムアウト発生時
0130オーソリアドバイス応答オーソリアドバイスに対する受信結果
0200ファイナンシャル要求ATMやシングルメッセージシステムのPOS端末などから発生する決済要求
0210ファイナンシャル要求応答決済要求に対するイシュアからの応答
0220ファイナンシャルアドバイスたとえばホテルのチェックアウトなど、オーソリ要求から始まった一連のトランザクションの完了時に使用される
0221ファイナンシャルアドバイスリピートアドバイスでタイムアウト発生時
0230ファイナンシャルアドバイス応答ファイナンシャルアドバイスに対する受信結果
0400取消要求トランザクションの取消
0420取消アドバイス取消が発生した結果の通知
0421取消アドバイスリピートアドバイスでタイムアウト発生時
0430取消応答取消アドバイスに対する受信結果
0800ネットワーク管理要求エコーテスト、開局、閉局など
0810ネットワーク管理応答エコーテスト、開局、閉局など
0820ネットワーク管理アドバイスキー交換

ビットマップ

ISO 8583内のビットマップは、メッセージ内にどのデータエレメントが存在するかを示すためのフィールド/サブフィールドである。

メッセージには「プライマリ・ビットマップ」と呼ばれるビットマップが必ず含まれる。それはデータエレメントのうち、フィールド1から64までの存在有無を示すビットマップである。セカンダリ・ビットマップが存在する場合は、一般的にフィールド1のデータエレメントの値に設定され、フィールド65から128までの存在有無を示す。同様に、サード・ビットマップは、フィールド129から192までの存在有無を示すものだが、あまり使用されない。

ビットマップは、8バイトのバイナリデータや、16進数の文字(0-9, A-F のASCIIまたはEBCDICコード)で示される。

特定のビットが立っている場合のみ、該当のフィールドが存在する。たとえば、'82x は2進数で '1000 0010' であるため、フィールド1と7のみ存在し、2, 3, 4, 5, 6, 8は存在しないことを示す。
ビットマップの設定例

ビットマップ存在フィールド
4210001102C04804フィールド 2, 7, 12, 28, 32, 39, 41, 42, 50, 53, 62
7234054128C28805フィールド 2, 3, 4, 7, 11, 12, 14, 22, 24, 26, 32, 35, 37, 41, 42, 47, 49, 53, 62, 64
8000000000000001フィールド 1, 64
0000000000000003
(セカンダリ・ビットマップ)フィールド 127, 128

ビットマップの例(8バイトのプライマリ・ビットマップ = 64ビット)フィールド 4210001102C04804
BYTE1 : 01000010 = 42x(左から2番目と7番目のビットが1のため、フィールド2と7が存在することを示す)
BYTE2 : 00010000 = 10x(フィールド12が存在)
BYTE3 : 00000000 = 00x(フィールドは存在しない)
BYTE4 : 00010001 = 11x(フィールド28と32が存在)
BYTE5 : 00000010 = 02x(フィールド39が存在)
BYTE6 : 11000000 = C0x(フィールド41と42が存在)
BYTE7 : 01001000 = 48x(フィールド50と53が存在)
BYTE8 : 00000100 = 04x(フィールド62が存在)
0________10________20________30________40________50________60__641234567890123456789012345678901234567890123456789012345678901234 ビットの位置0100001000010000000000000001000100000010110000000100100000000100 ビットマップ

上記内容で存在するフィールド
2-7-12-28-32-39-41-42-50-53-62

データエレメント

データエレメントは、そのトランザクションの情報を構成する個々のフィールドである。ISO 8583:1987でデータエレメントは最大128フィールド制定され、後に192フィールドまで拡張された。1993年での改訂ではメッセージ形式そのものは変わっていないが、新しい定義が加えられたのと同時に多少の削除があった。

それぞれのデータエレメントには意味とフォーマットが指定されているが、ISOで標準化されている内容と使用している各システムでは実際には若干異なっており、システム特有・国特有の多目的なデータエレメントが含まれる。

各データエレメントは、以下の表で記載される属性(値や長さ)で記述される。

属性意味
a英字(ブランクを含む)
n数字のみ
s特殊文字のみ
an英字または数字
as英字または特殊文字
ns数字または特殊文字
ans英字、数字、特殊文字
bバイナリデータ
z
ISO/IEC 7813ISO/IEC 4909 で定義されたトラック2・トラック3のコード値
. / .. / ...長さが可変であることを示す。
x / xx / xxx固定長の桁数 または 可変長の最大桁数

各フィールドは、固定長である場合と可変長の場合がある。可変長であれば、値の前に実際の長さが設定される。

属性意味
Fixed桁数フィールドは使用しない
LLVAR / (..xx)LLが100未満の場合は、2桁の桁数を指定する
LLLVAR / (...xxx)LLが100未満の場合は、3桁の桁数を指定する
LL/LLLは、16進数またはASCII。桁数フィールドはASCIIの時に限り圧縮することができる。LLは1バイトまたは2バイトである。16進数の1バイトとして圧縮する場合は、'27x は27バイトのフィールド値が後続することをあらわす。ASCII 2バイト '32x '37x が指定された場合も、同様に27バイトのフィールド値が後続することをあらわす。ASCIIで3桁フィールドの桁数を指定する場合、先頭の'0'を省略して2バイトであらわす場合もある。


次ページ
記事の検索
おまかせリスト
▼オプションを表示
ブックマーク登録
mixiチェック!
Twitterに投稿
オプション/リンク一覧
話題のニュース
列車運行情報
暇つぶしWikipedia

Size:39 KB
出典: フリー百科事典『ウィキペディア(Wikipedia)
担当:undef