ایزو ۸۵۸۳
ایزو ۸۵۸۳ (به انگلیسی: ISO 8583) استانداردی بینالمللی برای تبادل پیام تراکنش کارتی است. ایزو ۸۵۸۳، استاندارد سازمان بینالمللی استانداردسازی است برای سامانههایی که تراکنشهای الکترونیکی (که توسط دارندگان کارت و با استفاده از کارت پرداخت آغاز شدهاند) را مبادله میکنند.
ایزو ۸۵۸۳ قالب پیام و همچنین گردش تبادل پیام را تعریف میکند بگونه ای که سیستمهای متفاوت بتوانند به مبادله تراکنشهای درخواست و پاسخ بپردازند. شبکههای مسترکارت و ویزا کارت و همچنین موسسات و شبکههای بسیاری در سطح جهان و ایران (مانند شبکههای بین بانکی شتاب و شاپرک و اغلب شبکههای محلی بانکها) از ایزو ۸۵۸۳ برای تبادل تراکنش استفاده میکنند.
پیشدرآمد
ایزو ۸۵۸۳ سه بخش دارد:
- بخش ۱: پیامها، اقلام دادهای، مقادیر کدها
- بخش ۲: روال درخواست و ثبت نام برای کدهای شناسایی موسسه(IIC: Institution Identification Codes)
- بخش ۳: روال نگهداری پیامهای پیشگفته، اقلام دادهای و مقادیر کدها
قالب پیام
یک پیام ایزو ۸۵۸۳ از بخشهای زیر تشکیل شدهاست:
- شناسه نوع پیام
- یک (یا بیشتر) بیت مپ، که نشانگر بود یا نبود اقلام دادهای است
- اقلام دادهای، فیلدهای اطلاعات واقعی پیام
شناسه نوع پیام
شناسه نوع پیام یک کد چهار رقمی است که دستهبندی کلی پیام را مشخص میکند. بایت نخست این شناسه نشانگر ویرایش ISO8583 استفاده شده در هر پیام است و سه بایت بعدی، دستهبندی کلی پیام از دید کارکرد، فرایند و آغازگر پیام را مشخص مینماید.
ویرایش ایزو ۸۵۸۳
رقم نخست از MTI نسخهٔ ISO 8583 را نشان میدهد.
کد | معنی |
---|---|
0xxx | ISO 8583:1987 |
1xxx | ISO 8583:1993 |
2xxx | ISO 8583:2003 |
3xxx | رزرو ISO |
4xxx | |
5xxx | |
6xxx | |
7xxx | |
8xxx | استفاده در سطح ملی (National use) |
9xxx | استفاده در سطح خصوصی(Private use) |
طبقه بندی پیام
رقم دوم MTI، هدف کلی پیام را مشخص میکند.
کد | معنی | کاربست |
---|---|---|
x0xx | رزرو ISO | |
x1xx | پیامهای اعتبارسنجی و بررسی | اگر مبلغ درخواستی موجود باشد، تاییدیه میگیرد ولی (برای عملیات تهاتر و مقابله) به حساب فرستاده نمی شود. در سیستمهای دو-پیامه (Dual message system :DMS) منتظر دریافت فایل تسویه به حساب می ماند. |
x2xx | پیامهای مالی | اگر مبلغ درخواستی در حساب موجود باشد، تاییدیه گرفته و مستقیما به حساب فرستاده میشود. در سیستمهای تک-پیامه(Single Message System:SMS) بعد از این تراکنش، تبادل فایلی انجام نمی شود. |
x3xx | پیام تبادل فایل | Used for hot-card, TMS and other exchanges |
x4xx | پیامهای شارژبک و اصلاحیه | اصلاحیه (x4x0 or x4x1): اصلاح تراکنشی که قبلا رخ داده است. Chargeback (x4x2 or x4x3): Charges back a previously cleared financial message. |
x5xx | پیام تهاتر و مقابله | Transmits settlement information message. |
x6xx | پیامهای راهبری | Transmits administrative advice. Often used for failure messages (e.g. message reject or failure to apply). |
x7xx | پیامهای جمع آوری و تبادل کارمزد | |
x8xx | پیامهای مدیریت شبکه | برای تبادل امن کلید، اعلام برقراری ارتباط(Logon)، تست بازتاب(Echo Test) و دیگر عملیات مرتبط با شبکه استفاده میشود. |
x9xx | رزرو ISO |
کارکرد پیام
رقم سوم از MTI، چگونگی گردش پیام در درون سیستم را مشخص میکند. درخواستها پیامهای پایان-به-پایان استند(برای نمونه، از پذیرنده به صادرکننده و با برگشت تایم آوتها و همچنین اصلاحیههای اتوماتیک)، درحالیکه پیامهای تایید(advice)، پیامهای نقطه-به-نقطه استند(برای نمونه، از پذیرنده به شبکه، از شبکه به صادرکننده، با تضمین تراگسیل پیام در هر لینک/ارتباط و بدون نیاز به ارسال فوری).
کد | معنی | یاداشت ها |
---|---|---|
xx0x | درخواست | |
xx1x | پاسخ درخواست | |
xx2x | تایید | |
xx3x | پاسخ تایید | |
xx4x | آگهی/اعلان | |
xx5x | دریافت آگهی/اعلان | |
xx6x | دستور | ISO 8583:2003 فقط |
xx7x | دریافت دستور | |
xx8x | رزرو ISO | Some implementations use for positive acknowledgment. |
xx9x | Some implementations use for negative acknowledgment. |
منشا پیام
رقم چهارم از MTI، موقعیت و محل صدور پیام در زنجیره پرداخت را مشخص میکند.
کد | معنی |
---|---|
xxx0 | پذیرنده |
xxx1 | پذیرنده-تکرار |
xxx2 | صادرکننده |
xxx3 | صادرکننده-تکرار |
xxx4 | دیگر گزینه ها |
xxx5 | دیگر گزینه ها-تکرار |
xxx6 | رزرو ISO |
xxx7 | |
xxx8 | |
xxx9 |
بیت مپ
اقلام دادهای زیادی برای فرایندهای مختلف در ساختار ISO8583 تعریف شدهاست. در هر تراکنش این استاندارد زیرمجموعه ای از این اطلاعات مبادله میشود. برای گزینش این زیرمجموعه، استاندارد ISO8583 از یک قلم دادهای به عنوان معرف بیتهای حاضر در بدنه هر پیام استفاده میکند. این قلم بیت مپ اولیه پیام نامیده میشود.
قلمهای دادهای
اقلام دادهای فیلدهایی اند که حاوی اطلاعات تراکنش میباشند. حداکثر ۱۲۸ قلم دادهای در استاندارد اصلی ایزو ۸۵۸۳:۱۹۸۷ تعریف شدهاست.
کوته نوشت | معنی |
---|---|
a | کاراکترهای حرفی، شامل بلانک |
n | کاراکترهای عددی |
s | کاراکترهای ویژه |
an | حرفی-عددی |
as | حرفی-ویژه |
ns | عددی-ویژه |
ans | حرفی-عددی-ویژه. |
b | دادههای دودویی |
z | دادههای فیلدهای track2 و track3 چنانچه به ترتیب در استانداردهای ISO/IEC 7813 و ISO/IEC 4909 تعریف شده اند |
. یا .. یا ... | نشانگر طول متغیر فیلد، هر . نشان دهندهٔ یک رقم. |
x یا xx یا xxx | طول ثابت فیلد، یا بیشترین طول در حالت طول متغیر. |
اقلام داده ای ISO
فیلد | نوع | نام پارسی | نام انگلیسی | کاربست |
---|---|---|---|---|
1 | b 64 | بیت مپ | bitmap | هر بیت نشانگر حضور فیلد متناظر(با ایندکس بیت) در پیام است. |
2 | n ..19 | شماره کارت/شماره حساب اصلی(PAN) | Primary Account Number | شماره کارت |
3 | n 6 | کد پردازش | Processing Code | نشانگر نوع تراکنش |
4 | n 12 | مبلغ تراکنش(مبلغ از دید پذیرنده) | Amount, Transaction | |
5 | n 12 | مبلغ تسویه | ||
6 | n 12 | مبلغ دارنده کارت(مبلغ از دید صادرکننده/دارنده کارت) | Amount, cardholder billing | |
7 | n 10 | تاریخ و زمان تراگسیل | Date Time Transmission | تاریخ و زمان تراگسیل پیام از یک نود به نود دیگر به وقت GMT |
8 | n 8 | مبلغ کارمزد دارنده کارت( از دید صادرکننده) | Amount, cardholder billing fee | |
9 | n 8 | نرخ تبدیل و تسویه | Conversion rate, settlement | |
10 | n 8 | نرخ تبدیل، از دید صادرکننده | Conversion rate, cardholder billing | |
11 | n 6 | شماره پیگیری تراکنش | System trace audit number (STAN) | |
12 | n 6 | زمان تراکنش، به وقت محلی | Local transaction time (hhmmss) | |
13 | n 4 | تاریخ تراکنش، به وقت محلی | Local transaction date (MMDD) | |
14 | n 4 | تاریخ انقضای کارت/حساب | Expiration date | |
15 | n 4 | تاریخ تسویه | ||
16 | n 4 | Currency conversion date | ||
17 | n 4 | Capture date | ||
18 | n 4 | کد نوع پذیرنده/کسب و کار | Merchant type, or merchant category code | |
19 | n 3 | Acquiring institution (country code) | ||
20 | n 3 | PAN extended (country code) | ||
21 | n 3 | Forwarding institution (country code) | ||
22 | n 3 | Point of service entry mode | ||
23 | n 3 | Application PAN sequence number | ||
24 | n 3 | Function code (ISO 8583:1993), or network international identifier (NII) | ||
25 | n 2 | Point of service condition code | ||
26 | n 2 | Point of service capture code | ||
27 | n 1 | Authorizing identification response length | ||
28 | x+n 8 | Amount, transaction fee | ||
29 | x+n 8 | Amount, settlement fee | ||
30 | x+n 8 | Amount, transaction processing fee | ||
31 | x+n 8 | Amount, settlement processing fee | ||
32 | n ..11 | Acquiring institution identification code | ||
33 | n ..11 | Forwarding institution identification code | ||
34 | ns ..28 | Primary account number, extended | ||
35 | z ..37 | اطلاعات راهه 2 | Track 2 data | |
36 | n ...104 | اطلاعات راهه 3 | Track 3 data | |
37 | an 12 | کد ارجاع بازیابی تراکنش(کد ارجاع) | ||
38 | an 6 | Authorization identification response | ||
39 | an 2 | کد پاسخ | Response code | |
40 | an 3 | Service restriction code | ||
41 | ans 8 | شناسه پایانه پذیرنده | Card acceptor terminal identification | |
42 | ans 15 | شناسه فروشگاه پذیرنده | Card acceptor identification code | |
43 | ans 40 | نام و محل پذیرنده (1-23 نام خیابان, 24-36 شهر, 37-38 استان, 39-40 کشور) | Card acceptor name/location | |
44 | an ..25 | Additional response data | ||
45 | an ..76 | Track 1 data | ||
46 | an ...999 | Additional data (ISO) | ||
47 | an ...999 | Additional data (national) | ||
48 | an ...999 | Additional data (private) | ||
49 | a or n 3 | Currency code, transaction | ||
50 | a or n 3 | Currency code, settlement | ||
51 | a or n 3 | Currency code, cardholder billing | ||
52 | b 8 | اطلاعات رمز مشتری | Personal identification number data | |
53 | n 16 | Security related control information | ||
54 | an ...120 | Additional amounts | ||
55 | ans ...999 | ICC data – EMV having multiple tags | ||
56 | ans ...999 | Reserved (ISO) | ||
57 | ans ...999 | Reserved (national) | ||
58 | ans ...999 | |||
59 | ans ...999 | |||
60 | ans ...999 | Reserved (national) (e.g. settlement request: batch number, advice transactions: original transaction amount, batch upload: original MTI plus original RRN plus original STAN, etc) | ||
61 | ans ...999 | Reserved (private) (e.g. CVV2/service code transactions) | ||
62 | ans ...999 | Reserved (private) (e.g. transactions: invoice number, key exchange transactions: TPK key, etc.) | ||
63 | ans ...999 | Reserved (private) | ||
64 | b 16 | کد اصالتسنجی پیام (MAC) | ||
65 | b 1 | Extended bitmap indicator | ||
66 | n 1 | Settlement code | ||
67 | n 2 | Extended payment code | ||
68 | n 3 | Receiving institution country code | ||
69 | n 3 | Settlement institution country code | ||
70 | n 3 | Network management information code | ||
71 | n 4 | Message number | ||
72 | n 4 | Last message's number | ||
73 | n 6 | Action date (YYMMDD) | ||
74 | n 10 | Number of credits | ||
75 | n 10 | Credits, reversal number | ||
76 | n 10 | Number of debits | ||
77 | n 10 | Debits, reversal number | ||
78 | n 10 | Transfer number | ||
79 | n 10 | Transfer, reversal number | ||
80 | n 10 | Number of inquiries | ||
81 | n 10 | Number of authorizations | ||
82 | n 12 | Credits, processing fee amount | ||
83 | n 12 | Credits, transaction fee amount | ||
84 | n 12 | Debits, processing fee amount | ||
85 | n 12 | Debits, transaction fee amount | ||
86 | n 16 | Total amount of credits | ||
87 | n 16 | Credits, reversal amount | ||
88 | n 16 | Total amount of debits | ||
89 | n 16 | Debits, reversal amount | ||
90 | n 42 | Original data elements | ||
91 | an 1 | File update code | ||
92 | an 2 | File security code | ||
93 | an 5 | Response indicator | ||
94 | an 7 | Service indicator | ||
95 | an 42 | Replacement amounts | ||
96 | b 64 | Message security code | ||
97 | x+n 16 | Net settlement amount | ||
98 | ans 25 | Payee | ||
99 | n ..11 | Settlement institution identification code | ||
100 | n ..11 | Receiving institution identification code | ||
101 | ans ..17 | File name | ||
102 | ans ..28 | Account identification 1 | ||
103 | ans ..28 | Account identification 2 | ||
104 | ans ...100 | Transaction description | ||
105 | ans ...999 | Reserved for ISO use | ||
106 | ans ...999 | |||
107 | ans ...999 | |||
108 | ans ...999 | |||
109 | ans ...999 | |||
110 | ans ...999 | |||
111 | ans ...999 | |||
112 | ans ...999 | Reserved for national use | ||
113 | ans ...999 | |||
114 | ans ...999 | |||
115 | ans ...999 | |||
116 | ans ...999 | |||
117 | ans ...999 | |||
118 | ans ...999 | |||
119 | ans ...999 | |||
120 | ans ...999 | Reserved for private use | ||
121 | ans ...999 | |||
122 | ans ...999 | |||
123 | ans ...999 | |||
124 | ans ...999 | |||
125 | ans ...999 | |||
126 | ans ...999 | |||
127 | ans ...999 | |||
128 | b 64 | کد اصالتسنجی پیام |
جستارهای وابسته
منابع
- ↑ ISO 8583-1:2003 Financial transaction card originated messages -- Interchange message specifications -- Part 1: Messages, data elements and code values
- ↑ ISO 8583-2:1998 Financial transaction card originated messages -- Interchange message specifications -- Part 2: Application and registration procedures for Institution Identification Codes (IIC)
- ↑ ISO 8583-3:2003 Financial transaction card originated messages -- Interchange message specifications -- Part 3: Maintenance procedures for messages, data elements and code values
پیوند به بیرون
- DL-ISO-8583 Open-source implementation, written in C
- Introduction to ISO 8583
- Free Java/Android library to pack/unpack ISO8583 Message, support Tertiary Bitmap & Subfields
- A free ISO8583 editor and message parser
- An OpenSource implementation of the international ISO-8583 standard
- A free .NET library that allows developers to parse and create ISO8583 messages easily - Free Source Code
- Trx Framework .NET open source project for financial messages interchange including ISO 8583
- DFDL schemas for ISO 8583 Data Format Description Language schemas for parsing and writing ISO 8583 messages
- A free Java ISO8583 Client & Server over Netty. Uses j8583 for message encoding and parsing.
- A free Java library that allows developers to parse and create ISO8583 messages easily - Free Source Code
- An open source Python library for ISO8583