Issue while setting DE 127.29

54 views
Skip to first unread message

ccav tech

unread,
Sep 16, 2019, 3:03:29 AM9/16/19
to jPOS Users
Dear All,

I am facing an issue while setting DE 127.29,it will be helpful if you could suggest for the saem.

Below is the JPOS rule for the DE 127.29


<isofieldpackager
      id="127"  
      length="999999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLLLLBINARY"
      packager="org.jpos.iso.packager.GenericSubFieldPackager">
      <isofield
          id="0"
          length="0"
          name="PLACEHOLDER"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="1"
          length="8"
          name="BITMAP"
          class="org.jpos.iso.IFB_BITMAP"/>
<isofield
 id="29"
 length="40"
 name="BITMAP"
 class="org.jpos.iso.IFB_BITMAP"/>

I am new to the JPOS and dont know how to set bit map value .

Please suggest how to set bit map value by using JPOS.

ccav tech

unread,
Sep 18, 2019, 10:09:37 AM9/18/19
to jPOS Users
Dear Chill,

I have been tried here but unable to implement the same DE 127.29. Please find the below spec that we received from our postilion switch person.

Field 127.29 - 3D Secure Data
Format b40
Description
This is a Postilion specific addition to the ISO 8583 standard. 3D-Secure Data is made up of the
following two subfields (both with format b20):
• The Transaction Identifier (XID) (positions 1 to 20).
• The Cardholder Authentication Verification Value (CAVV) (positions 21 to 40).
3D-Secure data is passed through the Transaction Manager unaltered and not saved in the database.
The Transaction Manager is not allowed to perform stand-in authorization for 3D-Secure transactions.

Please find my below jpos rules.

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!DOCTYPE isopackager PUBLIC
        "-//jPOS/jPOS Generic Packager DTD 1.0//EN"
        "http://jpos.org/dtd/generic-packager-1.0.dtd">
<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.IFB_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="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="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="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="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="49"
      length="3"
      name="CURRENCY CODE, TRANSACTION"
      class="org.jpos.iso.IFA_NUMERIC"/>
   <isofield id="54" length="120" name="ADDITIONAL AMOUNTS" class="org.jpos.iso.IFA_LLLCHAR"/>
   <isofield id="90" length="42" name="ORIGINAL DATA ELEMENTS" class="org.jpos.iso.IFA_NUMERIC"/>
  <isofield
      id="123"
      length="999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLCHAR"/>
 
 <!--  <isofieldpackager

      id="127"  
      length="999999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLLLLBINARY"
      packager="org.jpos.iso.packager.GenericSubFieldPackager">
     <isofield
    id="0"
    length="0"
    name="Placeholder"
    class="org.jpos.iso.IF_NOP" />
