Pages

Wednesday, April 10, 2013

ISO 8583 versi 1987


ISO 8583 memiliki 3 bagian yaitu : 
  • Bagian 1: Pesan, data elemen dan nilai-nilai/isi dari kode 
  • Bagian 2: Aplikasi dan prosedur pendaftaran Institution Identification Codes (IIC)   
  • Bagian 3: Pemeliharaan prosedur untuk pesan, elemen data dan nilai kode

Message type indicator (MTI) 
Contoh MTI 0110 setiap digit angkanya memiliki arti demikian :
0xxx -> version of ISO 8583 (1987 version) 
x1xx -> class of the Message (Authorization Message) 
xx1x -> function of the Message (Request Response) 
xxx0 -> who began the communication (Acquirer)

Versi ISO 8583
Posisi pertama MTI menentukan versi standar ISO 8583 yang digunakan untuk mengirimkan pesan.

Position
Meaning
0xxx
ISO 8583-1:1987 version
1xxx
ISO 8583-2:1993 version
2xxx
ISO 8583-1:2003 version
3xxx
Reserved for ISO use
4xxx
Reserved for ISO use
5xxx
Reserved for ISO use
6xxx
Reserved for ISO use
7xxx
Reserved for ISO use
8xxx
Reserved for National use
9xxx
Reserved for Private use

Message class 

Posisi kedua MTI menentukan tujuan keseluruhan pesan.

Position
Meaning
Usage
x1xx
Authorization Message
Determine if funds are available, get an approval but do not post to account for reconciliation, Dual Message System (DMS), awaits file exchange for posting to account
x2xx
Financial Message
Determine if funds are available, get an approval and post directly to the account, Single Message System (SMS), no file exchange after this
x3xx
File Actions Message
Used for hot-card, TMS and other exchanges
x4xx
Reversal Message
Reverses the action of a previous authorization
x5xx
Reconciliation Message
Transmits settlement information message
x6xx
Administrative Message
Transmits administrative advice. Often used for failure messages (e.g. message reject or failure to apply)
x7xx
Fee Collection Messages

x8xx
Network Management Message
Used for secure key exchange, logon, echo test and other network functions
x9xx
Reserved by ISO


 Message function

Posisi tiga dari MTI menentukan fungsi pesan yang mendefinisikan bagaimana pesan harus mengalir dalam sistem. Permintaan adalah end-to-end pesan (misalnya, dari perusahaan pengakuisisi kepada penerbit dan kembali dengan timeout dan pembalikan otomatis di tempat), sedangkan nasehat adalah point-to-point pesan (misalnya, dari terminal ke pengakuisisi, dari perusahaan pengakuisisi ke jaringan, dari jaringan kepada penerbit, dengan transmisi dijamin melalui setiap link, tetapi tidak harus segera).

Position
Meaning
xx0x
Request
xx1x
Request Response
xx2x
Advice
xx3x
Advice Response
xx4x
Notification
xx8x
Response acknowledgment
xx9x
Negative acknowledgment

Message origin 

Posisi empat dari MTI mendefinisikan lokasi dari sumber pesan dalam rantai pembayaran.

Position
Meaning
xxx0
Acquirer
xxx1
Acquirer Repeat
xxx2
Issuer
xxx3
Issuer Repeat
xxx4
Other
xxx5
Other Repeat

NB : Untuk penjelasan lebih lengkap mengenai ISO 8583 dapat dilihat pada link wikipedia yang ada di bagian referensi.


 Contoh Program ISO 8385 versi 1987 :
--Pack (dari elemen terpisah dijadikan 1 baris)
buar project baru dengan nama ISO8583 (nama project bisa diganti sesuai dengan keinginan anda)

package ISO8583;
import java.io.IOException;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.packager.GenericPackager;

public class BuildISOMessage {
    public static void main(String[] args) throws IOException, ISOException {
        // Create Packager based on XML that contain DE type
        GenericPackager packager = new GenericPackager("iso87ascii.xml");

        // Create ISO Message
        ISOMsg isoMsg = new ISOMsg();
        isoMsg.setPackager(packager);
        isoMsg.setMTI("0200");
        isoMsg.set(3, "201234");
        isoMsg.set(4, "10000");
        isoMsg.set(7, "110722180");
        isoMsg.set(11, "123456");
        isoMsg.set(44, "A5DFGR");
        isoMsg.set(66, "1");

        // print the DE list
        logISOMsg(isoMsg);

        // Get and print the output result
        byte[] data = isoMsg.pack();
        System.out.println("RESULT : " + new String(data));
    }

