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
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.
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)