| |
 |
| ISO8583: Membaca Message | | Dikirim oleh admin |
| Senin, 17-April-2006, 13:48:39 |
(5648 klik) |
 |
 |
|
|
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 Message Mapper ISO8583.
|
|
|
Membaca Message ISO8583
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 |
pk-
17-04-2006
|
|
|
|
|
Total Klik: 218181
Total Online: 3
|
|
|
|