使用JPOS

时间:2017-11-06 10:06:32

标签: iso8583 jpos

我是JPOS的新手。我想用一个位图将一组子字段添加到一个字段中。我尝试使用以下网址,但我没有取得任何好结果。

PISO 8583 subfield using JPOS

我想做什么:

我必须发送" 0100"请求。在这种情况下,我想将CVV值放入" 126.10"领域。 Field" 126"有很多子领域和领域" 126"有一个位图。

使用JPOS可以做这种情况吗?如果有可能我们怎么做呢。如果您有任何样品,请帮助我完成此任务。

谢谢。

2 个答案:

答案 0 :(得分:0)

使用jPos,可以在packager XML文件中配置isofieldpackager,如下例所示。 " emitBitmap"属性确定字段56是否具有位图。

在字段56中使用SubFieldPackager的样本打包程序MXL文件:

<?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" pad="true" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="1" length="8" name="BIT MAP" class="org.jpos.iso.IFB_BITMAP" />
    <isofield id="2" length="99" name="?" class="org.jpos.iso.IFB_LLNUM" />
    <isofield id="3" length="6" name="PROCESSING CODE" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="11" length="6" name="?" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="12" length="6" name="?" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="13" length="4" name="?" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="14" length="4" name="?" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="24" length="3" name="?" class="org.jpos.iso.IFB_NUMERIC" />
    <isofield id="39" length="2" name="?" class="org.jpos.iso.IF_CHAR" />
    <isofield id="41" length="8" name="?" class="org.jpos.iso.IF_CHAR" />
    <isofield id="42" length="999" name="?" class="org.jpos.iso.IFB_LLLBINARY" />
    <isofieldpackager id="56" length="999" name="ADDITIONAL TRANSACTION DATA" class="org.jpos.iso.IFB_LLLBINARY"
        packager="org.jpos.iso.packager.GenericSubFieldPackager" emitBitmap="true">
        <isofield id="1" length="2" name="PHONE PREFIX" pad="true" class="org.jpos.iso.IFB_NUMERIC" />
        <isofield id="2" length="9" name="PHONE" pad="true" class="org.jpos.iso.IFB_NUMERIC" />
        <isofield id="3" length="99" name="?" class="org.jpos.iso.IFB_LLBINARY" />
    </isofieldpackager>
    <isofield id="61" length="999" name="SERVER INFORMATIONS" class="org.jpos.iso.IFB_LLLCHAR" />
</isopackager>

此文件的项目可在以下链接的存储库中找到。它们是发送和响应ISO 8583消息的简单项目。

ISO 8583项目的存储库:
https://github.com/alexlirio/iso-sender
https://github.com/alexlirio/iso-responder

答案 1 :(得分:0)

就我而言,我需要像这样包含位图字段。

        <isofield 
            id="0" 
            length="8" 
            name="BIT MAP" 
            class="org.jpos.iso.IFA_BITMAP" />

同时在 isofieldpackager 标签上设置这两个属性。

        emitBitmap="true"
        bitmapField="0"
<isofieldpackager 
        id="56" 
        length="999"
        name="ADDITIONAL TRANSACTION DATA" 
        class="org.jpos.iso.IFA_LLLNUM"
        packager="org.jpos.iso.packager.GenericSubFieldPackager"
        emitBitmap="true"
        bitmapField="0">
        <isofield 
            id="0" 
            length="8" 
            name="BIT MAP" 
            class="org.jpos.iso.IFA_BITMAP" />
        <isofield 
            id="1" 
            length="2" 
            name="???" 
            pad="true"
            class="org.jpos.iso.IFA_NUMERIC" />
        <isofield 
            id="2" 
            length="9" 
            name="???" 
            pad="true"
            class="org.jpos.iso.IFA_NUMERIC" />
        <isofield 
            id="3" 
            length="99" 
            name="???"
            class="org.jpos.iso.IFA_NUMERIC" />
    </isofieldpackager>