Home Ödeme Sistemleri ISO 8583 ISO 8583 hangi alanlardan oluşur?

ISO 8583 hangi alanlardan oluşur?

20 min read
0
0
6,292

ISO 8583 ile ilgili ön bilgileri alttaki linkte anlatmıştık.

ISO 8583 mesaj yapısı ve bu yapıların detaylarını bu yazımızda bulacaksınız.

ISO 8583 Mesaj Yapısı

ISO 8583 mesajı 3 ana bölümden oluşur:

  • MTI (Mesaj Tipi Göstergesi )
  • Bitmap ( mesajda hangi veri elemanlarının bulunduğunu gösteren alan)
  • Data Element (Mesaj içerik alanları)

Uygulama Verileri

Al #Açıklama
0MTI Mesaj Türü Göstergesi
1 – BitmapDiğer alanların varlığını/yokluğunu belirten 64 (veya 128) bit
2 – 128Bitmap’te belirtilen diğer alanlar

Kısaca veri akışını aşağıdaki şekilde  görselleştirebiliriz:

Şimdi bu alanların detaylarını inceleyelim:

Mesaj Türü Göstergesi (MTI):

Mesajın üst düzey fonksiyonunu belirten 4 basamaklı nümerik alandır.

ISO versiyonu – Mesaj Sınıfı – Mesaj Fonksiyonu – Mesajın Yönü

Birinci Alan: ISO mesajın versiyonunu verir;

0xxxISO 8583: 1987 versiyonu
1xxxISO 8583: 1993 versiyonu
2xxxISO 8583: 2003 versiyonu
3xxxISO kullanımı için ayrılmıştır
4xxxISO kullanımı için ayrılmıştır
5xxxISO kullanımı için ayrılmıştır
6xxxISO kullanımı için ayrılmıştır
7xxxISO kullanımı için ayrılmıştır
8xxxUlusal kullanım için ayrılmıştır
9xxxÖzel kullanım için rezerv

İkinci Alan:Mesaj sınıfını belirtir.

Mesaj sınıfıAçıklama
x1xxYetkilendirme Mesajı
x2xxFinansal mesaj
x3xxDosya Eylemleri Mesajı
x4xxİade ve ChargebackMesajı
x5xxMutabakat Mesajı
x6xxİdari Mesaj
x7xxÜcret Toplama Mesajı
x8xxNetwork Mesajı
x9xxISO kullanımı için ayrılmıştır

Üçüncü Alan: Mesaj Fonksiyonunu belirtir.

İleti Alt SınıfıAçıklama
XX00Request mesajı
xx10Response Mesajı
xx20Advice Mesajı
xx30Advice Cevap Mesajı
xx40Notifikasyon(Bildirim) Mesajı
xx50 – xx90ISO kullanımı için ayrılmıştır


Dördüncü Alan:   Mesajın yönünü gösterir. 
Dördüncü alanı birer birer arttırmak bir tekrar talebini gösterir (x300 mesajlar hariç). Örneğin: 1100 = Otorizasyon Talebi ; 1101 Otorizasyon Talebi Tekrar.

İşlem YapıcıAçıklama
0Acquirer
1Acquirer Tekrar
2Issuer
3Issuer Tekrar
4Diğer
5Diğer Tekrar
6 – 9ISO kullanımı için ayrılmıştır

Dolayısıyla MTI değerini bilerek mesajın türünü belirleyebiliriz. Örneğin: MTI değeri 1200 ise,

  • İlk alan Versiyon Numarası içindir ve MTI’deki değer 1’dir, bu yüzden mesaj versiyonu ISO 8583: 1993’e dayanmaktadır. 
  • İkinci alan Mesaj Sınıfı içindir ve MTI’deki değer 2’dir, bu yüzden mesaj bir finansal mesajdır. 
  • Üçüncü alan mesaj alt sınıfı / işlevi içindir ve MTI değeri 0’dır, bu yüzden verilen mesaj bir istek mesajdır. 
  • Dördüncü alan İşlem Yürütücüsü içindir ve MTI değeri 0’dır, bu yüzden mesaj Alıcıdan gelir. 
  • Bütün bunları birleştirdiğimizde MTI değeri 1200 olan bu mesajı Acquirer tarafından gönderilen bir ISO 1993 Finansal İstek Mesajıdır.

