Skip to main content

Changelog

All notable changes to this project will be documented in this file.

The format is based on Keep a Changelog

Index

Version 19

[19.1.1] - 2024-11-12

Added

  • Added layoutId configuration for the Morefun reader.
    • Added the layoutId field in SDKMoreFunKeyboardTexts

Changed

  • Improvements in Morefun printer´s quality. The printer will now print at maximum quality, providing higher resolution and enhanced clarity for all prints
  • Urovo and MoreFun can now print with a new print process based on states like transactions. MoreFun and Urovo printers have been deprecated. Look for Printing documentation for more information.
  • Internal architecture improvement.
  • The QPOS Cute reader now allows Contactless without needing to press a button when the card is requested by contactless, contact, or swipe.

Fixed

  • Bugfixes and improvements
  • Fixed an issue that didn't allowed to abort after SDKReaderState was SDKReaderState.Connected.
  • Parameter message from SDKTransactionError.ConnectionFailed format fixed.
  • Fixed the issue with CVM Result when using CDCVM on the Urovo reader, as it previously only returned "UNKNOWN".
  • Fixed when beep is triggered on Urovo Reader
    • Added beep for when a cancel or refund is performed with contactless.

[19.0.2] - 2024-10-30

Added

  • The following currencies have been added to the SDKCurrency object:
    • Chilean Peso (CLP)
    • Paraguayan Guarani (PYG)
    • Peruvian Sol (PEN)
    • Costa Rican Colon (CRC)
    • Brazilian Real (BRL)
    • Bolivian Boliviano (BOB)
    • Dominican Peso (DOP)
    • Panamanian Balboa (PAB)
    • Honduran Lempira (HNL)
    • Salvadoran Colon (SVC)
    • Guatemalan Quetzal (GTQ)
    • Nicaraguan Cordoba (NIO)
  • Improvements on Online Declined error messages
  • TLS connection time improvements.

Changed

  • QPos and MagicPos readers can now be configured with a new function that automatically decides which files to use depending on the files inside bundle file.
    • Qpos: SDKQposReader.ConfigurationFactory.create(bundleFile) .
    • MagicPos: SDKMagicPosReader.ConfigurationFactory.create(bundleFile).
    • Other configuration options in SDKQposReader.ConfigurationFactory and SDKMagicPosReader.ConfigurationFactory have been deprecated:
      • SDKQposReader.ConfigurationFactory.qposEmvBinFiles(bundleFile)
  • SDKQposReader.ConfigurationFactory.qposEmvXmlFile(bundleFile)
  • SDKQposReader.ConfigurationFactory.qposFirmwareFiles(bundleFile)
  • SDKMagicPosReader.ConfigurationFactory.magicPosEmvFile(bundleFile)
  • SDKMagicPosReader.ConfigurationFactory.magicPosFirmwareFile(bundleFile)
  • SDKMagicPosReader.ConfigurationFactory.magicPosFirmwareEmvFiles(bundleFile)
  • [Breaking change] Upgraded Android SDK, Android plugin, Gradle and dependencies versions to the latest
    • Android SDK: 34
    • Gradle: 8.10
  • Internal architecture improvement
  • Connection and card waiting times for MoreFun readers have been improved

