rbkmoney / jrekt-8583

Apache License 2.0
0 stars 1 forks source link

BITMAP 32 #6

Closed avcherkasov closed 5 years ago

avcherkasov commented 5 years ago

BITMAP заполняется автоматически и его формат: B 8 (16 ASCII bytes) - согласно документации. В обычном случае мы получаем 16, но, если раскомментируем строки 122 и 126, то получим длину BITMAP в 2 раза больше. 11007034058008E080000005505 1100F034058008E0800000000000000000440005505837 где 0005505 - pan, который начинается с 55, но, дозаполняется нулями перед картой '000550*****0500'

<template type="1100">
        <field num="2" type="NUMERIC" length="19">Primary Account Number (PAN)</field>
        <field num="3" type="NUMERIC" length="6">Processing Code</field>
        <field num="4" type="NUMERIC" length="12">Amount, Transaction</field>
        <field num="11" type="NUMERIC" length="6">System Trace Audit Number (STAN)</field>
        <field num="12" type="NUMERIC" length="14">Date and Time, Local Transaction</field>
        <field num="14" type="NUMERIC" length="4">Date, Expiration</field>
        <field num="22" type="NUMERIC" length="12">POS Data Code</field>
        <field num="24" type="NUMERIC" length="3">Function Code</field>
        <field num="25" type="NUMERIC" length="4">Message Reason Code</field>
        <!--<field num="26" type="NUMERIC" length="4">Card Acceptor Business Code</field>-->
        <field num="37" type="LLVAR">Retrieval Reference Data</field>
        <field num="41" type="LLVAR">Card Acceptor Terminal Identification</field>
        <field num="42" type="LLVAR">Card Acceptor Identification</field>
        <field num="43" type="LLVAR">Card Acceptor Name/Location</field>
        <field num="49" type="LLVAR">Currency Code, Transaction</field>
        <!--<field num="122" type="LLLVAR"/>-->
        <!--<field num="126" type="LLLVAR"/>-->
</template>

2: [Primary account number (PAN):NUMERIC(19)] = '000550*****0500' 3: [Processing code:NUMERIC(6)] = '000000' 4: [Amount, transaction:NUMERIC(12)] = '000000001000' 11: [System trace audit number:NUMERIC(6)] = '182614' 12: [Time, local transaction (hhmmss):NUMERIC(14)] = '20190130154623' 14: [Date, expiration:NUMERIC(4)] = '1912' 22: [Point of service entry mode:NUMERIC(12)] = '600450T00110' 24: [Function code (ISO 8583:1993)/Network International identifier (NII):NUMERIC(3)] = '200' 25: [Point of service condition code:NUMERIC(4)] = '1508' 37: [Retrieval reference number:LLVAR(12)] = '903015182614' 41: [Card acceptor terminal identification:LLVAR(8)] = '29003001' 42: [Card acceptor identification code:LLVAR(15)] = '29003001'

avcherkasov commented 5 years ago

Нужно добавить строчку в настройке:

 messageFactory.setForceSecondaryBitmap(false); // max 16 symbols