Yukarıdaki verileri özetlersek; genel olarak kullanılan MTI değerleri ve açıklamaları aşağıdaki gibidir:

  Description
x100 Authorization Request
x101 Authorization Request Repeat
x102 Authorization completion confirmation
x103 Authorization completion confirmation repeat
x110 Authorization Response
x112 Authorization completion response
x120 Authorization Advice
x121 Authorization advice repeat
x122 Authorization advice completion confirmation
x123 Authorization advice completion confirmation Report
x130 Authorization Advice Response
x132 Authorization advice completion response
x200 Financial Request
x210 Financial Response
x220 Financial Advice
x230 Financial Advice Response
x300 Acquirer File Update Request
x302 Issuer File Update Request
x310 Acquirer File Update Response
x312 Issuer File Update Response
x320 Acquirer File Update Advice
x322 Issuer File Update Advice
x330 Acquirer File Update Advice Response
x332 Issuer File Update Advice Response
x400 Acquirer Reversal Request
x402 Issuer Reversal Request
x410 Acquirer Reversal Request Response
x412 Issuer Reversal Request Response
x420 Acquirer Reversal Advice
x422 Issuer Reversal Advice
x430 Acquirer Reversal Advice Response
x432 Issuer Reversal Advice Response
x5xx Reconciliation Request Messages
x6xx Administrative Request Messages
x800 Network Management Request
x810 Network Management Request Response

Bitmap

Bir bitmap, mesaj içinde hangi Veri Öğelerinin(Data Element) mevcut olduğunu belirtmek için ISO 8583 iletisinde kullanılan bir dizinleme tekniğidir. 

Belirli bir mesajdaki bir veri elemanının varlığı, atanan pozisyondaki bir (1) ile gösterilir; Sıfır (0) atanan pozisyonda bir veri elemanının olmadığını gösterir. Her bir uygulama işlemi bir (1) bit haritası içerir. Bir bit haritası, bit 1 ile başlayan soldan numaralandırılmış 64 bitten oluşur. Bit haritasının ilk biti, bir ikincil bit haritasıdır. Herhangi bir ISO mesajı ikincil bit haritası işlemeyi desteklemiyorsa, bit haritasının ilk biti ‘0’dır.

Bit 1Bit 2Bit 3Bit 4Bit 64
Alan 1 
İkincil bit haritası varsa  ‘1’, yoksa ‘0’
Alan 2 
Kart Numarası
Alan 3 
İşleme Kodu
Alan 4 
Miktar, Trans
Alan 64 
İleti Kimlik Doğrulama 
Kodu

Bir mesaj, Birincil Bitmap olarak adlandırılan en az bir bitmap içerir ve bu da Veri Öğeleri 1’in varlığını 64’e kadar gösterir.

İkincil Bitmap , Veri Öğesi 1’de bulunabilir ve bu nedenle Birincil Bitmap’deki ilk bit, içinde ikincil bitmap olup olmadığını belirtir

ISO 8583 standardının en son sürümüne göre; bir mesaj en fazla üç bitmap içerebilir. Bitmap 8 bayt (binary) olarak iletilebilir veya bazen 16 onaltı hexadecimal karakterlerle (1-9, AF (ASCII)) içinde açılmamış olarak 8 byte olabilir.

Data Elements (Veri Öğeleri)

Veri Öğeleri, işlemin bilgilerini taşıyan alanlardır. Orjinal ISO 8583 (1987) standardında  128 veri öğesine kadar desteklenirken; sonraki sürümlerde 192 veri öğesine kadar desteklenebilmektedir. Her Veri Öğesinin belirli bir anlamı ve formatı vardır. 

Örneğin: Bit Değeri 2, Birincil Hesap Numarası; 3, Processing Code; 4, İşlem Tutarı için kullanılmaktadır.

 Her bir data element için ISO, veri formatını ve boyutunu belirtir. ISO ayrıca belirli bir mesaj için tüm data elementinin zorunlu veya opsiyonel olup olmadığını belirtir.

Data Element Formatı

ISO-8583, temel olarak aşağıdaki kategorilere giren farklı tür alanları belirtir:

Fixed Length

• Numeric

• Alphanumeric

• Binary

Variable length

Max-length 99

• Numeric

• Alphanumeric

• Binary

Max-length 999

• Numeric

• Alphanumeric

• Binary

Nested message

