Copyright © Blog yang lainnya
Design by Dzignine
Selasa, 31 Januari 2012

Membaca Message ISO8583

Kemampuan membaca message ISO8583 sangat diperlukan untuk memahami sebuah transaksi yang menggunakan dasar ISO8583. Berikut ini cara membaca message ISO8583 secara manual, sebelum nanti membahas pemrograman aplikasi Message Mapper ISO8583. Kemampuan memecah bit ISO8583 secara manual akan sangat membantu dalam proses pembuatan aplikasi komputernya.

Komponen Message ISO8583

Message ISO8583 terdiri atas 3 (tiga) komponen utama:

  • Message Type
    Adalah 4 karakter pertama pada message, misalnya:
    '0200', '0210', '0400', '0410', '0800', '0810', dll.

  • Bitmap primer dan (optional) bitmap sekunder
    Adalah 16 karakter berikutnya (mulai dari posisi 5 s.d. posisi 20), jika tanpa bitmap sekunder;
    --- atau ---

    32 karakter berikutnya (mulai dari posisi 5 s.d. posisi 36), jika dengan bitmap sekunder.

  • Data-elements
    Adalah bagian elemen-elemen data sesuai dengan bitmap.


Catatan:
Khusus untuk messaging pada Base-24 biasanya memiliki perbedaan dengan komponen di atas, yakni adanya penambahan 4 komponen (2 optional, 2 mandatory) di depan message ISO8583:

  • Data Prefix (optional, 0-9 bytes)

  • IMS/CICS transaction code (optional, 0-9 bytes)

  • Start of Base-24 header (mandatory literal 'ISO', 3 bytes)

  • Base-24 header (mandatory, 9 bytes)


Bentuk Message ISO8583

Contoh Message:

0210723A00010A80840018593600141001099999
0110000000100000001007021533000001191533
1006100706565656100609010224000000090136
0020100236C0102240000000

Merujuk kepada dasar pemahaman komponen pembentuk message ISO8583, maka contoh message di atas bisa dipisah menjadi seperti di bawah ini:



















KomponenValue
Message Type (4 karakter pertama)0210
Bitmap (16 atau 32 karakter berikutnya)723A00010A808400
Penjelasan:Karena karakter ke-1 pada bitmap (atau karakter ke-5 pada message) adalah '7' (atau 0111 dalam biner) yang berarti bit ke-1 adalah '0', berarti bitmap sekunder tidak ada. Dengan demikian panjang bitmap yang perlu dibaca adalah 16 karakter.
Data-elements (sisanya)185936001410010999990110000000100000001007
021533000001191533100610070656565610060901
02240000000901360020100236C010224000000

Memecah Bitmap

Setelah dipisah menjadi komponen-komponen, setiap karakter pada Bitmap di-unpack menjadi 4 karakter biner. Dengan demikian akan diperoleh unpacked-Bitmap sepanjang 64 karakter (16*4) atau 128 karakter (32*4), tergantung ada tidaknya bitmap sekunder.







































































Karakter bitmapUnpacked / biner
70111
20010
30011
A1010
00000
00000
00000
10001
00000
A1010
81000
00000
81000
40100
00000
00000

Dari unpacked-Bitmap tersebut kita dapat menelusuri bagian Data-elements. Sebagai contoh dari unpacked-Bitmap di atas, diketahui bahwa elemen-elemen yang ada pada bagian Data-elements adalah elemen ke: 2, 3, 4, 7, 11, 12, 13, 15, 32, 37, 39, 41, 49, dan 54 (posisi-posisi yang bernilai '1' pada unpacked-Bitmap).

Membaca Data-elements

Setiap posisi yang bernilai '1' pada unpacked-Bitmap mempunyai elemen data yang bersesuaian pada komponen Data-elements. Untuk lebih jelasnya, di bawah ini diuraikan cara membaca Data-elements berdasarkan unpacked-Bitmap yang telah diperoleh di atas.

Data elements:
185936001410010999990110000000100000
001007021533000001191533100610070656
56561006090102240000000901360020100236C0102240000000

































Posisi ONFormatAtributPenjelasan
2LLVARan ..19Elemen ke-2: Primary Account Number
LLVAR: 2 karakter pertama menunjukkan panjang data yang harus diambil, dalam contoh: 18.
an ..19: data bisa berupa alphabet atau numerik, maksimal panjang data 19 karakter (tanpa 2 karakter yang menunjukkan panjang data).
Data: 593600141001099999
3n 6Elemen ke-3: Processing Code
Panjang data yang harus dibaca: 6.
Jenis datanya numerik.
Data: 011000
4n 12Elemen ke-4: Amount Transaction
Panjang data yang harus dibaca: 12.
Jenis datanya numerik.
Data: 000010000000
dstdstdstdst

Demikian seterusnya, sehingga didapatkan hasil akhirnya seperti di bawah ini:



































































BitNilai
Type0200
2593600141001099999
3011000
4000010000000
71007021533
11000001
12191533
131006
151007
32565656
37100609010224
3900
4100000901
49360
54100236C0102240000000

Sumber: http://datacrux.org/?itemid=6

0 komentar:

Posting Komentar