Fixed

  • Fixed that SDKScannerResultListener.onScanFinish() method was not being triggered after calling SDKDeviceScanService.stopScanning() .
  • The cardholder authentication method used in the transaction is now correctly sent to the SDK backend when the transaction does not require authentication.
  • Fixed bluetooth connection with reader Qpos for some Xiaomi devices. If bluetooth connection fails, a new recoverable error (SDKTransactionError.ManualPairingRequired) is defined for manual reader pairing.
  • For SmartPOS readers, pan is masked depending on the length:
    • Pan length >= 16 digits masks 8 firsts digits and last 4.
    • Pan length < 16 digits masks 6 firsts digits and last 4.
  • Fixed when beep are triggered on MoreFun and Urovo Reader
    • Before beep was triggered when card tap or insertion and was not triggered when the PIN was requested for contact or contactless.
    • For contact beep is triggered when the PIN is requested and again when the card can be removed.
    • For contactless beep is triggered when card can be removed.
  • Fixed an issue related to first encryption after reset on MoreFun Smartpos devices
  • On Morefun Smartpos bug regarding multiple tap transaction is fixed and card search phases
  • Fixed a crash when injecting MoreFun configuration bundle
  • Fixed a issue where the MoreFun does not beep on some contactless refunds
  • Performance improved for EMV transaction ussing MoreFun SmartPos. This change requires YSDK services application version 5.91
  • Fixed internal infrastructure bug
  • Fix NFC Try Again use case for MoreFun smartpos

Version 18

[18.0.5] - 2024-09-26

Added

Changed

  • Updated Koin library to version 3.5.4
  • Internal architecture improvement
  • Security improvements
  • [Breaking change] Urovo configuration has been changed:
    • File inside FileWrapper passed in SDKUrovoReader.getInstaller(....) has changed its format.
    • SDKUrovoReaderProfile has been deleted. These values will be inside new file format mentioned above.
      • Partners that uses Urovo readers must contact Geopagos, and we will provide an updated version of the configuration file
  • Unpredictable Number and key aliases are now considered sensitive logs.
  • Pin is not request for TTP refunds.

Removed

Fixed

  • Removed unnecessary consumer rules from the modules.
  • Details about the currency exponent were added to the encrypted transaction data processed with the MoreFun SmartPOS.
  • When SDKDeviceScanService try to scan while is scanning, then stops current scan and starts to scan again
  • Bug fixing

Version 17

[17.2.11] - 2024-10-09

Fixed

  • Fixed a crash when injecting MoreFun configuration bundle

Changed

  • Connection and card waiting times for MoreFun readers have been improved

[17.2.10] - 2024-10-02

Fixed

  • On Morefun Smartpos bug regarding multiple tap transaction is fixed and card search phases
  • A bug regarding multiple tap transaction is fixed and card search phases

[17.2.7] - 2024-09-26

Fixed

  • Fixed an issue related to first encryption after reset on MoreFun Smartpos devices
  • Fixed when beep are triggered on MoreFun Reader
    • Before beep was triggered when card tap or insertion and was not triggered when the PIN was requested for contact or contactless.
    • Now beep is triggered when the PIN is requested and again when the card can be removed.

[17.2.3] - 2024-08-27

Fixed

  • Details about the currency exponent were added to the encrypted transaction data processed with the MoreFun SmartPOS.

[17.2.1] - 2024-08-25

Added

  • Fixed and bug where in some cases of disconnection of readers the SDK would hang. Now, in case of disconnection, a ConnectionError is returned .
  • Mapped new exceptions:
    • SDKFunctionWasConsumedException is thrown when calling more than once a method on the same instance of a SDKTransactionState
  • SDKTransactionAbortedException is thrown when interacting in any way with a SDKTransactionIntent after is was aborted
  • SDKConfigurationAbortedException is thrown when interacting in any way with a SDKReaderConfigurator after is was aborted
  • SDKCannotAbortException is thrown when trying to abort a SDKTransactionIntent when it cannot be aborted (after confirming or while it is being connected) .

Fixed

  • Mapped onReturnReversalData method with IMagicPosService.Listener in MagicPosServiceAdapter. If the transaction is aborted this method is called.
  • SDKDeviceScanService was fixed. Observer is removed when stopScanning is called.
  • In SDKTransactionIntentImpl and SDKReaderConfiguratorImpl classes, exception handling was modified so that the try-catch block is only used when invoking the asSdkReaderState and asSdkTransactionState functions. When an exception is generated, an abort is performed.