Alan Türü Özellikleri

KısaltmaAnlam
aBoşluklar dahil olmak üzere alfabetik
nYalnızca Sayısal Değerler
sSadece özel karakterler
analfanümerik
asSadece alfabetik ve özel karakterler
nsSadece Sayısal ve Özel Karakterler
ansAlfabetik, sayısal ve Özel Karakterler
bBinary
zISO 7811 ve ISO 7813’te tanımlandığı gibi 2 ve 3 kodlu parçalar izler
hHexdata
LL, LLLTakip eden değişken alanın uzunluğu. ‘LL’ – İki haneli uzunluk göstergesi (1 bayt BCD) ‘LLL – 3 haneli uzunluk göstergesi (2 bayt BCD)
..17..125 17’ye kadar değişken alan. ‘..’, takip edilecek değişken verilerinin uzunluğunu tanımlayan basamak sayısını belirten iki basamaklı bir uzunluk göstergesidir (1 bayt BCD).125 karaktere kadar değişken alan. ‘…’, Takip edilecek değişken verilerinin uzunluğunu tanımlayan basamak sayısını belirten üç haneli bir uzunluk göstergesidir (2 bayt BCD). 

Bir data element sabit veya değişken uzunlukta olabilir. 

Bir mesajdaki uzunluk göstergeci,  değişken uzunluklu alan mesajı öncesinde gösterilir.

Sabit Uzunluk Veri Elemanı

Sabit uzunluklu Veri Elemanları ISO 8583 standardında tanımlanmış bir uzunluğa sahiptir ve mesajda uzunluk göstergesine gerek yoktur. Bunlar, izin verilen içerikten sonra uzunluğu da içerecek şekilde belirtilir.

Örneğin; Veri Elemanı 3, 6 haneli nümerik sabit uzunlukta bir alan anlamına gelen ‘n6’ formatına sahiptir.

Değişken Uzunluklu Veri Elemanı

Sabit uzuluk haricindeki veri elemanları değişken uzunluğa sahip olabilir ve mesajdaki veri elemanından önce bir uzunluk göstergesi eklenir. Uzunluk göstergesinin kendisi tanımlanmış bir uzunluğa sahiptir.

Örneğin, 1 basamaklı bir uzunluk göstergesi sadece 1 ile 9 arasında bir uzunluğa sahip değişken uzunluklu bir alan için yeterlidir, 3 basamaklı bir uzunluk göstergesi ise 999’a kadar alan değerlerini destekleyebilir. 

Değişken uzunluk alanları, iki nokta ‘..’ ile gösterilir ve bunu alanın maksimum uzunluğu takip eder. Uzunluk göstergesi, uzunluk göstergesinin uzunluğuna karşılık gelen bir dizi ‘L’ karakteriyle temsil edilir.

Örneğin, Veri Elemanı 2, nümerik sayı n..19’dur, LLVAR, 2 haneli uzunluk göstergesi ile birlikte en fazla 19 nümerik haneye sahip bir alan anlamına gelir.

Değişken uzunluk alanlarının uzunluğunu belirten bir prefix vardır, ancak ISO standartlarında bunun nasıl gösterileceği tanımlanmamıştır. Bu nedenle farklı vendorlar farklı gösterimleri kullanmaktadır. (Örneğin BCD, EBCDIC, ikili değer).

Örnek Mesaj Çözümlemeleri

Örnek 1: 0800 Mesajı

#İsimDeğerHex Değeri
0MTI080008 00
1BİRİNCİL(PRIMARY) BITMAP3, 11 ve 41 alanlarının varlığını gösterir.20 20 00 00 00 80 00 00
3İŞLEM KODU00000000 00 00
11STAN (System Trace Audit Number)00000100 00 01
41
CARD ACCEPTOR TERMINAL IDENTIFICATION
2911000132 39 31 31 30 30 30 31

İşte 0800 mesajımızın ikili temsili:

080020200000008000000000000000013239313130303031

Yukarıdaki örnekte, 0800 mesaj tipi göstergedir ; ilk pozisyon versiyon numarasını gösterir:

       • 0 versiyon 1987

İkinci pozisyon mesaj sınıfıdır :

• 8 network management(ağ yönetimi)

Üçüncü konum mesaj alt sınıfı / işlevidir :

• 0 istek(request) talebi

