Sunday, February 26, 2017

Belajar ISO8583


Ditjen Pajak telah mengimplementasikan sistem MP3 (bukan file musik ya...) yaitu sistem untuk memonitor pemberitahuan pembayaran pajak yang dilakukan oleh bank-bank devisa persepsi yang menerima pembayaran pajak-pajak. Sistem ini mengunakan metode request-respon dengan standar dokumen ISO8583 yaitu sebuah standar dokumen untuk pertukaran data keuangan secara real time. Bentuk data-nya sederhana dan hampir semua berisi data numerik. Biasanya dokumen ini digunakan di mesin-mesin ATM.

Ditjen Pajak mengeluarkan panduan implementasinya. Pada intinya data yang dikirimkan terbagi menjadi data Financial Transaction (kode pengenalnya 02xx), Reversal (pembatalan transaksi-- kode pengenalnya 04xx) dan Network Management (kode 08xx).
Setiap dokumen request yang dikirim akan mendapatkan respon dengan tambahan nilai 10. Jadi misalnya request Network Management dengan kode 0800 maka akan dibalas dengan respon 0810, 0200 dibalas dengan 0210 dan seterusnya. Hasil akhir yang ingin dicapai sebenernya sih penerbitan respon NTPP (Nomor Tanda Pembayaran Pajak).

Komponen paket data ISO8583-MP3 terdiri dari Data Start (ISO), MP3 Header (011000017), kode pengenal paket data (08xx/02xx/ 04xx), Primary/Secondary Bitmap (64 bit) dan isi dari data sendiri (data element). Data elementnya dan secondari bitmapnya sendiri diatur kemunculan di primary bitmap.. <-- apa pula nech hahaha... Header data sendiri juga ada penjelasnya lengkap, namun nggak perlu aku uraikan disini karena nggak ngaruh (kebanyakan di hardcode aja..bukan variabel data) hahaha...

Element data disimbolkan dengan P-x. Jadi misalnya di primary bitmap request disebutkan sbb.

0111001000111000010000000000000100001000100000011000000000000000

Artinya element data yang harus muncul setelah primari bitmap adalah di bit 2, 3, 4, 7, 11, 12, 13, 18, 32, 37, 41, 48 dan 49. Ambil contoh yang muncul bit 2 (P-2), berdasarkan panduan P-2 artinya adalah Primary Account Number yang di representasikan oleh numerik sepanjang 16 digit. Atau ambil contoh lagi bit 3 (P-3), berdasarkan panduan berarti kemnculan elemen data Processing Code yang direpresentasikan oleh nilai numerik 6 digit berisi kode dan jenis transaksi yaitu 200000 (pembayaran SSP), 300000 (inquiry) dan 200001 (pembayaran SSP tanpa NPWP). Okeh cukup khan..?? Masalahnya kalo dicontohkan semua panjang nech... bisa jadi novel! :D
Jadi paket data lengkap yang dikirimkan menjadi (ini hanya contoh -- sengaja aku pecah per bit, aslinya sih cuman satu baris aja..)

ISO
011000017
0200
0111001000111000010000000000000100001000100000011000000000000000
160000000000015228
200000
000000010000
0611084115
123456
100221
0520
7010
040305
000000000001
0000000000000001
0460100111610530000011110002022002000000000000000
360


Setelah melakukan request, sistem inhouse MP3-Pajak akan langsung mengeluarkan respon yang diletakkan di bit ke-39, maka primary bit response biasanya sbb :
0111001000111000010000000000000100001010100000011000000000000000
Lihat di bit 39 bernilai "1" artinya element data di response akan ada kemunculan bit-39 (P-39) yang direpresentasikan oleh numerik sepanjang 2 digit. Contoh respon sbb.
ISO
011000017
0210
0111001000111000010000000000000100001010100000011000000000000000
160000000000015228
300000
000000010000
0611084115
123456
100221
0520
7010
04 0305
000000000001
00 <-- bit 39
0000000000000001
160CITI BANK N.A. LANDMARK CENTER LT.4 JL.JEND. SUDIRMAN KAV.1 - SETIA BUDI PPh Pasal
21 Masa / Angsuran
360

Lihat! Di bit ke-39 bernilai "00" artinya pengiriman data kita di approve/sukses.
Hebatnya lagi sistem ini, jika pada saat komunikasi data terdapat kegagalan, maka kita diperbolehkan mengirimkan data advice dengan menyebutkan alasan pengiriman data advice tersebut, misalnya karena time-out atau hal lain yang diletakan di bit ke-60.
Awalnya, mengingat implementasi realtime biasanya menggunakan socket programming dan kebetulan aplikasi internal yang dibangun berbasis web dengan bahasa pemrograman PHP, aku buat program exchange datanya menggunakan socket PHP. Namun kurang begitu "menggigit" hasilnya. Jadilah exchange data menggunakan M$ Visual Ba$ic :D dan hasilnya cukup lumayan. (Belum ada masalah sampai tulisan ini dibuat hehehe...)

source : http://mazirwan.blogspot.com/2006/03/belajar-exchange-data-mp3-pajak-iso.html

No comments:

Post a Comment