Changed

  • Internal architecture improvement .
  • [Breaking change] Urovo configuration has been changed:
    • Sdk expect a json configuration file for configure Urovo that will be read from FileWrapper class in UrovoConfiguration.
    • Urovo reader profile has been deleted from sdk configuration. These values must be configured in json file.
    • Urovo xml configuration file could be migrated to json configuration file with urovo_convert_xml_to_json.py script:
      • Usage: [python-path] xml_to_json.py [-h] -i --input -c INPUT --countryCode COUNTRYCODE -t --terminalCapabilities TERMINALCAPABILITIES
      • Option -i: input configuration xml file
      • Option -c: country code value defined in reader profile
      • Option -t: terminal capabilities value defined in reader profile

[17.0.7] - 2024-05-03

Added

  • Added support for ContactlessPinDecider plugin on Qpos reader

Changed

  • Confirmation object has been changed
    • SDKConfirmation is now received as a JSON
    • SDKConfirmation for sale/refund/cancel has been deprecated
  • Morefun smartpos reader implementation is upgraded for functional L3 certification in Argentina
    • SDKMoreFunReaderProfile is no longer needed
    • SDKMoreFunReader configuration file wrapper is mandatory parameter
    • SDKMoreFunKeyboardTexts allows more messages
    • Morefun configuration format has changed. Contact Geopagos if need a new configuration file
  • Upgrade SnakeYAML
  • Update morefun SDK

Security

  • Internal dependencies has been upgraded because of security reasons.

Version 16

[16.1.4.4] - 2024-09-20

Fixed

  • Pan is masked depending on pan length:
    • Pan length >= 16 digits masks 8 firsts digits and last 4.
    • Pan length < 16 digits masks 6 firsts digits and last 4.

[16.1.4] - 2024-01-19

Added

  • Support for token request
  • PinProvider on magicpos hardware reader

Changed

  • Double card read is no longer necessary for EMV transaction.
    • If the amount for transaction is different from the original transaction an updated amount can be send on contactless transaction.
    • This is a common use case in Argentina market because of installment financial cost
    • If you need to implement this feature, yo can use the “updatedAmount” optional field on Sale Confirmation object.
  • SDKTransactionIntentFactory API has changed
    • A method has been added to the SDKTransactionListener
    • When a transaction creation is requested to the factory, this new method SDKTransactionListener.onTransactionCreatedis called with the creation result
      • This result may be success or error
        • Error may occur only if you are creating a transaction when an old transaction already exists and it cannot be aborted
        • The aim of this behaviour is to prevent the existence of multiple transaction intents at the same time

[16.0.5] - 2024-01-04

Fixed

  • Minor bug fixing for MoreFun smartpos reader
  • Correct mapping for CVM result so Signature is not requested when it’s not needed

[16.0.1] - 2023-10-25

Added

  • Hash pan and issuer installment plugins are available. This can be used in some markets only if Geopagos requests it
  • New “MoreFun” smartpos reader available → com.geopagos.payments.sdk:sdk-reader-morefun:$sdkVersion

Changed

  • All internal dependencies has been updated, this is a major change. API has not been changed
  • Improvements in transaction information tracking

Version 15

[15.6.10.1] - 2024-01-04

Fixed

  • Correct mapping for CVM result so Signature is not requested when it’s not needed

[15.6.11] - 2023-10-11

Added

  • The SDK now does not allow to abort a transaction while the connection is being established with the reader. If the transaction needs to be aborted after a device has been provided please wait until SDKReadConfigRequired state is reached.

Fixed

  • Issues regarding aborting the transaction while the reader QPOS is waiting PIN has been solved. Now is possible to abort the transaction while this reader is waiting PIN input
  • Issue regarding contactless cvm limit set for Mastercard AIDS con QPOS cute is fixed.
  • An issue regarding PIN screen layout on Urovo reader has been fixed

[15.6.8] - 2023-09-14

