Добавить набор подполей с битовой картой к сообщению ISO 8583, используя JPOS
Я новичок в JPOS. Я хочу добавить набор подполей в одно поле с растровым изображением. Я попытался с помощью следующего URL, но я не получил хороший результат.
Подполе PISO 8583 с использованием JPOS
Что я хочу сделать:
Я должен отправить запрос "0100". В этом случае я хочу поместить значение CVV в поле "126.10". Поле "126" имеет много подполей, а поле "126" имеет битовую карту.
Можно ли сделать такой случай с использованием JPOS? Если это возможно, как мы можем это сделать. Если у вас есть образец, пожалуйста, помогите мне выполнить эту задачу.
Спасибо.
2 ответа
С помощью jPos можно настроить isofieldpackager в XML-файле упаковщика, как показано в примере ниже. Свойство "emitBitmap" определяет, будет ли поле 56 иметь растровое изображение.
Пример MXL-файла упаковщика с SubFieldPackager в поле 56:
<?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
В моем случае мне нужно включить поле растрового изображения, подобное этому.
<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>