Packing field 43 From Acquirer - > Network help ?

274 views
Skip to first unread message

pugazhendhi t

unread,
Feb 12, 2013, 12:42:31 AM2/12/13
to jpos-...@googlegroups.com

What packager i need to use to get the output like this ?

My MSG in JPOS - Acquirer Side :
Field 43 :  msgR.set(43, "ICC POS Test           Paris         FRA");



Output needed as in Network Side :

043
The name and location of the card acceptor as known to the cardholder. Different substructures possible ! Refer to Definitions.Subfields. Depending on the transaction initiator type, this DE will be parsed in a different way.

OTHER

01             49434320504F53205465737420202020202020202020                Merchant Name (\"Doing business as\" name)

02             20                                                                                         
Space

03
   50617269732020202020202020
                                               Merchant\'s City

04             20
                                                                     Space

05             FRA
                                                                  Merchant\'s State (or Country Code, if not U.S.)




FYI
-----

I used my packager like this , but its not working

  <isofield
     id="43"
     name="Card acceptor name/location"
     length="99"
     class="org.jpos.iso.IFA_LLCHAR"/>

any help?



chhil

unread,
Feb 12, 2013, 1:01:11 AM2/12/13
to jpos-...@googlegroups.com
Usually ICC data uses TLV (tag length value) format. There is a TLVMsg in jpos that can be used or modified to your needs.
If its not TLV then it will be bitmapped and you will will need to define that as a isofieldpackager inside your packager. Search list for ISOFieldPackager usage inside your packager.

Your definitions dont give a clear picture and you will need to look at the spec or go to the people who have provided you the spec to understand the structure.

-chhil 

pugazhendhi t

unread,
Feb 12, 2013, 1:05:48 AM2/12/13
to jpos-...@googlegroups.com

This is Iso message , Where i already have the packager only filed 43 packing wasnot correct ,  cant able to choose the class to pack the message so that it will get depacked correctly in the Network side .

chhil

unread,
Feb 12, 2013, 1:07:51 AM2/12/13
to jpos-...@googlegroups.com
I think I was off base here. Please ignore my previous response.
You have space delimited strings where the space will identify if a field is present or not.

What does not working mean?
Can you elaborate?

-chhil

pugazhendhi t

unread,
Feb 12, 2013, 1:18:01 AM2/12/13
to jpos-...@googlegroups.com
I am trying to send the 0100 request message from jpos ( we built acquirer )  to Network Simulator  of Master Card .

my message :
    <isomsg direction="outgoing">
      <field id="0" value="0100"/>
      <field id="2" value="5413330089010640"/>
      <field id="3" value="000000"/>
      <field id="4" value="000000045800"/>
      <field id="7" value="0205115339"/>
      <field id="11" value="000001"/>
      <field id="12" value="115339"/>
      <field id="13" value="0205"/>
      <field id="14" value="1602"/>
      <field id="18" value="5999"/>
      <field id="22" value="051"/>
      <field id="23" value="000"/>
      <field id="32" value="012345"/>
      <field id="33" value="022020"/>
      <field id="35" value="5413330089010640=1602201043950169"/>
      <field id="37" value="000000000911"/>
      <field id="41" value="02001101"/>
      <field id="42" value="123456789123456"/>
      <field id="43" value="ICC POS Test           Paris         FRA"/>
      <field id="48" value="R"/>
      <field id="49" value="978"/>
      <field id="55" value="9F34034403029F260838DFB33DC478B64A9F2701809F10120110A7800F040000848800000000000000FF9F37042216054A9F3602004995050000009000820238009F3303E0F0C89F1A0203929F3501229F1E0830323030313130319A031302129C01009F02060000000458005F2A0209785F3601029F5301524F07A00000000410109F09020002" type="binary"/>
      <field id="61" value="0000000000500250000"/>
      <field id="127" value="EMVREF"/>
    </isomsg>


When this message recieved in Network simulator there was exception while depacking the filed 43.
 
error msg in network side : DE43_1030 : 043 : Auth - DE43(d) - DE 61, subfield 13 is not 840 and DE 43, positions 38-40 is not a valid three-character alphabetic country code
before upto filed 43 i correctly recieved in Network side , from filed 43 , parsing went wrong .


I guess my package was not correct for the field 43.

i need to choose the correct package so that it will correctly depacked in network.

chhil

unread,
Feb 12, 2013, 1:35:58 AM2/12/13
to jpos-...@googlegroups.com
Are you sending the data in the require format as defined by you earlier.
01             Name


02             Space

03
   City
 

04             Space


05             Country Code


So space is the delimiter.
Your string "ICC POS Test           Paris         FRA"
name = ICC
City = Pos
Country=Test
Plus I think it needs a 3 digit country code and not FRA. ISO Country code for France is 250.
Plus Plus since its complaining about specific location 38-40 means the strings are probably fixed length strings?
 
I guess you need to make sure you remove spaces from the input string and format it based on Mastercards requirement.

-chhil

pugazhendhi t

unread,
Feb 12, 2013, 1:48:56 AM2/12/13
to jpos-...@googlegroups.com

string "ICC POS Test           Paris         FRA"
------------------------------------------------------------------
Merchant Name = ICC POS Test
Merchant’s City = Paris        
Country Code    = FRA


Master card requirement
------------------------------------


Subfield 1—Merchant Name (“Doing Business As” name)
Attributes
Data Representation: ans-22
Data Field: Contents of positions 1–22
Justification: Left


Subfield 2—Space
Attributes
Data Representation: ans-1
Data Field: Contents of position 23
Justification: N/A

Subfield 3—Merchant’s City
Attributes
Data Representation: ans-13
Data Field: Contents of positions 24–36
Justification: Left

Subfield 4—Space
Attributes
Data Representation: ans-1
Data Field: Contents of position 37
Justification: N/A


Subfield 5—Merchant’s State (or Country Code, if not U.S.)
Attributes
Data Representation: a–3
Data Field: Contents of positions 38–40
Justification: Left


How to form the packager for this. i am  bit confused here ?

I tried like this , now but its not working .

 <isofieldpackager
      id="43"
      length="40"
      name="CARD ACCEPTOR NAME/LOCATION"
      class="org.jpos.iso.IFB_LLHBINARY"
      packager="org.jpos.iso.packager.GenericSubFieldPackager"
      emitBitmap="false">
      <isofield
          id="1"
          length="22"
          name="Merchant Name"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="2"
          length="1"
          name="space"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="3"
          length="13"
          name="Merchant City"
          class="org.jpos.iso.IF_CHAR "/>
      <isofield
          id="4"
          length="1"
          name="space"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="5"
          length="3"
          name="STATECODE"
          class="org.jpos.iso.IF_CHAR"/>
      </isofieldpackager>

is this correct ? 

chhil

unread,
Feb 12, 2013, 1:59:37 AM2/12/13
to jpos-...@googlegroups.com
My personal preference is to treat it as an opaque field and create the contents. I dont think you gain much by doing it this way other than doing a set("43.1",....)

Just create fixed field strings and put spaces where required.

My 2 francs :).

-chhil

pugazhendhi t

unread,
Feb 12, 2013, 2:05:47 AM2/12/13
to jpos-...@googlegroups.com

haha Good , but i am from India working for France.

chhil

unread,
Feb 12, 2013, 2:11:00 AM2/12/13
to jpos-...@googlegroups.com
2 Francs > 2 Rupees , I could have saved some money here :)
Reply all
Reply to author
Forward
0 new messages