Added

  • Added Visa electron and Maestro AIDS for QPOS cute contactless cvm limit configuration

Changed

  • Bluetooth connection error handling improved

Fixed

  • An issue on detecting fallback transactions on QPOS readers is fixed

[15.6.6] - 2023-09-08

Added

  • For Urovo smartpos reader encryted transaction data is extended with currency exponent EMV tag

[15.6.4] - 2023-08-29

Added

  • Added two optional fields inside SDKMerchant required for mexico markets
    • fiid
    • logicalNetwork

[15.5.2] - 2023-08-29

Changed

  • Improvements in transaction information tracking

[15.5.0] - 2023-07-19

Added

  • Added new Plugin “Cuota Emisora”
    • Only for Chilean markets
  • Added Mexican currency to SDKCurrency object

Fixed

  • Fixed bug that affected Android with version 12 and greater, where bluetooth scanner didn’t work

[15.4.9] - 2023-06-22

Added

  • New plugin to request signature when necessary
    • This only can be used when using the aggregator model
  • Sign feature
  • Added ability to decide when to verify installment/payment plan
  • MEX currency
  • Added missing fields for transactions in Mexico

Fixed

  • InternalError obtained when trying to recover ConnectionFailed
  • Duplicate flow when aborting a transaction
  • Qpos cancel

[15.3.3] - 2023-06-12

Changed

  • When authentication token is invalid then a Declined.Other error is emitted with reason “unauthorized”, so now it’s possible to check if the used token is invalid. Previously when the token was invalid a generic error with message “authentication error” was emitted.

Fixed

  • A bug related to obfuscation when using TIP on the transactions is fixed

[15.3.1] - 2023-05-08

Added

  • New plugins for this SDK
    • Plugins to force the PIN request were development.
      • This applies only for Chile market
      • Forces PIN always or by Bin list
      • Available only for Urovo(smartpos) and ToP readers
  • All possible error types are exposed for the Urovo printer so a better error handling is possible if needed. See SDKPrinterError class
  • Added SyncCache Interface

Fixed

  • SDK Invalid Device
  • Blocked card on SmartPos
  • Tip feature

[15.2.1] - 2023-03-09

Changed

  • This versions fixes a backward compatibility issue presented in the previous version that affects only the SmartPos Urovo Reader.
    • SDKUrovoReader.getInstaller() has changed it defaults values and parameters order to preserve backward compatibility
  • From version version 14, the Urovo dependency cannot access SDKFileWrapper class
    • SDKFileWrapper class now is exposed and can be used on SDKUrovoReader.getInstaller() method and SDKUrovoPrinter class
    • This means that if this issue affects you you cannot compile the application because you cannot reference this class

[15.2.0] - 2023-02-15

Added

  • SDK Has support for Tip. Contact Geopagos if you need to implement this feature
  • Urovo (smartpos) now has a flexible way to configure the screen layout when asking PIN to the user

Fixed

  • SDKCurrency.cop() has been fixed, function to create Colombian currency now has exponent 2 for the currency. It had exponent 0 before, this is wrong. COP has 2 decimales as exponent for the currency
  • Fix on Urovo offline approval for refund transactions
  • Visa annulments

[15.1.0] - 2023-01-20

Changed

  • Migration to Koin 3.2.0 is done. If your App uses Koin it’s necessary to upgrade to this version
  • When using MagicPos reader, the firmware version received in “ReaderInfo” is now encoded in ASCII and not in hexadecimal
  • Better logging for debugging and issues reporting

[15.0.0] - 2022-12-01

Added

  • Qpos Cute reader now support to request PIN on swipe transactions

Changed

  • Kotlin version is updated to 1.6.
  • The “application key” is not required to init the SDK. Now the application key must be provided when SDKConfirmation object is created.
    • This change breaks backward compatibility, so the version change is a major to 15.0.0 version
  • Compile and target SDK has been updated to API 31. Please, when targeting Android 12 or higher take into account that bluetooth permissions scheme has changed (see Android documentation for more information)
    • The SDK Bluetooth scanner has not changed. If any permissions is missing it will report the list of missing permissions. According the android versions, the missing permissions that should be requested will be different