    private static void logISOMsg(ISOMsg msg) {
        System.out.println("----ISO MESSAGE-----");
        try {
            System.out.println("  MTI : " + msg.getMTI());
                        for (int i = 1; i<=msg.getMaxField(); i++)
            {
                if (msg.hasField(i)) {
                    System.out.println("    Field-"+i+" : "+msg.getString(i));
                }
            }
        } catch (ISOException e) {
            e.printStackTrace();
        } finally {
            System.out.println("--------------------");
        }

    }
}


Output :

----ISO MESSAGE-----
  MTI : 0200
    Field-3 : 201234
    Field-4 : 10000
    Field-7 : 110722180
    Field-11 : 123456
    Field-44 : A5DFGR
    Field-66 : 1
--------------------
RESULT : 0200B2200000001000004000000000000000201234000000010000011072218012345606A5DFGR1

--Unpack (dari 1 baris dipisah menurut elemen-elemennya)
buat project baru dengan nama unpackISO (nama project bisa diganti sesuai dengan keinginan anda)

package unpackISO;
import java.io.IOException;
import org.jpos.iso.ISOException;
import org.jpos.iso.ISOMsg;
import org.jpos.iso.packager.GenericPackager;

public class ParseISOMessage {
    public static void main(String[] args) throws IOException, ISOException {
        // Create Packager based on XML that contain DE type
        GenericPackager packager = new GenericPackager("iso87ascii.xml");

        // Print Input Data
        String data ="0210F23C40002AC1000C00000000000001000200380000000000072530032503371500002210371403251303601203app0000000000020000000001XXXXX          1717000010535010000002        0025032013103717nama_2                        0000000708800000000016502503201353501000000200000000000225032013535010000002000000000002   165341103231E79924738FF55B6D032EEB6A57CA5E006201209285FM53AF35350100000020000000708800000000001012503201353501000000200000000000225032013535010000002000000000002nama_2                   53321022-3754678    R1  000001300000000000201209200920122008201200000070880D00000000000000000000000003000054806.0055135.0000000.0000000.0000000.0000000.0";
        System.out.println("DATA : " + data);

        // Create ISO Message
        ISOMsg isoMsg = new ISOMsg();
        isoMsg.setPackager(packager);
        isoMsg.unpack(data.getBytes());

        // print the DE list
        logISOMsg(isoMsg);
    }

    private static void logISOMsg(ISOMsg msg) {
        System.out.println("----ISO MESSAGE-----");
        try {
            System.out.println("  MTI : " + msg.getMTI());
            for (int i=1;i<=msg.getMaxField();i++) {
                if (msg.hasField(i)) {
                    System.out.println("    Field-"+i+" : "+msg.getString(i));
                }
            }
        } catch (ISOException e) {
            e.printStackTrace();
        } finally {
            System.out.println("--------------------");
        }

    }

}

Output :
DATA : 0210F23C40002AC1000C00000000000001000200380000000000072530032503371500002210371403251303601203app0000000000020000000001XXXXX          1717000010535010000002        0025032013103717nama_2                        0000000708800000000016502503201353501000000200000000000225032013535010000002000000000002   165341103231E79924738FF55B6D032EEB6A57CA5E006201209285FM53AF35350100000020000000708800000000001012503201353501000000200000000000225032013535010000002000000000002nama_2                   53321022-3754678    R1  000001300000000000201209200920122008201200000070880D00000000000000000000000003000054806.0055135.0000000.0000000.0000000.0000000.0
----ISO MESSAGE-----
  MTI : 0210
    Field-2 : 00
    Field-3 : 380000
    Field-4 : 000000072530
    Field-7 : 0325033715
    Field-11 : 000022
    Field-12 : 103714
    Field-13 : 0325
    Field-14 : 1303
    Field-18 : 6012
    Field-35 : app
    Field-37 : 000000000002
    Field-39 : 00
    Field-41 : 00000001
    Field-42 : XXXXX         
    Field-48 : 7000010535010000002        0025032013103717nama_2                        0000000708800000000016502503201353501000000200000000000225032013535010000002000000000002   1653411
    Field-61 : 31E79924738FF55B6D032EEB6A57CA5E
    Field-62 : 201209
    Field-120 : FM53AF35350100000020000000708800000000001012503201353501000000200000000000225032013535010000002000000000002nama_2                   53321022-3754678    R1  000001300000000000201209200920122008201200000070880D00000000000000000000000003000054806.0055135.0000000.0000000.0000000.0000000.0
