Skip to content
Evgeniy edited this page Mar 26, 2020 · 34 revisions

Changes

1.4-90 2020.03.26

#84260 Added reversal support for Inpas (Pax/Verifone)

1.4-86 2020.01.03

#82295 Added try again for PayPass

1.4-85 2019.12.25

  • #82235 [telpo] Do not send emv advice if stage is not sale_emv_validating

1.4-83 2019.12.18

  • #61336 Fixed error if bad credentials

1.4-82 2019.11.28

  • #81540 Changed paynet libraries to the 3.35.17-51 version to get access to StatusResponse.readerEntryType property
public enum ReaderEntryType {
    MAGNETIC_STRIPE_SIGNATURE,
    EMV_CONTACT_PIN_OFFLINE,
    EMV_CONTACT_PIN_OFFLINE_AND_SIGNATURE,
    EMV_CONTACT_PIN_ONLINE,
    EMV_CONTACT_SIGNATURE,
    EMV_CONTACTLESS_SIGNATURE,
    EMV_CONTACTLESS_SIGNATURE_MAGSTRIPE,
    EMV_CONTACTLESS_PIN_ONLINE,
    MOTO;
}

You cat print out to a receipt "Entered PIN code" if StatusResponse.readerEntryType is equal to:

  • EMV_CONTACT_PIN_OFFLINE
  • EMV_CONTACT_PIN_OFFLINE_AND_SIGNATURE
  • EMV_CONTACT_PIN_ONLINE
  • EMV_CONTACTLESS_PIN_ONLINE

Or more precisely:

  • Entered PIN offline code for
  • EMV_CONTACT_PIN_OFFLINE
  • EMV_CONTACT_PIN_OFFLINE_AND_SIGNATURE
  • Entered PIN online code:
  • EMV_CONTACT_PIN_ONLINE
  • EMV_CONTACTLESS_PIN_ONLINE

1.4-81 2019.09.19

  • #79494 Enable getting Build.SERIAL if Build.MODEL == Kaccatka mini

1.4-80 2019.06.26

  • #77711 Disable DeferredCardReader manager for spire spm2

1.4-79 2019.04.09

  • Добавлены параметры для возвратов

1.4-78 2019.04.09

1.4-76 2019.03.05

Created new ICardReaderManager methods:

  • startSaleSession(Context)
  • stopSession()

These methods replace old ones:

  • onActivityCreate() and onActivityResume() replaced by startSaleSession()
  • onActivityDestroy() and onActivityPause() replaced by stopSession()

Old methods marked as Deprecated so you can use old methods in your application.

Так название методов onActivityCreate(), onActivityDestroy(), onActivityResume() и onActivityPause() вводило в заблуждение, было решено их заменить на новые. Существующие программы могут использовать старые методы.

1.4-71 2018.12.26

  • [spire] Fixed PIN Online

1.4-71 2018.12.20

  • Added support for new terminal

1.4-69 2018.12.05

  • Added ConfigurationContinuation.Builder.merchantName() to display a text on Spire SPm2
  • Made AndroidSignedHttpServiceImpl constructor public

1.4-68 15/10/18

  • [inpas] #55166 Fixed NPE if network error while configuring

1.4-67 15/10/18

  • [inpas] #55152 Added shouldThrowExceptionIfNotConnected

1.4-66 01/10/18

  • [inpas] Fixed IllegalStateException: No field 19. Using sa 1.0-8-2

1.4-65 02/08/18

  • [spire] #53459 Do not show "Cancel transaction" if a payment is APPROVED

1.4-64 02/08/18

  • [inpas-net] #53434 Fixed if address is null for InpasNetworkConnect
  • [inpas-usb] #53433 Fixed Thread.isInterrupted() on a null object reference
  • [spire] Removed bluetooth insecure connection

1.4-62 11/07/18

  • [common] Added logging stack trace when calling ICardReaderManager
  • [common] Changed slf4j-remote to 1.0-17
  • [inpas] Added logging all IProcessingEventListener calls
  • [inpas] Send logs at the end of the session
  • [inpas] Fetch configuration from the server before connecting to usb
  • [inpas] Create an error event if address is null