Removed

  • jcenter repository is removed

Fixed

  • Reader battery information is now correctly parser for MagicPos readers (SR1)
  • A bug is fixed related transaction being aborted when a Qpos Reader is waiting for a card holder to present the card. Now when the transaction is aborted in this state the reader is successfully disconnected.

Version 14

[14.0.4] - 2022-09-15

Added

  • Added Visa electron and Maestro AIDS for QPOS cute contactless cvm limit configuration

[14.0.2] - 2022-09-16

Added

-Hardware cancel button event for PIN request on chip transaction using QPOS reader was missing. A handler for this event is added and now the transaction can be cancelled by hardware when waiting user PIN input

[14.0.1] - 2022-09-09

Changed

  • A downgrade to Kotlin 1.5 is performed for compatibility issues on some consumers
    • Next releases will follow the upgrade to Kotlin 1.6 again, because this is a security requirement for ongoing security certifications

Fixed

  • A bug is fixing regarding PIN status exposes on SDKReaderStatus when PIN is requested in NFC transaction

[14.0.0] - 2022-09-02

Added

  • Now is possible to update the reader CVM Limit
    • Please check the feature documentation: MOB-ConfigureCVMLimit-020922-1540.pdf
    • The amount for this configuration is now a money amount, because this setup es depends on the currency exponent used
    • This change breaks backward compatibility, so the version change is a major to 14.0.0
  • For Qpos CUTE and Qpos Mini readers with NFC now NFC+Chip card wait mode is supported
    • This means that with these reader you can wait both card types at the same time

Changed

  • Kotlin version updated to 1.6
  • In case of using R8 or dexguard to obfuscate the code, may be necessary the following rule for a depend

Fixed

  • The issue for two beeps on Urovo reader is now fixed

Version 13

[13.0.1] - 2022-08-18

Changed

  • TransactionTotals “net” now represents the total amount to be charged, with taxes included

[13.0.0] - 2022-07-29

Added

  • Add NFC Support for Urovo readers
  • Add support for Urovo printer
    • See javadoc for SDKUrovoPrinter class and related
    • To print a receipt a PNG should be sent to the printer
  • A new constructor is added to SDKTransactionsTotal so if taxes are not needed then the class can be created without taxes using the gross amount
  • Improve SDK unit test coverage

Changed

  • SDKReaderState class changed to report when the readers is processing and waiting a PIN input.
    • This changes breaks backward compatibility on previous versions
  • On SDKConfirmation.Sale the field updatedAmount is now a BigDecimal to better precision handling
    • This changes breaks backward compatibility on previous versions if this option field is used

Deprecated

  • SDKDeviceScanService does not requires a fragment when scanning anymore
    • This changes breaks backward compatibility on previous versions of this method was consumed.

Fixed

  • Fix on AID selection for Urovo readers
  • Fix on 8A declined tag that is sent to the readers on chip transaction when the SDK cannot go to process online(ie: no internet connection)
  • On TransactionTotals class, a wrong validation regarding taxes is adjusted
  • Internal bug fixing

Version 12

[12.0.3] - 2022-06-24

Added

  • Provides full support to QPOS Cute reader

Changed

  • Improves the invalid amount exception message to be more accurate

Fixed

  • Fixes a bug that makes SDKConfirmation.Sale.updatedAmount be ignored. This field now behaves as expected.
    • This bug was introduced on version 12.0.1, is not present on previous versions
  • A bug regarding special configuration for QPOS BT has been fixed
  • Fix UpdatedAmount

[12.0.2] - 2022-05-05