<isofield
    id="1"
    length="16"
    name="Bit Map"
    class="org.jpos.iso.IFA_BITMAP" />
    <isofield
     id="10"
     length="3"
     name="CVV2"
     class="org.jpos.iso.IFA_NUMERIC"/>
    <isofield
    id="3"
    length="16"
    name="Bit Map"
    class="org.jpos.iso.IFA_BITMAP" />
    <isofield
    id="6"
    length="16"
    name="Bit Map"
    class="org.jpos.iso.IFA_BITMAP" />
    <isofield
    id="20"
    length="16"
    name="Bit Map"
    class="org.jpos.iso.IFA_BITMAP" />
    <isofield
    id="30"
    length="16"
    name="Bit Map"
    class="org.jpos.iso.IFA_BITMAP" />
     <isofield
          id="38"
          length="99"
          name="Additional POS Data Code"
          class="org.jpos.iso.IFA_LLCHAR"/>    
     
  </isofieldpackager> -->

 
  <isofieldpackager
      id="127"  
      length="999999"
      name="RESERVED PRIVATE USE"
      class="org.jpos.iso.IFA_LLLLLLBINARY"
      packager="org.jpos.iso.packager.GenericSubFieldPackager">
      <isofield
          id="0"
          length="0"
          name="PLACEHOLDER"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="1"
          length="8"
          name="BITMAP"
          class="org.jpos.iso.IFB_BITMAP"/>
      <isofield
          id="2"
          length="32"
          name="SWITCH KEY"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="3"
          length="48"
          name="ROUTING INFORMATION"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="4"
          length="22"
          name="POS DATA"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="5"
          length="73"
          name="SERVICE STATION DATA"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="6"
          length="2"
          name="AUTHORIZATION PROFILE"
          class="org.jpos.iso.IFA_NUMERIC"/>
      <isofield
          id="7"
          length="50"
          name="CHECK DATA"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="8"
          length="128"
          name="RETENTION DATA"
          class="org.jpos.iso.IFA_LLLCHAR"/>
      <isofield
          id="9"
          length="255"
          name="ADDITIONAL NODE DATA"
          class="org.jpos.iso.IFA_LLLCHAR"/>
      <isofield
          id="10"
          length="3"
          name="CVV2"
          class="org.jpos.iso.IFA_NUMERIC"/>
      <isofield
          id="11"
          length="32"
          name="ORIGINAL KEY"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="12"
          length="25"
          name="TERMINAL OWNDER"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="13"
          length="17"
          name="POS GEOGRAPHIC DATA"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="14"
          length="8"
          name="SPONSOR BANK"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="15"
          length="29"
          name="AVS REQUEST"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="16"
          length="1"
          name="AVS RESPONSE"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="17"
          length="50"
          name="CARDHOLDER INFORMATION"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="18"
          length="50"
          name="VALIDATION DATA"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="19"
          length="45"
          name="BANK DETAILS"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="20"
          length="8"
          name="AUTHORIZER DATE SETTLEMENT"
          class="org.jpos.iso.IFA_NUMERIC"/>
      <isofield
          id="21"
          length="12"
          name="RECORD IDENTIFICATION"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="22"
          length="99999"
          name="STRUCTURED DATA"
          class="org.jpos.iso.IFA_LLLLLCHAR"/>
      <isofield
          id="23"
          length="253"
          name="PAYEE NAME AND ADDRESS"
          class="org.jpos.iso.IF_CHAR"/>
      <isofield
          id="24"
          length="28"
          name="PAYER ACCOUNT INFORMATION"
          class="org.jpos.iso.IFA_LLCHAR"/>
      <isofield
          id="25"
          length="8000"
          name="ICC DATA"
          class="org.jpos.iso.IFA_LLLLCHAR"/>
      <isofield
          id="26"
          length="20"
          name="ORIGINAL NODE"
          class="org.jpos.iso.IFA_LLCHAR"/>
       
          <isofield
           id="27"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="28"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="29"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
            <isofield
           id="30"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
          <!-- <isofield
           id="31"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="32"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="33"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="34"
           length="8000"
           name="ICC DATA"
           class="org.jpos.iso.IFA_LLLLCHAR"/>
           <isofield
           id="35"
           length="4"
           name="EXTENDED TRAN-TYPE"
           class="org.jpos.iso.IFA_NUMERIC"/>
           <isofield
           id="36"
           length="4"
           name="EXTENDED TRAN-TYPE"
           class="org.jpos.iso.IFA_NUMERIC"/>
           <isofield
           id="37"
           length="4"
           name="EXTENDED TRAN-TYPE"
           class="org.jpos.iso.IFA_NUMERIC"/> -->
         
  </isofieldpackager>
    </isopackager>

chhil

unread,
Sep 18, 2019, 10:20:20 AM9/18/19
to jpos-...@googlegroups.com
You are still stuck on this, using google and google group searches may have helped you solve the problem.
https://groups.google.com/d/msg/jpos-users/XHY88R558n0/h4PVvAibdP4J

-chhil

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/CAOfY%3Dj_T4NGKX%3DhV_Kvi5TnS5Pr55jUQXGy6u%3D917r7adoSpbQ%40mail.gmail.com.

ccav tech

unread,
Sep 19, 2019, 2:35:53 AM9/19/19
to jPOS Users
Thanks Chill its working now but now I am not receiving response when I set 127.10 (CVV) value which was working earlier with NACChannel.
Below are details:

ISO Request:

<isomsg id="127">
    <field id="10" value="875"/>
    <field id="29" value="00000000000000000200\u0000\u0000\u0001\u0001\u0007\u0017\u0002  \u0000\u0000\u0000R\u0017\u0002\u0000\u0000\u0000\u0000\u0000"/>
    <field id="30" value="1"/>
</isomsg>

Hex Dump Msg:

00d0  0C 00 00 00 00 38 37 35  30 30 30 30 30 30 30 30  .....87500000000
00e0  30 30 30 30 30 30 30 30  30 32 30 30 00 00 01 01  000000000200....
00f0  07 17 02 20 20 00 00 00  52 17 02 00 00 00 00 00  ...  ...R.......
0100  31                                                1