--------------------

agar setiap elemen dapat terbaca / setiap elemen dapat tercreate maka dibutuhkan isopackager yang berisi setiap elemen. Elemen iso ada 128 field disini saya berikan seluruh fieldnya dalam format xml dan agar skema xml terbaca dibutuhkan genericpackager.dtd, letakkan kedua file ini di project anda dalam folder lib. Berikut link untuk mendonwload kedua code tersebut :

1. genericpackager.dtd
2. iso87ascii.xml
3. Jika anda belum mempunyai library JPOS berikut saya berikan link downloadnya,file ini berupa .jar anda hanya tinggal meng-add-nya saja di library. jpos.jar

Code genericpackager.dtd

<?xml version="1.0" encoding="UTF-8"?>

<!ELEMENT isopackager (isofield+,isofieldpackager*)*>
<!ATTLIST isopackager maxValidField CDATA        #IMPLIED>
<!ATTLIST isopackager bitmapField   CDATA        #IMPLIED>
<!ATTLIST isopackager firstField    CDATA        #IMPLIED>
<!ATTLIST isopackager emitBitmap    (true|false) #IMPLIED>
<!ATTLIST isopackager headerLength  CDATA        #IMPLIED>

<!-- isofield -->
<!ELEMENT isofield (#PCDATA)>
<!ATTLIST isofield id     CDATA        #REQUIRED>
<!ATTLIST isofield length CDATA        #REQUIRED>
<!ATTLIST isofield name   CDATA        #REQUIRED>
<!ATTLIST isofield class  NMTOKEN      #REQUIRED>
<!ATTLIST isofield token  CDATA        #IMPLIED>
<!ATTLIST isofield pad    (true|false) #IMPLIED>

<!-- isofieldpackager -->
<!ELEMENT isofieldpackager (isofield+,isofieldpackager*)*>
<!ATTLIST isofieldpackager id       CDATA        #REQUIRED>
<!ATTLIST isofieldpackager name     CDATA        #REQUIRED>
<!ATTLIST isofieldpackager length   CDATA        #REQUIRED>
<!ATTLIST isofieldpackager class    NMTOKEN      #REQUIRED>
<!ATTLIST isofieldpackager token    CDATA        #IMPLIED>
<!ATTLIST isofieldpackager pad      (true|false) #IMPLIED>
<!ATTLIST isofieldpackager packager NMTOKEN      #REQUIRED>
<!ATTLIST isofieldpackager emitBitmap (true|false) #IMPLIED>
<!ATTLIST isofieldpackager maxValidField CDATA        #IMPLIED>
<!ATTLIST isofieldpackager bitmapField CDATA        #IMPLIED>
<!ATTLIST isofieldpackager firstField  CDATA        #IMPLIED>
<!ATTLIST isofieldpackager headerLength  CDATA        #IMPLIED>


Code iso87ascii.xml

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager SYSTEM "genericpackager.dtd">

<!-- ISO 8583:1987 (ASCII) field descriptions for GenericPackager -->

<isopackager>
  <isofield
      id="0"
      length="4"
      name="MESSAGE TYPE INDICATOR"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="1"
      length="16"
      name="BIT MAP"
      class="org.jpos.iso.IFA_BITMAP"/>
  <isofield
      id="2"
      length="19"
      name="PAN - PRIMARY ACCOUNT NUMBER"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="3"
      length="6"
      name="PROCESSING CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="4"
      length="12"
      name="AMOUNT, TRANSACTION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="5"
      length="12"
      name="AMOUNT, SETTLEMENT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="6"
      length="12"
      name="AMOUNT, CARDHOLDER BILLING"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="7"
      length="10"
      name="TRANSMISSION DATE AND TIME"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="8"
      length="8"
      name="AMOUNT, CARDHOLDER BILLING FEE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="9"
      length="8"
      name="CONVERSION RATE, SETTLEMENT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="10"
      length="8"
      name="CONVERSION RATE, CARDHOLDER BILLING"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="11"
      length="6"
      name="SYSTEM TRACE AUDIT NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="12"
      length="6"
      name="TIME, LOCAL TRANSACTION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="13"
      length="4"
      name="DATE, LOCAL TRANSACTION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="14"
      length="4"
      name="DATE, EXPIRATION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="15"
      length="4"
      name="DATE, SETTLEMENT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="16"
      length="4"
      name="DATE, CONVERSION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="17"
      length="4"
      name="DATE, CAPTURE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="18"
      length="4"
      name="MERCHANTS TYPE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="19"
      length="3"
      name="ACQUIRING INSTITUTION COUNTRY CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="20"
      length="3"
      name="PAN EXTENDED COUNTRY CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="21"
      length="3"
      name="FORWARDING INSTITUTION COUNTRY CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="22"
      length="3"
      name="POINT OF SERVICE ENTRY MODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="23"
      length="3"
      name="CARD SEQUENCE NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="24"
      length="3"
      name="NETWORK INTERNATIONAL IDENTIFIEER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="25"
      length="2"
      name="POINT OF SERVICE CONDITION CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="26"
      length="2"
      name="POINT OF SERVICE PIN CAPTURE CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="27"
      length="1"
      name="AUTHORIZATION IDENTIFICATION RESP LEN"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="28"
      length="9"
      name="AMOUNT, TRANSACTION FEE"
      class="org.jpos.iso.IFA_AMOUNT"/>
  <isofield
      id="29"
      length="9"
      name="AMOUNT, SETTLEMENT FEE"
      class="org.jpos.iso.IFA_AMOUNT"/>
  <isofield
      id="30"
      length="9"
      name="AMOUNT, TRANSACTION PROCESSING FEE"
      class="org.jpos.iso.IFA_AMOUNT"/>
  <isofield
      id="31"
      length="9"
      name="AMOUNT, SETTLEMENT PROCESSING FEE"
      class="org.jpos.iso.IFA_AMOUNT"/>
  <isofield
      id="32"
      length="11"
      name="ACQUIRING INSTITUTION IDENT CODE"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="33"
      length="11"
      name="FORWARDING INSTITUTION IDENT CODE"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="34"
      length="28"
      name="PAN EXTENDED"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="35"
      length="37"
      name="TRACK 2 DATA"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="36"
      length="104"
      name="TRACK 3 DATA"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="37"
      length="12"
      name="RETRIEVAL REFERENCE NUMBER"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="38"
      length="6"
      name="AUTHORIZATION IDENTIFICATION RESPONSE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="39"
      length="2"
      name="RESPONSE CODE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="40"
      length="3"
      name="SERVICE RESTRICTION CODE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="41"
      length="8"
      name="CARD ACCEPTOR TERMINAL IDENTIFICACION"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="42"
      length="15"
      name="CARD ACCEPTOR IDENTIFICATION CODE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="43"
      length="40"
      name="CARD ACCEPTOR NAME/LOCATION"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="44"
      length="25"
      name="ADITIONAL RESPONSE DATA"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="45"
      length="76"
      name="TRACK 1 DATA"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="46"
      length="999"
      name="ADITIONAL DATA - ISO"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="47"
      length="999"
      name="ADITIONAL DATA - NATIONAL"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="48"
      length="999"
      name="ADITIONAL DATA - PRIVATE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="49"
      length="3"
      name="CURRENCY CODE, TRANSACTION"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="50"
      length="3"
      name="CURRENCY CODE, SETTLEMENT"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="51"
      length="3"
      name="CURRENCY CODE, CARDHOLDER BILLING"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="52"
      length="8"
      name="PIN DATA"
      class="org.jpos.iso.IFA_BINARY"/>
  <isofield
      id="53"
      length="16"
      name="SECURITY RELATED CONTROL INFORMATION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="54"
      length="120"
      name="ADDITIONAL AMOUNTS"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="55"
      length="999"
      name="RESERVED ISO"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="56"
      length="999"
      name="RESERVED ISO"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="57"
      length="999"
      name="RESERVED NATIONAL"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="58"
      length="999"
      name="RESERVED NATIONAL"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="59"
      length="999"
      name="RESERVED NATIONAL"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="60"
      length="999"
      name="RESERVED PRIVATE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="61"
      length="999"
      name="RESERVED PRIVATE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="62"
      length="999"
      name="RESERVED PRIVATE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="63"
      length="999"
      name="RESERVED PRIVATE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="64"
      length="8"
      name="MESSAGE AUTHENTICATION CODE FIELD"
      class="org.jpos.iso.IFA_BINARY"/>
  <isofield
      id="65"
      length="1"
      name="BITMAP, EXTENDED"
      class="org.jpos.iso.IFA_BINARY"/>
  <isofield
      id="66"
      length="1"
      name="SETTLEMENT CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="67"
      length="2"
      name="EXTENDED PAYMENT CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="68"
      length="3"
      name="RECEIVING INSTITUTION COUNTRY CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="69"
      length="3"
      name="SETTLEMENT INSTITUTION COUNTRY CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="70"
      length="3"
      name="NETWORK MANAGEMENT INFORMATION CODE"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="71"
      length="4"
      name="MESSAGE NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="72"
      length="4"
      name="MESSAGE NUMBER LAST"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="73"
      length="6"
      name="DATE ACTION"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="74"
      length="10"
      name="CREDITS NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="75"
      length="10"
      name="CREDITS REVERSAL NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="76"
      length="10"
      name="DEBITS NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="77"
      length="10"
      name="DEBITS REVERSAL NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="78"
      length="10"
      name="TRANSFER NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="79"
      length="10"
      name="TRANSFER REVERSAL NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="80"
      length="10"
      name="INQUIRIES NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="81"
      length="10"
      name="AUTHORIZATION NUMBER"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="82"
      length="12"
      name="CREDITS, PROCESSING FEE AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="83"
      length="12"
      name="CREDITS, TRANSACTION FEE AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="84"
      length="12"
      name="DEBITS, PROCESSING FEE AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="85"
      length="12"
      name="DEBITS, TRANSACTION FEE AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="86"
      length="16"
      name="CREDITS, AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="87"
      length="16"
      name="CREDITS, REVERSAL AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="88"
      length="16"
      name="DEBITS, AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="89"
      length="16"
      name="DEBITS, REVERSAL AMOUNT"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="90"
      length="42"
      name="ORIGINAL DATA ELEMENTS"
      class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="91"
      length="1"
      name="FILE UPDATE CODE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="92"
      length="2"
      name="FILE SECURITY CODE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="93"
      length="6"
      name="RESPONSE INDICATOR"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="94"
      length="7"
      name="SERVICE INDICATOR"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="95"
      length="42"
      name="REPLACEMENT AMOUNTS"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="96"
      length="16"
      name="MESSAGE SECURITY CODE"
      class="org.jpos.iso.IFA_BINARY"/>
  <isofield
      id="97"
      length="17"
      name="AMOUNT, NET SETTLEMENT"
      class="org.jpos.iso.IFA_AMOUNT"/>
  <isofield
      id="98"
      length="25"
      name="PAYEE"
      class="org.jpos.iso.IF_CHAR"/>
  <isofield
      id="99"
      length="11"
      name="SETTLEMENT INSTITUTION IDENT CODE"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="100"
      length="11"
      name="RECEIVING INSTITUTION IDENT CODE"
      class="org.jpos.iso.IFA_LLNUM"/>
  <isofield
      id="101"
      length="17"
      name="FILE NAME"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="102"
      length="28"
      name="ACCOUNT IDENTIFICATION 1"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="103"
      length="28"
      name="ACCOUNT IDENTIFICATION 2"
      class="org.jpos.iso.IFA_LLCHAR"/>
  <isofield
      id="104"
      length="100"
      name="TRANSACTION DESCRIPTION"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="105"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="106"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="107"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="108"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="109"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="110"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="111"
      length="999"
      name="RESERVED ISO USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="112"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="113"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="114"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="115"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="116"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="117"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="118"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="119"
      length="999"
      name="RESERVED NATIONAL USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="120"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="121"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="122"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="123"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="124"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="125"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="126"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="127"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
  <isofield
      id="128"
      length="8"
      name="MAC 2"
      class="org.jpos.iso.IFA_BINARY"/>
</isopackager>



Referensi :




No comments:

Post a Comment