Changed

  • onScanFinish event is called when scanners finish scanning or when an error event has occurred. The expected behaviour is as follow:
    • Call “onScanFinish” when the scanners finish their scanning task
    • Call “onScanFinish” after “onError” event to inform that the scan task is finished

[12.0.1] - 2022-04-05

Added

  • AccountType has been added to the confirmation object. Please note that this is not needed for all the markets so these arguments are optional, currently this is only needed for Colombia. If you have doubts on this please contact Geopagos team.
  • Currency exponent support for 0 decimals has been added to Currency object. This exponent must be set according your market

Changed

  • Streamlined firmware and config updates. Now it’s not necessary to pass firmwares and configs directly. The process is the same as before, but the SDK will receive only one file containing all firmwares and configs you need. This files will be signed and verified by the SDK
  • For transaction amount handling BigDecimal is used instead of double

Removed

  • Taxes has been removed from “SDKConfirmation”. Now is handled alongside the transaction total in “SDKReadConfig” object. Please notes that if you wasn’t using Taxes in the confirmation you can give SDKReadConfig a SDKTransactionTotals object with taxes amount of 0.

Fixed

  • Internal bug fixing and improvements.

Version 9

[9.0.4] - 2022-08-24

Added

  • Add hardware version on device info

[9.0.3] - 2022-06-25

Fixed

  • A bug regarding special configuration for QPOS BT has been fixed

[9.0.2] - 2022-04-22

Changed

  • onScanFinish event is called when scanners finish scanning or when an error event has occurred. The expected behaviour is as follow:
    • Call “onScanFinish” when the scanners finish their scanning task
    • Call “onScanFinish” after “onError” event to inform that the scan task is finished

Removed

  • SDKDeviceScanService method “startScan” receiving a Fragment has been removed, please use the unique “SDKDeviceScanService(scanResultListener, scanTimeout)” method to start te required scanning

[9.0.1] - 2022-02-04

Changed

  • This SDK does not ask for permissions anymore. When the SDKDeviceScanService starts a scan and finds that any permission is required(ie: location/bluetooth) it will emit a scan error with the permission list you must ask to android framework. The permission ask flow is consumer application responsibility.
  • TimeZone object must be pass on SDKs init. As an example, TimeZone.getTimeZone("America/Buenos_Aires")
  • On SdkConfirmation object the timezone now must be passed as a string. As an example, “-03:00”. The format is “{+,-}hh:mm”
  • Package change: all “model” classes moved to com.mpos.payments.transaction.model
  • Dependency management has changed for SDK. Please note a new “-core” on main dependency
    • implementation com.geopagos.payments.sdk:payments-core:9.0.0
  • Scanner classes renamed
    • SDKReaderService -> SDKDeviceScanService
    • SDKReaderServiceCallback -> SDKScannerResultListener
    • SDKReaderServiceFactory -> DKDeviceScanServiceFactory
  • QPos Mini firmware update
  • Module separation in transactionSdk
  • Removed expire date from SDKTransactionCard

Fixed

  • Pin request on non pin pad devices issue fixed
  • First scan after granting permissions does not scan

Security

  • Expire date is removed from SDKTransactionCard because of security reasons. SDKTransactionCard now is a sealed class to identify if ti was magnetic or EMV read. Please check class documentation for more details

Version 8

[8.0.5] - 2021-12-29

Fixed

  • Fix for some MagicPos first connection issue

[8.0.4] - 2021-12-27

Fixed

  • Correction of key sent to gateway in “merchantType”

[8.0.2] - 2021-12-13

Changed

  • The ID is now optional in “SDKReaderInfo”.
  • The first reset (immediately after connection) is no longer performed for both MagicPos and QPos.
  • The call to “MagicPosServiceAdapter.getPosId()” now throws “UnsupportedOperationException”.

Fixed

  • Minor fixed related to MagicPos connection when a firmware update fails.
  • Fixed error log in hardware readers.

