.. reader-lib documentation master file, created by sphinx-quickstart on Mon May 19 16:43:41 2014. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. http://docutils.sourceforge.net/docs/ref/rst/restructuredtext.html#bullet-lists ====================================== Reader ====================================== .. toctree:: :maxdepth: 2 Ссылки ====== * Javadoc - http://paynet-qa.clubber.me/reader/apidocs/ * Downloads - http://paynet-qa.clubber.me/reader/lib/ * Maven repository - http://paynet-qa.clubber.me/reader/maven/ * Example - https://github.com/evsinev/reader-example Changes ======= 1.4-20 ------ * Added ContactLess support for Miura M010 and M007 (only for test purpose) * Updated reader-example to a latest SDK, new example url is https://github.com/evsinev/reader-example * Fixed date parsing bug 1.4-19 ------ * Added a USB communication mode support for Miura * Added more fields for Advice Slip: .. figure:: 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 | +------------------------------+-----------------------------------+