Hi All,
I am trying POC integration with Postilion host (TermApp.ISO interface) , there is a requirement to send the DE48 sub fields in the request. I had defined the sub field packager and i am able to construct the sub field elements. Problem is packing / including the data set identifier / length as explained below.
The DE48 structure is defined as below in the host specifications , can you help in defining the packager to include data set identifier / length.
DE 48 Structure :
Dataset identifier Dataset length Dataset bit map(s) sub-elements
(1 byte) (2 bytes) (2+ bytes) (variable length)
Example Hex Dump ( Dummy data):
313130307230058900c1800031363232323330303030313033353836323733323030303030303030303030323030303030333235303835373435303030303935313830333235313235373435413130313031323534303443313031313030313530343030323036343534383939303030303435363430303237313734393920202020202030313639f000a690012020202020202020303030303935202020202039363030303133373133534731313649574c323530313353473232323230303234353335303537202020202020202020202020313353473331344750525331335347343232303839393731313232313237323731393333313630313353473531363033303030303133534736313230
3031335347373231353137322e3031372e3031352e31323531335347383133333035373834
MTI : 1100:
[LLVAR n ..19 016] 002 [2223000010358627]
[Fixed n 6 006] 003 [320000]
[None n 012] 004 [000000020000]
[Fixed n 10 010] 007 [0325085745]
[Fixed n 6 006] 011 [000095]
[Fixed n 12 012] 012 [180325125745]
[Fixed an 15 015] 022 [A1010125404C101]
[Fixed n 3 003] 024 [100]
[Fixed n 4 004] 025 [1504]
[Fixed n 3 003] 029 [002]
[LLVAR n ..11 006] 032 [454899]
[Fixed ans 8 008] 041 [00004564]
[Fixed ans 15 015] 042 [002717499 ]
[Fixed ans 19 019] 048.001 [ 000095 ]
[Fixed n 4 004] 048.004 [9600]
[LLLLVARans .9999 137] 048.016 [13SG116IWL25013SG22220024535057 13SG314GPRS13SG42208997112212727193316013SG51603000013SG6120013SG7215172.017.015.12513SG813305]
[Fixed a/n 3 003] 049 [784]
******* In the above Hex dump below is the parsed data for DE 48 sub fields.
30313639 - DE48 LLL length (01369)
f000 - Data set Identifier ( value is hard coded / defined to be f000 for DE48 )
a6 - Length of the sub fields including Bitmap ( a6 = 166 length)
9001 - Bit Map of sub fields ( 1001 0000 0000 0001)
2020202020202020303030303935202020202039363030303133373133534731313649574c3235303133534732323232303032343533353035372020202020202020202020203133534733313447505253313353473432323038393937313132323132373237313933333136303133534735313630333030303031335347363132303031335347373231353137322e3031372e3031352e31323531335347383133333035 - DE 48 sub fields ( 48.001 , 48.004 , 48.016 )
Packager config for DE48:
protected ISOFieldPackager fld48[] =
{
new IFB_BITMAP(2, "Bit Map"),
/*F0.1*/new IF_CHAR (19, "POS data"),
/*F0.2*/new IF_CHAR (2, "Authorisation profile"),
/*F0.3*/new IF_CHAR (4, "Card verification data"),
/*F0.4*/new IFA_NUMERIC (4, "Extended transaction type"),
/*F0.5*/new IFA_LLLCHAR (255, "Additional node data"),
/*F0.6*/new IFA_LLLCHAR (999, "Inquiry response data"),
/*F0.7*/new IF_CHAR (48, "Routing information"),
/*F0.8*/new IFA_LLLCHAR (50, "Cardholder information"),
/*F0.9*/new IF_CHAR (29, "Address verification data"),
/*F0.10*/new IF_CHAR (1, "Card verification result"),
/*F0.11*/new IF_CHAR (1, "Address verification result"),
/*F0.12*/new IFA_LLLCHAR (999, "Retention data"),
/*F0.13*/new IF_CHAR (31, "Bank details"),
/*F0.14*/new IF_CHAR (253, "Payee name and address"),
/*F0.15*/new IFA_LLLCHAR (28, "Payer account identification"),
/*F0.16*/new IFA_LLLLCHAR(9999, "Structured Data"),
};
Using the above packager definition i am able to include DE48 Sub fields Bitmap and variable length sub fields while forming the ISOMSg request.
Hex Dump using the packager: (Wrote a standalone program to set fields and generate the request )
313230307230058900C1800031363232323330303030313033353836323733323030303030303030303030323030303031303034313030333336303030303031303030303030313535313330413130313031323534303443313031313030313530343030323131303030303034353438393931303030363530343030323731373439392020202020203030373380013030303039352020202020202020202020202030303438463030303231383030303330333033303331323032303230323033303330333033303335333032303230323032303230373834
-><isomsg>
-> <field id="0" value="1200"/>
-> <field id="2" value="2223000010358627"/>
-> <field id="3" value="320000"/>
-> <field id="4" value="000000020000"/>
-> <field id="7" value="1004100336"/>
-> <field id="11" value="000001"/>
-> <field id="12" value="155130"/>
-> <field id="22" value="A1010125404C101"/>
-> <field id="24" value="100"/>
-> <field id="25" value="1504"/>
-> <field id="29" value="002"/>
-> <field id="32" value="00000454899"/>
-> <field id="41" value="10006504"/>
-> <field id="42" value="002717499"/>
-> <isomsg id="48">
-> <field id="1" value="000095"/>
-> <field id="16" value="F00021800030303031202020203030303035302020202020"/>
-> </isomsg>
-> <field id="49" value="784"/>
-></isomsg>
~Raghu.