Reader

Changes

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

Table Of Contents

This Page