ISO 8583

From Wikipedia, the free encyclopedia

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

  • Part 1:メッセージ、データエレメントおよびコード値[1]
  • Part 2:機関識別コード (IIC) の応用および登録手順[2]
  • Part 3:メッセージ、データエレメントおよびコード値の保全手順[3]
ミハルス
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__64
1234567890123456789012345678901234567890123456789012345678901234  ビットの位置
0100001000010000000000000001000100000010110000000100100000000100  ビットマップ

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

データエレメント

脚注

外部リンク

Related Articles

Wikiwand AI