1.4-60 09/06/18

  • [inpas] Create an error event if address is null

1.4-59 09/06/18

  • [inpas] Added parameter to throw exception if cannot connect to POS terminal

1.4-58 22/05/18

  • [inpas] Fixed amount check

1.4.54

  • added Pax and Verifone USB support

New reader types: INPAS_VERIFONE_USB, INPAS_PAX_USB

1.4.44

  • Added Inpas (Pax) support

1.4.43

  • Added Inpas (Verifone) support

To add support for Inpas terminals please add the following artefact to your project:

com.payneteasy.android.reader.readers:readers-inpas

1.4-41

Added Spire SPm2 support

1.4-30

  • For Miura M010 and M007 shows a contactless payment screen
  • Fixed getting the location manager for android 6.x
  • Removed deprecated readers
  • Added remote logging

We've replaced org.slf4j:slf4j-android:1.6.1-RC1 with com.github.payneteasy.slf4j-remote:android:1.0-1

Please see https://jitpack.io/#payneteasy/slf4j-remote to find out how to add the library to your project.

1.4-27

  • Improved a Miura USB serial port detection on linux, windows and mac os

1.4-26

  • Added support for JVM with rxtx library
  • Updated paynet client library
  • Miura: Fixed fallback mode
  • Miura: Do not rely on “initialised” state and always do initialise encryption unless SRED ready = true.
  • Miura: Getting a directory for storing encryption keys from ConfigurationContinuation
  • Miura: Do not invoke Device.setPairingConfirmation
  • Miura: Added an error message if a key injection failed
  • Miura: Fixed a time field for a start tx command
  • Miura: Added an Application Selection on the PED

1.4-22

  • Fixed a rare problem with MSR

1.4-21

  • Fixed a rare problem with a key init

1.4-20

1.4-19

  • Added a USB communication mode support for Miura
  • Added more fields for Advice Slip:
https://raw.githubusercontent.com/wiki/evsinev/PaynetEasyReader/images/advice-slip.png

1.4-17

  • Added Remote Key Injection

  • Added Remote Configuration

  • New MiuraConfig entries:

    new MiuraConfigBuilder()
    ...
          .on( INJECTING_KEYS          ).emptyLine().centerLine("Injecting Keys...")
          .on( INITIALISING_ENCRYPTION ).emptyLine().centerLine("Init Encryption...").emptyLine().centerLine("Please Wait 2 min")
          .on( CHECKING_CONFIGURATION  ).emptyLine().centerLine("Configuring...")
          .on( CONFIGURATION_ERROR     ).emptyLine().centerLine("Configuration Error")
    ...
    

1.4-16

  • Fixed if 1st AAC
  • Fixed a MSR online processing
  • Removed a support for an old EMV processing scheme

1.4-15

  • Исправлена ошибка, если от Issuer приходит только Response Code, без Issuer Authentication Data
  • В тестовом процессоре на paynet при EMV-транзакции доступны следующие суммы, которые влияют на результат:
Сумма Статус Стадии
1.00 APPROVED Purchase, Final Advice
2.00 DECLINED Purchase
3.00 APPROVED Purchase
4.00 DECLINED Purchase, Final Advice

В тестовом процессоре можно использовать любую карту. Терминал всегда предлагает карте ARQC, карта всегда тоже уходит в онлайн. После, процессинг всегда отвечает с Authorisation Response Code = 'Z3' (Unable to go online, offline declined), который передается карте, если в стадии есть Final Advice. Иначе, мы думаем, что карта отвечает TC или AAC на первую GEN AC, на этом и завершаем транзакцию.