SubField Packager:
          id="29"
          length="40"
          name="3D Secure Data"
          class="org.jpos.iso.IFB_BINARY"/>
         
          <isofield
          id="30"
          length="1"
          name="3D Secure Result"
          class="org.jpos.iso.IF_CHAR"/>
  </isofieldpackager>

Java Code for connection:

NACChannel channel = new NACChannel(payClientIP, payClientPort, packager, null);
channel.connect();
channel.send(ISOUtil.hex2byte(decodedHexMsg));
ISOMsg postBridgeISO = channel.receive(); // not receiving response.


Could you please suggest on the same.

On Wed, Sep 18, 2019 at 7:50 PM chhil [via jPOS] <ml+s104570...@n5.nabble.com> wrote:
You are still stuck on this, using google and google group searches may have helped you solve the problem.
https://groups.google.com/d/msg/jpos-users/XHY88R558n0/h4PVvAibdP4J

-chhil

jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: [hidden email]

---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: [hidden email]

---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/CAPazefDs_U67gMj2J6eJwsPSSg2GYTT81okf0gUfb2%2B%3Dz2AaZQ%40mail.gmail.com.



If you reply to this email, your message will be added to the discussion below:
http://jpos.1045706.n5.nabble.com/jpos-users-Issue-while-setting-DE-127-29-tp5718965p5718967.html
To start a new topic under jPOS - Users, email ml+s1045706...@n5.nabble.com
To unsubscribe from jPOS, click here.
NAML

ccav tech

unread,
Sep 19, 2019, 5:50:18 AM9/19/19
to jPOS Users
Dear Chill,

Thanks Chill its working now but now I am not receiving response when I set DE 127.10 (CVV) along with DE 127.29 value. When i was sending earlier DE 127.10 (CVV), this was working fine. Here i was facing this issue so many times if i add new value then my packager not parsed properly or we have not received response from our switch network, can you help what happen in that case?

Below I am sharing dump that will contain all three element i.e 127.10 (CVV),DE 127.29 (XID+CAVV) and DE 127.30 (3D Secure Result)

ISO Request:

<isomsg id="127">
    <field id="10" value="875"/>
    <field id="29" value="00000000000000000200\u0000\u0000\u0001\u0001\u0007\u0017\u0002  \u0000\u0000\u0000R\u0017\u0002\u0000\u0000\u0000\u0000\u0000"/>
    <field id="30" value="1"/>
</isomsg>

Hex Dump Msg:

00d0  0C 00 00 00 00 38 37 35  30 30 30 30 30 30 30 30  .....87500000000
00e0  30 30 30 30 30 30 30 30  30 32 30 30 00 00 01 01  000000000200....
00f0  07 17 02 20 20 00 00 00  52 17 02 00 00 00 00 00  ...  ...R.......
0100  31                                                1


SubField Packager:

<isofield
          id="10"
          length="3"
          name="CVV2"
          class="org.jpos.iso.IFA_NUMERIC"/>        

<isofield
id="29"
          length="40"
          name="3D Secure Data"
          class="org.jpos.iso.IFB_BINARY"/>
         
          <isofield
          id="30"
          length="1"
          name="3D Secure Result"
          class="org.jpos.iso.IF_CHAR"/>
  </isofieldpackager>

Java Code for connection:

NACChannel channel = new NACChannel(payClientIP, payClientPort, packager, null);
channel.connect();
channel.send(ISOUtil.hex2byte(decodedHexMsg));
ISOMsg postBridgeISO = channel.receive(); // not receiving response.
To start a new topic under jPOS - Users, email [hidden email]
To unsubscribe from jPOS, click here.
NAML

--
--
jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: [hidden email]
---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email].
If you reply to this email, your message will be added to the discussion below:

chhil

unread,
Sep 19, 2019, 8:53:40 AM9/19/19
to jpos-...@googlegroups.com
Sorry I wouldn't know why. You should talk to Postilion guys.
You can dump the hexdump and parse the message by hand for bitmap for field 127 and see what bits are enabled.

-chhil

jPOS is licensed under AGPL - free for community usage for your open-source project. Licenses are also available for commercial usage. Please support jPOS, contact: sa...@jpos.org

---
You received this message because you are subscribed to the Google Groups "jPOS Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to jpos-users+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/jpos-users/CAOfY%3Dj9PbJCPUjP4Om3WeQGZCsa5EN65pstcdWGKJQKQrf%3D35Q%40mail.gmail.com.
Reply all
Reply to author
Forward
0 new messages