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:
Komponen | Value |
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 bitmap | Unpacked / biner |
7 | 0111 |
2 | 0010 |
3 | 0011 |
A | 1010 |
0 | 0000 |
0 | 0000 |
0 | 0000 |
1 | 0001 |
0 | 0000 |
A | 1010 |
8 | 1000 |
0 | 0000 |
8 | 1000 |
4 | 0100 |
0 | 0000 |
0 | 0000 |
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 ON | Format | Atribut | Penjelasan |
2 | LLVAR | an ..19 | Elemen 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 |
3 | n 6 | Elemen ke-3: Processing Code Panjang data yang harus dibaca: 6. Jenis datanya numerik. Data: 011000 | |
4 | n 12 | Elemen ke-4: Amount Transaction Panjang data yang harus dibaca: 12. Jenis datanya numerik. Data: 000010000000 | |
dst | dst | dst | dst |
Demikian seterusnya, sehingga didapatkan hasil akhirnya seperti di bawah ini:
Bit | Nilai |
Type | 0200 |
2 | 593600141001099999 |
3 | 011000 |
4 | 000010000000 |
7 | 1007021533 |
11 | 000001 |
12 | 191533 |
13 | 1006 |
15 | 1007 |
32 | 565656 |
37 | 100609010224 |
39 | 00 |
41 | 00000901 |
49 | 360 |
54 | 100236C0102240000000 |
Sumber: http://datacrux.org/?itemid=6
0 komentar:
Posting Komentar