1.4-12

  • Улучшена поддержка EMV. Для работы необходима версия paynet 3.24.02 и выше

  • Добавлена возможность настроить все сообщения, выводимые на дисплей Miura:

    MiuraConfig miuraConfig =  new MiuraConfigBuilder()
            .on( STARTING                ).emptyLine()
               .centerLine("Please Wait...")
            .on( INSERT_CARD             ).emptyLine()
               .centerLine("Insert Card")
            .on( GOING_ONLINE            ).progress(1).emptyLine()
               .centerLine("Going Online...")
            .on( SALE_SENDING            ).progress(2).emptyLine()
               .centerLine("Sale Sending...")
            .on( SALE_RESPONSE_WAITING   ).progress(4).emptyLine()
               .centerLine("Sale Waiting...")
            .on( ADVICE_REQUIRED         ).progress(5).emptyLine()
               .centerLine("Advice Processing...")
            .on( ADVICE_SENDING          ).progress(6).emptyLine()
               .centerLine("Advice Sending...")
            .on( ADVICE_RESPONSE_WAITING ).progress(15).emptyLine()
               .centerLine("Advice Waiting...")
            .on( PROCESSING_ERROR        ).emptyLine()
               .centerLine("Processing Error").emptyLine()
               .centerLine("Take Card")
            .on( ERROR_REMOVE_CARD       ).emptyLine()
               .centerLine("Error").emptyLine()
               .centerLine("Take Card")
            .on( APPROVED_REMOVE_CARD    ).emptyLine()
               .centerLine("APPROVED").emptyLine().centerLine("Take Card")
            .on( DECLINED_REMOVE_CARD    ).emptyLine()
               .centerLine("DECLINED").emptyLine().centerLine("Take Card")
            .on( FETCHING_LOG            ).emptyLine().centerLine("Fetching Log...")
            .build();
    
    cardReaderManager = CardReaderFactory.findManager(context, cardReader, presenter
        , amount, currency
        , miuraConfig);
    

1.4-11

  • Создан и протестирован maven-репозиторий - http://paynet-qa.clubber.me/reader/maven
  • Убраны все приватные репозитории и зависимости.

1.4-10

  1. Улучшено соединение по Bluetooth c Miura (увеличена скорость, понятное название потоков)

    Как и раньше создается три потока: один на соедиенение (miura-con-), второй на чтение данных (miura-reader-) и третий на запись данных (miura-writer-). Все потоки пронумерованы. Теперь легче определить, что поток завис, если есть два потока с одим префиксом, но разными номерами. Например, не должно быть двух потоков miura-con-1 и miura-con-2.

    При onActivityPause() посылается сигнал interrupt, в результате время отключения уменьшилось. (Раньше все ставилось в очередь).

    Теперь для bluetooth соединений используются только onActivityResume() и onActivityPause(), для audio ридеров - как и раньше.

    Используется только один sleep (200ms) при неудачном соединении. Без него слишком много логов, которые никак не отключить.

  2. Добавлено еще одно состояние: CardReaderState.CONNECTING - показывает что идет подключение к ридеру. Пока используется только у miura.

  3. Удалены у Miura лишние вызовы cardReaderStateChanged(CONNECTED).

  4. Добавлены простые проверки на последовательность вызовов onActivityCreate, onActivityResume, onActivityPause, onActivityDestroy. При несоблюдении последовательности выкидывается исключение IllegalStateException.

  5. Добавлен тест с ПИН-кодом для тестового ридера. Активируется при сумме равной 10. Тест для MSR с лубой другой суммой.

1.4-9

Добавлено поле тип карты в метод ICardReaderPresenter.onCard(BankCard):

BankCard.cardType = MAG_STRIPE, EMV_CONTACT, EMV_CONTACTLESS

1.4-8

Добавлено событие нажатия клавиши при вводе PIN.

MiuraDeviceStatusChangeMessage.pinDigits

1.4-7

  1. Исправлена ошибка отключения Bluetooth
  2. Подключена библиотека для работы с ber-tlv ( https://github.com/evsinev/ber-tlv )
  3. Добавлены события от Miura
CardReaderState Message class
MIURA_DEVICE_INFO MiuraDeviceInfoMessage
MIURA_CARD_STATUS MiuraCardStatus
MIURA_DEVICE_STATUS_CHANGE MiuraDeviceStatusChangeMessage