Ve son pozisyon işlem yönünü tanımlamak için kullanılır.

• 0 acquirer

Yani “0800” 1987 bir ağ yönetim talebi sürümüdür.

Ardından alan 1, birincil bitmap değeri var:

Birincil Bitmap

ByteHex DeğeriBit DeğeriAlan #
0200010 00003
1200010 000011
2000000 0000 
3000000 0000 
4000000 0000 
5801000 000041
6000000 0000 
7000000 0000

MTI, (0800) bitmap’i (2020000000800000) ayrıştırdık.

3, 11 ve 41 alanlarının dolu olduğunu biliyoruz, böylece bir sonraki alanımız 3.alanı inceleyelim:

Örneğimizde, # 3 alanı BCD formatında kullanılmış. Bu yüzden “000000” değeri, değerleri “00 00 00” olan üç bayt ile gösterilir. 

Aynı hesaplama “000001” olan field # 11 için de geçerlidir, “00 00 01” olarak gösterilir. 

Örneğimizde, # 41 alanı 8 ASCII karakter olarak temsil edilen 8 baytlık bir alfanümerik alandır.

Mesaj: 08002020 00000080 00000000 00000001

                32393131 30303031

MTI: 0800

Bitmap: 20200000 00800000

Alan 03: 000000

Alan 11: 000001

Alan 41: 3239313130303031 (“29110001” için ASCII)

2. Örnek: Başka bir 0800 mesajı

#İsimDeğerHex Değeri
0MTI080008 00
1 APRIMARY(Birincil) BITMAPİkincil bitmapin var olup olmadığı + 3, 11 ve 41 alanlarının varlığını belirtir.A0 20 00 00 00 80 00 10
1.bİKİNCİ BITMAPAlan varlığını gösterir 7004 00 00 00 00 00 00 00 00
3İŞLEM KODU00000000 00 00
11
STAN (System Trace Audit Number)
00000100 00 01
41
CARD ACCEPTOR TERMINAL IDENTIFICATION
2911000132 39 31 31 30 30 30 31
60ÖZEL KULLANIM İÇİN RESERVETEST MESAJI00 10 54 45 53 54 20 4D 45 53 53 47
70
NETWORK MANAGEMENT INFORMATION CODE
30103 01

Yukarıdaki örnekte, # 60 ve # 70 olmak üzere iki yeni alan bulunmaktadır. İşte mesaj temsilimiz:

Mesaj: 0800A020 00000080 00100400 00000000

                00000000 00000001 32393131 30303031

                00105445 5354204D 45535347 0301

MTI: 0800

Birincil bitmap: A0200000 00800010

İkincil bitmap: 04000000 00000000

Alan 03: 000000

Alan 11: 000001

Alan 41: 3239313130303031 (“29110001” için ASCII)

Alan 60: 0010 54455354204D45535347 (uzunluk = 10, değer = “TEST MESSG”)

Alan 70: 0301

Bu bitmapi parçalayalım:

Birincil Bitmap

BaytHex DeğeriBit DeğeriAlan #
0A01010 0000İkincil bitmap artı # 3 mevcut
1200010 000011
2000000 0000 
3000000 0000 
4000000 0000 
5801000 000041
6000000 0000 
7100001 000060

İkincil Bitmap

Örnek Otorizasyon Cevabı

Alan #AçıklamadeğerYorumlar
0MTI0110Otorizasyon Cevabı
2Kart Numarası4321123443211234 
3Processing Code000000 
4İşlem Tutarı000000012300123.00
7İşlem Tarihi0304054133MMYYHHMMSS
11STAN001205 
14Son kullanma Tarihi0205YYMM
18Merchant Type5399 
22POS Entry Mode022Manyetik
25POS Condition Code00 
354321123443211234 = 02.0512312312332Track2
37RRN206305000014 
38n Numarası010305 
38Response Code00onaylı
41Teminal ID29110001 
42Acquirer ID1001001 
49Currency840Amerikan Doları
Load More Related Articles
Load More By Arif Ünal
Load More In ISO 8583

Check Also

BKM API Geçidi Entegrasyonu için verilen Hedef Tarihinde Düzenleme yapıldı

ÖDEME VE ELEKTRONİK PARA KURULUŞLARININ BİLGİ SİSTEMLERİ İLE ÖDEME HİZMETİ SAĞLAYICILARINI…