[8.0.0] - 2021-08-03

Added

  • When a confirmation is rejected now you get a Recoverable error “TransactionRejected”. When you recover then you move to “ReadConfigRequired” step.
    • This means that now it’s not necessary to create a new transaction intent and re-connect to the reader when you reject a confirmation. (ie: when you need to update the transaction amount after a card read for installments)
  • We provide an Object with currency constants to help you provide the right currencies into the amounts to the SDK. See “SDKCurrency” object.
  • “SDKTransactionError.Declined” has a new reason “Unauthorized“. This error happens when an invalid token is sent
  • “SDKTransactionCard” has a new property “emvApp”. This is optional, it will provide you the card AID on EMV transactions.
  • New “InternalError” on “SDKTransactionError”. This is thrown for internal errors

Changed

  • Dependency management, this SDK is now split in several dependencies. According the readers you use, you can have a smaller final APK. Please add “payments” dependency and the “reader” dependency that you use. Please notice that all dependencies you add must have the same version. Do not use, for example, “8.0.0” for “payments” and “8.0.1” for “sdk-reader-qpos”
    • New dependencies
      • Transaction and configuration modules. Add this dependency always.
        • `implementation "com.geopagos.payments.sdk:payments:8.0.0
      • Qpos reader. Add this dependency if your application uses a Qpos Reader
        • implementation "com.geopagos.payments.sdk:sdk-reader-qpos:8.0.0"
  • MagicPos reader. Add this dependency if your application uses a MagicPos Reader
    • implementation "com.geopagos.payments.sdk:sdk-reader-magicpos:8.0.0"
  • Each reader dependency exposes a “SDK{reader_name}Reader” object to provide a SDKReaderInstaller that allows you to use this reader
    • SDKPayments.init method now receives a set of “SDKReaderInstaller” to install the readers your app will use
    • For reader configuration flow, the factory method to handle de firmware and configuration files are now moved to it’s reader module, use “SDK{reader_name}Reader.ConfigurationFactory” object
  • “SDKTransactionError.TransactionNotConfirmed” is renamed to “SDKTransactionError.TransactionRejected”
  • The amount is removed from SDKTransactionData, now the amount must be passed to the TransactionIntent in the “SDKReadConfig” object
  • “SDKTransactionState.TransactionApproved” object now has its SDKConfirmation type checked. (ie: “TransactionApproved.Sale” has a confirmation type “SDKConfirmation.Sale”)
  • SDK documentation has been improved.

Version 7

[7.1.5] - 2021-08-19

Fixed

  • Magicpos returns appropriate error allowing fallbacks when needed instead of terminated
  • Recover from fallback error now is working

[7.1.4] - 2021-07-26

Fixed

  • Fix card read for Argentina “Alimentar” card

[7.1.1] - 2021-07-07

Changed

  • Updated version of the MagicPos SDK
  • Transaction declines are now emitted inside a RecoverableError instead of a NonRecoverableError. This way in case of a decline, you can try again with a different card or different config instead of having to create the transaction again from scratch

Fixed

  • Fix card read for special magnetic stripe cards

[7.0.1] - 2021-04-22

Changed

  • Compliance with MasterCard refunds and cancellations
    • SDKTransactionCard*maskedPan may be null. This might happen on MasterCard refunds and cancellations.

[7.0.0] - 2021-03-19

Added

  • Now it’s possible to update configuration for Qpos and MagicPos readers.
  • Now it’s possible to update firmware for MagicPos readers.

Changed

  • Better configuration interface.

Fixed

  • Fallback implementation

Version 6

[6.3.1] - 2021-02-26

Added

  • Now it’s possible to update configuration for Qpos reader configuration
  • SDKReaderState has a new state “UpdatingConfiguration”

Changed

  • When a transaction is aborted this SDK now throws “SDKCannotAbortException” instead of “SDKCannotAbortTransactionException”

[6.2.0] - 2021-01-11

Changed

  • Support from API 14
  • External Logger + Mask sensitive data logs

Fixed

  • Corresponding error when emvUpdate fails (CMD_NOT_AVAILABLE)
  • Fix timezone -3:00 → -03:00

[6.1.1] - 2020-12-11

Fixed

  • Fix R8 compilation error

[6.1.0] - 2020-12-02

Added

  • Override amount on swipe
  • Qpos Reader Configuration

Changed

  • Updated MagicPos SDK

[6.0.1] - 2020-11-19

Changed

  • Modified the sending site of “externalData” (from confirmation to sale/refund/cancel)

Fixed

  • Fix crash due to KOIN versioning
    • Update to version 2.2.1
    • Fixed strict versioning to 2.2.*

[6.0.0] - 2020-11-09

Added

  • Sending cardHoldesAuthenticationEntity field
  • Sending MerchantName field PSDK-44

Fixed

  • Fix Bluetooth permissions
  • Fix incorrect functioning when assigning/rejecting permissions
  • Validation of invalid amounts (zero amount)

Version 5

[5.2.1] - 2020-11-07

Fixed

  • Correction when aborting when card is expected

[5.2.0] - 2020-10-27

Changed

  • CardHolderName optional
  • AuthorizationCode optional in Refund/Cancel
  • PaymentMethod in Cancel

[5.1.0] - 2020-10-21

Fixed

  • Regression fix SDK MagicPos

[5.0.0] - 2020-10-21

Changed

  • Sending amount in cancellation

Version 4

[4.1.0] - 2020-10-20

Added

  • Added gateway error code to declined response
  • Ignore confirmation code

Fixed

  • Fix crash in release mode

[4.0.2] - 2020-10-21

Changed

  • Updated MagicPos SDK to solve the stripe issue with Naranja cards.

[4.0.1] - 2020-10-15

Added

  • Added intermediary (recursive) within Establishment
  • Token in confirmation

Version 3

[3.1.1] - 2020-10-14

Changed

  • Email and Phone optional in Establishment

Fixed

  • Fix issue when aborting before having a reader

[3.0.1] - 2020-10-08

Changed

  • externalData
    • optional
    • null by default

Version 2

[2.2.2] - 2020-10-08

Fixed

  • Fix error hang during card removal in the middle of a Chip transaction
  • Fix regression hang on abort
  • Removed internal error of JodaTime

[2.2.1] - 2020-10-01

Fixed

  • Compilation fix

[2.2.0] - 2020-10-01

Added

  • Location requirement for Bluetooth scan
    • Added ErrorType LocationIsOff to SDKScannerResultListener.ErrorType
  • Added optional parameter externalData in SDKConfirmation

[2.1.1] - 2020-09-25

Fixed

  • Fix to abort transaction in the middle of an EMV chip operation

[2.1.0] - 2020-09-19

Added

  • Added SDKCardInsertionStatus to SDKReadConfig
  • Logic for card inserted/not inserted to transact

[2.0.0] - 2020-09-16

Changed

  • API Changes
    • SDKTransction → SDKTransactionIntent
    • SDKTransactionFactory → SDKTransactionIntentFactory
    • SDKTransactionData.Sale/Refund/Cancel → SDKTransactionData (unique)
    • SDKTransactionState.ConfirmCardData → SDKTranasctionState.ConfirmTransaction.Sale/Refund/Cancel
    • SDKConfirmation → SDKConfirmation.Sale/Refund/Cancel
  • Refactor to obtain decline code in DeclinacionOnline cases
  • Change in data passage flow (from initiation to confirmation)
  • Unification of tag usage for AID with IOS

Fixed

  • Fix bug when inserting chip card backwards
  • Fix bug that prevented multiple transactions
  • Fix bug where the reader remained connected after a decline

Version 1

[1.1.0] - 2020-08-28

Added

  • Koin isolation