Release Notes
2024-11-26 - SDK 2.96.0 (Android)
Fixed Issues
Fixed various issues that occasionally caused the SDK to crash.
2024-10-22 - SDK 2.95.0 (Android)
Fixed Issues
- Fixed the issue that occasionally caused the "Low Battery" notification to be shown incorrectly.
- Fixed the issue that caused the value provided formerchantDescriptorto not be captured correctly.
Improvements
Tap to Phone: Improved the error messages that can appear during enrollment and transactions.
General Information
MposUi.Create
function was deprecated and will be removed in the next release.2024-09-11 - SDK 2.94.0 (Android)
Fixed Issues
- Fixed the issue that rarely caused a crash when performing a magstripe transaction.
- Fixed the issue that rarely caused a crash during the card selection process.
New Features
- Added the ability to provide payment facilitator details when performing a transaction.
- Added the ability to provide tax details when performing a transaction.
- Added the ability to provide installment details for the LAC region when performing a transaction.
2024-09-06 - SDK 2.65.0 (iOS)
Improvements
Applied general application hardening improvements.
Updates
Applied software dependency updates.
2024-08-19 - SDK 2.93.0 (Android)
Fixed Issues
- Fixed the issue that caused a crash ifMposUi.createwas called twice.
- Fixed the issue that caused receipt data to be missing when usingtransaction.getCustomerReceiptortransaction.getMerchantReceiptfunctions for Tap to Phone transactions.
- Fixed the issue that caused some devices to not have the expected behavior when the signature capture configuration was set toNONE.
- Fixed the issue that causedmposUi.latestTransactionobject to not be updated after requesting a check transaction status.
Improvements
Improved the error messages that can appear for connection-related issues.
Updated Requirements
Updated the Mastercard sonic branding library to version 1.5.0. Use this version of the branding library with the SDK going forward.
2024-07-05 - SDK 2.92.0 (Android)
Improvements
- Error message screens now have a timeout of 15 seconds.
- Improved the error message that appears when an offline transaction is attempted before the first online transaction is processed on the device.
2024-06-12 - SDK 2.91.0 (Android)
New Features
In order to skip signature capture, the signature capture configuration can be now be set to
NONE
. Improvements
Tap to Phone: Improved the error messages that can appear during device enrollment.
Fixed Issues
- Fixed the issue that caused the A920 MAX terminal not to be recognized correctly.
- Fixed the issue that caused the Retry button to appear on the Summary screen of approved transactions if theRETRY_TRANSACTIONfeature was configured as the default summary feature.
2024-05-16 - SDK 2.90.0 (Android)
New Features
- Added the ability to perform partial refunds and captures from the transaction summary screen.
- Added support for PAX IM30 and PAX A920MAX devices.
Improvements
Updated the Present Card animation when performing an offline transaction.
Updated Requirements
- Updated the minimum supported operating system for Tap to Phone to Android 12.
- Updated the minimum supported Kotlin version to 1.8.
Fixed Issues
Fixed the issue which rarely caused the terminal to become unresponsive after attempting to use an unsupported card.
General Information
- Removed deprecated statementDescription and applicationFee parameters.
- Removed deprecated NightMode configuration.
2024-05-16 - SDK 2.64.0 (iOS)
Fixed Issues
- Fixed the issue that caused the Signature screen to not rotate to landscape view.
- Fixed the issue that caused on-device tipping to not prompt for a tip.
2024-04-18 - SDK 2.89.0 (Android)
Fixed Issues
Fixed the issue that caused the merchant receipt for MOTO transactions not to include the transaction status.
Improvements
Tap to Phone: Added translations for error messages in all supported languages.
2024-03-18 - SDK 2.88.0 (Android)
New Features
- PAX All-in-One SDK now supports:
- Offline transactions, also known asdeferred authorizationorstore and forward
- On-receipt tipping
- Added support for 67 additional currencies.
Improvements
Added the necessary ProGuard rules to the Tap to Phone SDK. This improvement eliminates the need to maintain ProGuard rules in the app project.
2024-03-18 - SDK 2.63.0 (iOS)
New Features
Added support for 67 additional currencies.
2024-02-20 - SDK 2.87.0 (Android)
General Information
- NightMode was deprecated fromUiConfigurationand will be removed in the next release.
- Changed the "Bugfixes" release note title to "Fixed Issues."
Updated Requirements
Updated the Visa sensory branding library to version 2.2. Use this version of the branding library with the SDK going forward.
Fixed Issues
- Fixed the issue that caused Default UI to crash if the app was running in the background during the card selection process.
- Fixed the issue that caused the incorrect formatting of the signature line on a printed receipt.
2024-01-16 - SDK 2.86.0 (Android)
Improvements
Tap to Phone: Improved error messages that display during device enrollment.
2023-12-19 - SDK 2.85.0 (Android)
Improvements
- Tap to Phone: Improved the UI experience when cancelling a transaction from the PIN entry screen.
- Enabled the PAX device screen to power on automatically if a transaction is started when the screen is off.
Bugfixes
- Tap to Phone:
- Resolved the issue related to integrators using WorkManager to schedule background work.
- Resolved the occasional issue that caused the last screen of a cancelled transaction not to be dismissed automatically.
- Resolved the issue that caused MOTO transactions to crash if the language was set to German.
2023-12-19 - SDK 2.62.0 (iOS)
Improvements
Applied general application hardening improvements.
Updates
Applied software dependency updates.
2023-11-23 - SDK 2.84.0 (Android)
Improvements
Tap to Phone:
- Improved handling of errors when starting a transaction.
- Improved UI during initialization of a transaction.
- Improved UX when cancelling a transaction.
2023-10-19 - SDK 2.83.0 (Android)
New Features
Tap to Phone now supports these transaction types: pre-authorization, incremental authorization, and capture.
Improvements
- Default UI: Improved the display of error messages that are more than 40 characters long.
- Tap to Phone: Added an indicator on the Summary screen that the customer signature should be captured on the printed receipt.
Bugfixes
- Default UI:
- Fixed the issue that resulted in an inconsistent state when a new transaction was started while the Summary screen was displayed.
- Fixed the issue that occurred during a successful linked refund transaction in which the Information screen showed the original transaction amount instead of the refunded amount.
- Fixed the issue that caused transactions that used currencies with two-digit numeric codes to fail.
2023-09-19 - SDK 2.82.0 (Android)
New Features
Tap to Phone: Added on-device tipping feature.
Bugfixes
- Tap to Phone: Fixed the issue that caused transactions to freeze when using the signature-on-receipt feature.
- Default UI:
- Fixed the issue that caused the SDK to crash when attempting to recover a transaction after the Inconclusive screen is shown.
- Fixed the issue that caused the SDK to crash when starting a transaction with a zero amount and custom tipping.
- Fixed the issue that caused the wrong value to be returned when calling theisReadyForTransactionmethod before the first transaction.
2023-09-19 - SDK 2.61.0 (iOS)
Improvements
Applied general application hardening improvements.
Updates
Applied software dependency updates.
2023-08-16 - SDK 2.81.0 (Android)
Improvements
- After canceling an Alipay payment transaction or a WeChat Pay transaction, a transaction canceled animation now appears on the payment device screen.
- Added translations for Tap to Phone enrollment to support these languages:
- US English
- UK English
- Chinese (Hong Kong)
- Chinese (Simplified)
- Czech
- Danish
- Dutch
- Finnish
- French
- German
- Hungarian
- Italian
- Latvian
- Lithuanian
- Norwegian
- Polish
- Portuguese
- Spanish
- Swedish
2023-07-21 - SDK 2.80.0 (Android)
Updated Requirements
Kotlin version change:
- Upgraded to Kotlin version 1.7.21.
- Newly released artifacts work with Kotlin version 1.6 and above.
- Android Gradle plugin version 7.2. or above is required to build apps with the SDK.
Improvements
Implemented security improvements.
Bugfixes
- Fixed the issue where choosing a payment option would be ignored when starting a transaction with the Workflow set toUNKNOWN.
- Fixed the issue for MOTO transactions where pressing the green button on the PAX terminal did not progress the transaction to the next screen.
2023-06-29 - SDK 2.79.0 (Android)
Improvements
- Improved Tap To Phone device enrollment error messages.
- Implemented security improvements.
Bugfixes
- MOTO transactions can be aborted using the red button on the Default UI keyboard.
- MOTO account verification transactions are shown correctly on the receipts.
2023-06-29 - SDK 2.60.0 (iOS)
Improvements
- Deprecated outdated methods in SDK as part of code clean up.
- The mpos_core and mpos_ui frameworks are now available through the Swift Package Manager (SPM). The SPM is an iOS integrated solution for dependency management. Using SPM makes it easier to update frameworks, such as mpos_core and mpos_ui, in the client application.
2023-05-24 - SDK 2.78.0 (Android)
Improvements
- Default UI: Disabled the option to abort receipt printing and the option to amend transactions after transaction processing starts.
- Deprecated unusedstatementDescriptorandapplicationFeetransaction parameters.
Bugfixes
- Default UI: Fixed the issue that caused the Default UI MOTO transaction parameters to not be updated after the MOTO transaction parameters workflow configuration was updated.
- Default UI: Fixed the issue that caused the Default UI to crash when running transactions only on a cellular network.
- Fixed the issue that caused the SDK to crash after aborting a transaction and tapping the NFC contactless card on the terminal.
- Fixed an issue in order to enable theNo Internet warningmessage to always appear whenever there is no internet connectivity.
- Fixed an issue in order to enable the amount to show for approved Refund, Capture, and Incremental Authorization transactions.
2023-05-11 - SDK 2.59.1 (iOS)
Hotfix
Applied improvements for JWT authentication.
2023-04-20 - SDK 2.77.0 (Android)
New Features
Added a new UI configuration to manage the
Don't Show Again
switch behavior for the low-battery warning.Improvements
- Deprecated the Incremental Authorization Transaction Parameters builder. Use the replacement Incremental Auth builder with amount and currency parameters.
- To comply with the branding requirements for Tap To Phone, the Present card screen now shows the available payments schemes.
- Enabled option to show the sonic branding for Visa and Mastercard on the Approved transaction screen. Integrators must manually downloaded the sonic branding files from Visa and Mastercard portals.
Bugfixes
- Fixed an issue that caused the Low Volume message to appear when accessibility features are enabled during a transaction.
- Fixed an issue on the Default UI that made it not possible to process transactions after aborting a MOTO transaction on the Select order type screen.
- Fixed an issue on the Default UI Summary screen of a Incremental Authorization transaction that caused theShow Total Pre-Authorizedbutton not to work.
- Fixed an unusual issue in PayButton that caused the app to crash when starting a transaction.
- Changed the button label fromCanceltoNo Tip, enabling the merchant to skip tipping and continue the transaction.
2023-03-17 - SDK 2.59.0 (iOS)
Improvements
Made improvements to the authentication mechanism.
Bugfixes
Applied general bug fixes.
2023-03-14 - SDK 2.76.0 (Android)
Improvements
- Improved Default UI Signature screen functionality when a different card application name is presented.
- Integrated Tap to Phone API into MposU.
- Made improvements to the authentication mechanism.
Bugfixes
Miura: Fixed the issue that occurred when a transaction was started in the Default UI that did not allow the transaction to be cancelled if the terminal was powered off.
2023-02-20 - SDK 2.75.0 (Android)
Improvements
When performing a Standalone refund, the Present Card screen now displays: "Present card for refund."
2023-01-31 - SDK 2.58.0 (iOS)
Improvements
Applied general improvements.
Bugfixes
Applied general bugfixes.
2023-01-24 - SDK 2.74.0 (Android)
Improvements
After the currency is selected on the Dynamic Currency Conversion (DCC) screen, the follow-on screens (such as the Signature screen) now show the converted amount.
Bugfixes
- Fixed the issue that caused an invalid icon to be shown for the credit/debit selection.
- Fixed the issue with recreatingeventFlowfor each new transaction.
- Fixed the issue that prevented the Receipt button from showing after the first transaction.
2023-01-02 - SDK 2.73.0 (Android)
New Features
Default UI: It is now possible to directly start a transaction with Alipay or WeChat Pay using the Default UI. To enable this feature, set the desired scheme in the transaction parameters before starting the transaction.
Improvements
Improved the stability of the SDK after auditing the code and fixing some crash potential scenarios.
Bugfixes
- Fixed the issue that caused a LiveData event not to be sent to the integrator application when the user clicks the Abort button on the QR code scanning screen for an alternative payment flow.
- Fixed the issue that allowed a currency conversion to be requested during an account verification transaction.
2022-11-24 - SDK 2.72.0 (Android)
Updated Requirements
Android OS version change:
- PAX devices require Android OS version 7.1, at the minimum.
- All other devices require Android OS version 10, at the minimum.
Improvements
Added Basic Enrollment UI for Tap to Phone.
2022-11-24 - SDK 2.57.0 (iOS)
Updated Requirements
iOS OS version change: All devices require iOS 15, at the minimum.
2022-10-24 - SDK 2.71.0 (Android)
Updated Requirements
- Security update:In order to further migrate into Visa's secure environment, the Maven repository that contains the artifacts for the JVM SDK is being moved to a different domain. See an example here: PayButton Integration.This change effects everyone who integrates or updates the JVM SDK in their apps.The repository is now available under: https://repo.visa.com/mpos-releases/All requests for the old URL will be redirected to the new repository until the end of March 2023.
Improvements
- PAX (Default UI): The Swipe and Remove Card animations now support all the form factors.
- PAX: Improved the auto-reversal mechanism for double charges with failed transactions.
Bugfixes
- PAX A920 (Default UI): Disabled the front camera for the code scanner due to poor scan capabilities and ergonomics.
- PAX: The Abort Transaction button now works when the card is inserted the wrong way.
2022-10-24 - SDK 2.56.0 (iOS)
Updated Requirements
- Support for Xcode 14 requires the minimum version of iOS 11.0.
- Security update:In order to further migrate into Visa's secure environment, the Git repository that contains the Podspecs for the iOS SDK were moved from Bitbucket to the Visa GitHub account. See an example here: PayButton Integration.This change effects everyone who integrates or updates the iOS SDK in their apps.The Bitbucket account will be closed on 31 October 2022, making the old repositories unavailable.The Podspecs are now hosted under: https://github.com/visa/mpos.sdk.ios.pods.gitPossible caching issues:Updating the Podsfile to use the new repository might create caching issues. You can clean the CocoaPods cache by executing:
Removals
- Removed Couchbase and Offline Transaction support.
Bugfixes
- Fixed the issue that caused JWT to randomly fail if the session expired.
2022-09-12 - SDK 2.70.0 (Android)
Improvements
- AliPay / WeChat Pay:Disabled flashlight button where camera does not support this function.Adjusted on-screen scan instructions to include both barcode and QR code.
- PAX devices: Present card animations now support all the form factors.
Security Updates
Updated external libraries (OKHttp) with latest security fixes.
2022-08-30 - SDK 2.55.0 (iOS)
Improvements
Applied general improvements.
2022-08-22 - SDK 2.69.0 (Android)
Improvements
Applied general improvements.
2022-07-19 - SDK 2.68.0 (Android)
Bug Fixes
- Verifone P400: Fixed the issue that caused transactions to not abort when the payment card is removed while the PIN entry screen is displayed on the reader.
- MPOS: Fixed the issue that caused a high number of fatal exceptions.
2022-07-19 - SDK 2.54.0 (iOS)
Improvements
Applied general improvements.
2022-06-21 - SDK 2.67.0 (Android)
Improvements
Updated PAX POSLink Library to v1.11.0 20220426.
2022-05-17 - SDK 2.66.0 (Android)
Bugfixes
Fixed issue that caused the AID value to be missing on the receipt for transactions with a declined status on "2nd GEN AC".
2022-04-20 - SDK 2.65.0 (Android)
New Features
A new Printing API is available for custom receipt printing in PayButton integrations.
Bugfixes
Verifone terminals now display a Processing screen instead of a blank screen between the Enter PIN and Remove card screens.
2022-04-20 - SDK 2.53.0 (iOS)
Improvements
Applied general improvements.
Bugfixes
Fixed issue with iOS incorrectly setting sdkVersion=1.
2022-03-15 - SDK 2.64.0 (Android)
Improvements
If tipping fails, the flow falls back to the regular transaction flow.
Bugfixes
None.
2022-02-15 - SDK 2.63.0 (Android)
New Features
- PAX A920 now supports Traditional and Simplified Chinese languages.
Improvements
- Terminal Error screen
- Swipe Card screen
- Try another card screen
Bugfixes
- Fixed issue that caused VIPA app to crash when aborting a transaction on Verifone devices using PayServer.
- Fixed race condition issue leading to "Device is busy" (9FFF) Terminal Error on Verifone devices.
2022-01-20 - SDK 2.62.0 (Android)
Updated Requirements
- If the SDK is integrated via Kotlin, then Kotlin v1.5 or above must be used.
Improvements
- Resolved error handling issue that caused Verifone terminals to erroneously disconnect.
- Applied Dynamic Currency Conversion (DCC) compliance updates for transaction receipts.
Bugfixes
- Improved SDK error handling for ERROR_AUTOREVERSAL_ERROR, now allowing voids after a failed abort display call.
- Fixed a bug that, in some cases, logged online transactions as offline transactions.
2022-01-20 - SDK 2.52.0 (iOS)
Improvements
- Improved transaction recovery mechanism.
- The mpos.core and mpos.ui libraries can be installed via the XCFramework.
- Updated the documentation.
Bugfixes
- None.
2021-11-18 - SDK 2.61.0 (Android)
Improvements
- PAX A920: Added the line, "This receipt is a copy," on receipts that are printed a second time.
Bugfixes
- PAX A920:
- Fixed the bug that caused the transaction status to be read (RNIB mode is enabled) after the customer is prompted to remove the card, in the event of a declined transaction.
- Fixed the bug that kept users from being able to hide the PIN pad after the transaction is aborted.
2021-11-18 - SDK 2.51.0 (iOS)
Improvements
- SDK works with the latest iOS APIs.
Bugfixes
- None.
2021-10-25 - SDK 2.60.0 (Android)
Improvements
- Applied general improvements.
Bugfixes
- Applied general bugfixes.
2021-10-25 - SDK 2.50.0 (iOS)
Improvements
- General improvements applied.
Bugfixes
- General bugfixes applied.
2021-10-21 - SDK 2.59.1 (Android)
Improvements
- General improvements applied.
Bugfixes
- Applied general bugfixes.
2021-09-28 - SDK 2.59.0 (Android)
Improvement
- PAX A920: Enables users to print receipts for transactions with errors.
Bugfixes
PAX A920:
- Fixed the bug in Tipping to enable users to edit the tip amount by clicking theCancelbutton on the Confirm Tip Amount screen.
- Fixed the bug in Percentage Tipping that caused the amount to be calculated incorrectly when the currency used is the Japanese yen (JPY).
2021-09-28 - SDK 2.49.0 (iOS)
Improvements
- There are no customer-facing changes for this release.
Bugfixes
- There are no customer-facing changes for this release.
2021-08-26 - SDK 2.58.0 (Android)
Improvements
- Fixed missing tip amount on Summary screen.
- PAX A920:
- Fixed the tipping pre-populated issue when the transaction amount is 0.00.
- Fixed the issue that prevented the merchant from going back from the Tip Confirmation screen to the Edit Tip Amount screen.
- Fixed the issue that prevented the merchant from printing receipts for transactions with errors.
- Verifone e355: Fixed a fatal exception error caused by card removal while on the PIN screen for online transactions.
Bugfixes
- Fixed an issue that caused approved transactions to show as errors in cases where a failure occurred after the payment.
2021-08-26 - SDK 2.48.0 (iOS)
Updated Requirements
- Integrations must set the build property `BUILD_LIBRARY_FOR_DISTRIBUTION` totrue.
Improvements
- Fixed missing tip amount on Summary screen.
- Verifone e355: Fixed a fatal exception error caused by card removal while on the PIN screen for online transactions.
Bugfixes
- None.
2021-07-28 - SDK 2.57.0 (Android)
Improvements
- Introduced new error message: "Declined - Exceeds Authorised Amount." This message appears when the Capture amount is higher than the previously authorised amount.
- Improved messaging on the terminal screen for inconclusive transactions/failed void calls.
Bugfixes
- Verifone payment terminals: Fixed the issue that caused the Online PIN Transaction not to abort when the shopper removed the payment card while on the PIN Entry screen.
- PAX A920 payment terminal:
- Fixed the error that occurred when printing receipts.
- Fixed the issue that caused the keyboard not to display automatically on the Expiry Date screen during the MOTO workflow.
2021-07-28 - SDK 2.47.0 (iOS)
Updated Requirements
- SDK version 2.46 and higher require Xcode version 12.5 or higher.
Improvements
- Improved messaging on terminal screen for inconclusive transactions/failed void calls.
Removals
- Removed Lockbox as an external library dependency.
- Removed AFNetworking as an external library dependency.
Bugfixes
- Verifone payment terminals: Fixed the issue that caused the Online PIN Transaction not to abort when the shopper removed the payment card while on the PIN Entry screen.
- Fixed the wrong card scheme issue when performing MOTO transaction with a co-branded payment card.
2021-06-28 - SDK 2.56.0 (Android)
Improvements
- Updated the BIN ranges for UPI.
- PayButton: Disabled text field suggestions and caching.
Bugfixes
- Fixed an "inconclusive transaction" issue, which resulted in a Summary screen loop.
- PAX: Fixed an issue so that MOTO transactions cannot proceed with an empty expiry date field.
- PAX: Fixed MOTO transaction AVS issue.
- Miura: Fixed MOTO transactions handling when the PAN limit is exceeded.
2021-06-28 - SDK 2.46.0 (iOS)
Updated Requirements
- Requires Xcode 12.5 or higher.
Improvements
- Updated the BIN ranges for UPI.
Bugfixes
- Fixed an "inconclusive transaction" issue, which resulted in a Summary screen loop.
- Miura: Fixed MOTO transactions handling when the PAN limit is exceeded.
- Fixed an issue related to coroutines not being initialized on the main thread that caused a crash.
2021-06-02 - SDK 2.55.0 (Android)
Improvements
- Verifone e355 payment terminal: Improved UI of the Dynamic Currency Conversion (DCC) screen.
Bugfixes
- PAX A920 payment terminal:
- PayButton: Removed intermediate processing payment screen.
- PayButton: Fixed PIN last try message.
- Added validation to prevent empty CVV and CVS fields from being entered in MOTO transactions.
- Fixed RNIB bug introduced in SDK 2.54.
- Fixed wrong CVM being prompted when using UnionPay card.
2021-06-02 - SDK 2.45.0 (iOS)
Improvements
- None.
Bugfixes
- PayButton: Removed intermediate processing payment screens.
2021-05-04 - SDK 2.54.0 (Android)
Improvements
- New Tipping Flow available: Percentage Choice.
- Updating BroadPOS will trigger a config update to avoid any discrepancy (PAX A920).
Bugfixes
- Fixed the transaction error when card is removed prematurely during payment processing (PAX A920).
- Fixed the error that caused the app to be unresponsive (hang) during MOTO transaction (PAX A920).
- Fixed the mag-stripe fallback issue (PAX A920).
- Fixed terminal behavior when connection is lost during update process.
- Fixed VIPA updates through USB (Verifone e355).
2021-05-04 - SDK 2.44.0 (IOS)
Improvements
- None
Bugfixes
- None
2021-03-15 - SDK 2.53.0 (Android)
New Features
- Accessibility modewas added to the PAX A920 payment terminal to enable blind and visually impaired individuals to pay with ease. Merchants can enable Accessibility mode after starting a transaction by clicking the Accessibility icon in the top right corner. When enabled, the voice guide will be played to help the shopper enter their PIN and complete the transaction.Requirement for feature enablement:In order to support this feature, the firmware version must be7.1.2_V02.5.10and above.
- Mail Order / Telephone Order (MOTO)was added to the PAX A920 card reader to enable retail merchants to accept MOTO transactions.
- Tipping(gratuity) was added to the PAX A920 card reader to enable merchants in the hospitality industry to accept tipping. Four tipping options are supported:
- Tip with total amount: Enter the total amount, including the tip amount and purchase amount, then you complete the payment.
- Tip with tip amount: Enter tip amount only. The terminal will calculate the total amount, then you complete the payment.
- Tip with tip percentage: Enter tip percentage. The terminal will calculate the total amount, then you complete the payment.
- Tip with fixed percentage: Set the fixed percentage. The terminal will calculate the total amount, then you complete the payment.
Requirement for feature enablement
: In order to support the latest features, the BroadPOS version must be updated to V1.03.04_20210204
. Otherwise, error message Accessory update required
will display when attempting to use the features. To update BroadPOS P2PE, please contact Customer Support.Improvements
- Extended support for Strong Customer Authentication additional PIN requests for Mastercard contactless transactions on the PAX A920 card reader.
2021-03-15 - SDK 2.43.0 (iOS)
Improvements
- Swift Public API enhancements.
Bugfixes
- Fixed an iOS issue where the email could not be read on the "Send receipt via email" PayButton screen when dark mode was enabled on the card reader.
2021-02-01 - SDK 2.42.0 (iOS)
Improvements
- Added support for all specific schemes requirements for processing contactless transactions, which were introduced as part of the Strong Customer Authorization (SCA) requirement under PSD2. These requirements are applicable to all payment service providers in the European Economic Area.
Bugfixes
- EnabledSend receiptin case of error transaction when using the PayButton.
- Added support for integrating the SDK with Xcode 12.
2021-02-01 - SDK 2.52.0 (Android)
Improvements
- Added support for all specific schemes requirements for processing contactless transactions, introduced as part of the Strong Customer Authorization (SCA) requirement under PSD2. These requirements are applicable to all payment service providers in the European Economic Area.
Bugfixes
- Enabledsend/print receiptin case of transaction error when using the PayButton.
- Fixed the PAX A920 payment terminal issue of an error resulting when the payment card is removed shortly after the application selection stage.
- Fixed the PAX A920 payment terminal issue of the “Transaction ended up in incorrect state: AWAITING_CARD” error resulting when performing a standalone refund.
- Fixed the PAX A920 payment terminal issue of the iCCData being missing in the payment request for a standalone refund.
2020-11-16 - SDK 2.51.0 (Android)
Improvements
- Printing preformatted receipts: This SDK release includes access to new preformatted receipts format. These receipts can be printed without the need for additional formatting and can be adjusted according to your printer's character limit for each line on the receipt.
- Updated the codebase to comply with Kotlin 1.4.
Bugfixes
- Fixed the issue of a merchant-initiated Abort operation of a gift card redemption sending the POS into an unresponsive state.
2020-08-26 - SDK 2.50.0 (Android)
Minimum OS Version
5.0 (API 21)
starting with this version.
Proguard/R8
OkHttp Dependencies
Improvements & Bugfixes
- Improved the appearance of contactless lights included in the PayButton (PAX)
- Fixed additional instances where lost terminal connection would trigger repeated reconnects in the background, affecting subsequent transactions (VIPA, TCP)
- Fixed an issue where the customer was asked for signature after 3 failed PIN entry attempts (Ingenico)
- Fixed an instance where a dropped terminal connection right before the end of a transaction would prevent it from completing (VIPA, TCP)
- Fixed the issue where theCheck Transaction Statusbutton on the inconclusive screen of the PayButton is not shown
- Fixed an issue where sending a receipt via email would fail due to an encoding problem
- Fixed a crash where a transaction would fail with a NullPointerException in various situations related to localizations (PAX)
- Extended theCardDetailsobject with (optional) propertycountryCodeNumericthat represents the country code of the card issuer
Removed
- Removed an API from the SDK that would accept login email and password as an alternative to themerchantIdentifierandmerchantSecret
- Removed support for legacy BT connectivity targeting Android version 4.x
2020-08-26 - SDK 2.41.0 (iOS)
Minimum iOS Version
10.0
starting with this version.
- Improved compatibility of Ingenico artfiacts for all supported architectures
- Improved Swift compatibility and removed the embedded swift runtime in the SDK
Bugfixes
- Fixed an issue where the customer was asked for signature after 3 failed PIN entry attempts (Ingenico)
2020-07-30 SDK 2.49.0 (Android)
Bugfixes
- LRC error occurring when reconnecting after config update on P400 using USB is fixed. (Verifone)
Improvements
- Gradle projects are updated to 6.0.1.
2020-05-12 SDK 2.48.0 (Android)
Important:
Payworks Android project migrates to Jetpack library starting from version 2.48.0
.
- New Feature: FEXCO DCCis added to the PayButton for PAX A920 which displays country flags associated with the currency. This feature depends on the Acquirer and DCC provider. (PAX)
Improvements
- New Feature: FEXCO DCCis added to the PayButton for PAX A920 which displays country flags associated with the currency. This feature depends on the Acquirer and DCC provider. (PAX)
- NewSKIP_SUMMARY_SCREENflag is added in PayButton. When enabled, the transaction summary page will be skipped, and it's up to the integrator to create the UI for notification and printing.
- Improved handling of service code checks (AmexServiceCode) for Amex magstripe transactions.
- Verifone P400 card reader can run new VIPA version:VIPA 6.6.1.12.
2020-05-12 SDK 2.40.0 (iOS)
Bugfixes
- Fixed UIWebView warning when uploading to app store. Now using WKWebView.
- Improved handling of service code checks (AmexServiceCode) for Amex magstripe transactions.
- P400 is able to run new VIPA version:VIPA 6.6.1.12(Verifone)
2020-04-16 SDK 2.47.4 (Android)
Bugfixes
- Fixed issue with newer BroadPOS versions declining transactions after successful online authorization (PAX).
2020-03-18 SDK 2.39.1 (iOS)
Important:
The default dependencies for the payworks
Podspec has changed. From now on, only Verifone and Miura are pulled in by default. If you are using a different terminal, make sure to explicitly mention the subspec from the Podspec in your Podfile.
Improvements
- Updated framework metadata to no longer requirearm64architecture.
Bugfixes
- Fixed issue of the collected digital signature being corrupted (solid black image).
2020-03-03 SDK 2.47.3 (Android)
Bugfixes
- Fixed issue of a background terminal reconnect mechanism affecting subsequent transactions.
- Fixed issue of transaction being stuck when terminal loses connection during transaction (Verifone).
2020-02-21 SDK 2.47.2 (Android)
Improvements
- BroadPOS P2PE minimum version is updated toV1.00.09_20191202. Make sure to contact Payworks Support to update BroadPOS P2PE when using Android SDK 2.47.2.
- Payworks Android project will migrate to Jetpack library starting from version2.48.0.
- Improved key press handling to reduce the chance of error 9FFF terminal error (Verifone).
- Added support for Cayman Islands Dollar
Bugfixes
- Fixed the incorrect message on the terminal in relation to VpTT switch interface (PAX).
- Fixed the issue where the prompt for consumer choice for payment options is shown after already being selected (PAX).
2020-01-24 SDK 2.47.1 (Android)
Bugfixes
- Fixed the magstripe issue on PAX A920.
2019-12-13 SDK 2.47.0 (Android)
Improvements
- PAX accessory official release.You need to use BroadPOS P2PE versionV1.00.07_20191029or above. Otherwise, you will see error messageAccessory update required. To update BroadPOS P2PE, please contact Customer Support.
- Improved informing of the merchant and shopper when for a transaction a signature is required customer verification method.
- Additional information for shoppers on the VIPA terminals during the PIN entry process.
Bugfixes
- Problem with the terminal re-connection mechanism, that in some cases when connection is lost and can lead to an error on the terminal, is fixed in this release.
- Issue with text displaying on the merchant payment application that can cause text truncation.
2020-01-02 SDK 2.39.0 (iOS)
Improvements
- New message “Declined - Failed Authorization” is added. This message is providing visibility to the merchant when a transaction has been declined because the acquirer or issuer is not reachable for online authorization
Bug Fixes
2020-01-02 SDK 2.38.0 (iOS)
Improvements
- Improved Token Refunds transactions status handling and recovery mechanism for Inconclusive state, which helps to significantly reduce potential transaction errors with this type of transactions.
- PayButton improvements for Dark Mode support, released in iOS13.
- Improved DCC screen UI on Verifone P400 terminals.
Bug Fixes
- Fixed the issue withingenico.commonlibrary that cause uploading to Apple Store to fail.
2019-11-01 SDK 2.37.0 (iOS)
Podfile source location is changed from ‘https://bitbucket.org/mpymnt/io.mpymnt.repo.pods.git’ to ‘https://bitbucket.org/payworks/io.payworks.repo.pods.git’!
Improvements
- Improved Token Refunds transactions status handling on iOS and recovery mechanism for Inconclusive state, which helps to significantly reduce potential transaction errors with this type of transactions.
Bug fixes
- The issue in the PayButton where some labels could not be seen when dark mode was enabled is fixed.
- The issue causing xCode to fail due to bitcode inconsistency is resolved in this release.
2019-09-27 SDK 2.46.0 (Android)
Improvements
- Auto-reversal. In rare cases (e.g. xStore timeout, PayServer disconnection, etc) when the interaction between PayServer and XStore results in a transaction that is believed to be authorized on the backend but is believed to be not authorized on XStore, the auto-reversal is triggered and requests a void from the backend if the transaction did actually end up authorized. The backend will ignore the void if the transaction was not authorized.
- Improved Token Refunds transactions status handling and recovery mechanism for Inconclusive state, which helps to significantly reduce potential transaction errors with this type of transactions.
- Improvement in the customer verification process for standalone refunds with the CUP scheme is added.
2019-07-26 SDK 2.44.2 (Android)
Improvements
- Improvements in the ICC transaction workflow related to the card removal when the cardholder is prompted to remove the card from the terminal. Now transaction flow continues after 5 seconds when the cardholder does not remove the card from the terminal when prompted, in order to continue transaction process and prevent timeout issues with the POS system.
Bug fix
- The bug on the VIPA terminals with application selection that results in aborted transaction when correct configuration is not set has been fixed in this release.
2019-07-01 SDK 2.35.0 (iOS)
Bug fixes
- The bug where the PayButton would crash due to an auto-rotation setting when prompting for the signature is fixed in this release.
- Fixed an issue with magstripe fallbacks being identified correctly.
2019-07-01 SDK 2.44.1 (Android)
Bug fix
- The issue where a transaction is failing to start on a VIPA terminal is fixed in this release.
2019-06-21 SDK 2.44.0 (Android)
Bug fixes
- Terminal interaction for card not present transactions on Miura terminal bug fix is included in this release.
- Issues with detection of the card removal during transactions on VIPA terminals are fixed in this release.
Improvements
- Updates of the card schemes BIN ranges are included in this release.
2019-05-29 SDK 2.34.0 (iOS)
Bug fixes
- Terminal interaction for card not present transactions on Miura terminal bug fix is included in this release.
Improvements
- Updates on the terminal behavior for switching from contactless to either 'Insert or swipe card' and 'Insert card'.
- Removed support for legacy accessories.
- Updates of the currency codes, country and currency list.
- Additional optimizations and compression of the captured signatures in the SDK.
- Optimization of the layout on the present card screen for VIPA terminals (VIPA 6.6+).
- The SDK now uses AFNetworking 3.0+. The Custom MPAFNetworking dependency was removed.
2019-05-17 SDK 2.43.1 (Android)
Bug fixes
- Bug fix for the keys injection and terminal update process on VIPA terminals with USB connection is included in this release.
Improvements
- Updates on the terminal behavior for switching from contactless to either 'Insert or swipe card' and 'Insert card'.
2019-05-03 SDK 2.43.0 (Android)
Improvements
- Update of the country and currency list.
- Improvements in the update process of VIPA terminals via USB connection.
- Increase of the timeout (from 60 to 120 seconds) on the Present Card screen on VIPA terminals.
2019-03-15 SDK 2.42.2 (Android)
Improvements
- SDK support for Portuguese language is added in this SDK release.
- Additions in the German language localizations.
Bug Fixes
- Bug fix in the Miura terminal prompts related to accessories that are not whitelisted is included in this release.
2019-02-27 SDK 2.42.0 (Android)
Improvements
Improvements in this release include:
- For approved payments transactions, information when on-receipt signature is required from the shopper now is added to the SDK.
- Additional optimizations and compression of the captured signatures in the SDK.
Bug Fixes
- Handling of exceptions in the updating process of the Miura terminal.
- Bugs in the VIPA localizations in Spanish and Italian language are fixed in this release.
2019-02-07 SDK 2.41.1 (Android)
Improvements
Improvements in this release include:
- Inbound/outbound accessory messages during processing transactions are now available in the SDK logs.
- SDK support for Spanish language is added in this release.
Bug Fixes
Bug fix for the maximum acceptable tip amount check in the 'Total Amount' workflow for On-Reader Tipping.
2019-01-17 SDK 2.41.0 (Android)
Improvements
Improvements in this release include:
- Improvement of the On-Reader Tipping by adding the option to define a maximum tipping amount for both 'Tip Amount' and 'Total Amount'.
- Accessory updates are now also triggered by transactions with barcode scanner and gift card transactions.
Bug Fixes
Bug fixes on displayed messages on the terminal when connection to the accessory fails during the Card Present Process.
2019-01-07 SDK 2.40.0 (Android)
Improvements
Improvements in this release include:
- Improved status codes for the alternative payment methods.
- Improvements on the error messaging for not whitelisted accessories.
Bug Fixes
Bug fixes in this release are including fixing of the firmware update check for VIPA terminals, handling of aborts for CP transaction processing, terminal messages for declined alternative payment wallets transactions.
2018-11-28 SDK 2.39.0 (Android)
Improvements
Improvements in this release include:
- Improved monitoring of transaction process.
- Improvements in the transaction execution processing.
2018-11-28- SDK 2.33.0 (iOS)
Improvements
Improvements in this release include:
- Integration improvements in the API documentation on the Developer Portal.
- Recovery mechanism for INCONCLUSIVE state that helps for signification reduction of errors with unstable network connection.
Bug fixes
Bug fixes in this release are related to fixes on the PayButton sample API snippets, status messages during offline transaction processing.
2018-10-04 SDK 2.38.0 (Android)
Improvements
Improvements in this release include:
- Recovery mechanism for INCONCLUSIVE state that helps for signification reduction of errors with unstable network connection.
- Improvements on the timeouts on terminals screens.
Bug Fixes
Bug fixes related to NFC transactions, CVM fallback handling on VIPA terminals and TLS 1.2 compatibility for the firmware downloads are included in this release.
2018-08-30- SDK 2.32.0 (iOS)
Bug fixes
Bug fixes related to NFC transactions and sample integration of the PayButton in the Developer Portal are included in this release.
Removed dependency on legacy terminals
Starting with this iOS SDK release, 2.32.0, referencing to Verifone e105 and e315/335 comlinks and accessories is removed.
2018-08-28- SDK 2.37.0 (Android)
Bug fixes
Various bug fixes related to aborting transactions via terminal and population of MaskedAccountNumber for alternative payment methods are included in this release.
2018-06-29- SDK 2.36.0 (Android)
Bug fixes
Various bug fixes and reliability related improvements are included in this release.
2018-03-21- SDK 2.31.1 (iOS)
Improved Compatibility with Swift and Swift Frameworks
We made several changes to the build process and the CocoaPod Podspec to increase compatibility with Swift-based apps and allow you to use SDK and PayButton from Swift-based Frameworks. If you have an issues building your app after upgrading to 2.31.1, please contact our support.
Local time offset for transactions
Local mobile timezone is now sent to Payworks platform with every payment interaction request.
UI improvements on the PayButton signature panel
UI improvements are added on the PayButton signature panel in this release to avoid accidental aborting transactions.
Bug fixes
Various bug fixes and reliability related improvements (better error handling, transaction aborting, improvements of US magstripe workflow) are included in this release.
2018-03-21 - SDK 2.31.0 (Android)
Local time offset for transactions
Local mobile timezone is now sent to Payworks platform with every payment interaction request.
Bug Fixes
Various bug fixes and reliability related improvements (better error handling, transaction aborting, improvements of US magstripe workflow) are included in this release.
2017-12-18 - SDK 2.29.0 (Android)
Translations Improvements
Improvement and bug fixes of the Swedish language translations are included in this release.
Support for MOTO Transactions via Manual Key Entry
A support for Mail Order/Telephone Order transactions has been added as part of this release. MOTO transaction is a type of card not presented transaction in which services are paid for and delivered via telephone or mail. This allows you to processtransactions without the cardholder and their card being present in your place of business.
2017-12-08 - SDK 2.28.0 (Android)
Installation
From this release onwards, you no longer need to include all the external dependencies that the Payworks SDK requires. They get pulled in transitively, making your
build.gradle
file cleaner and easier to maintain! You also no longer have to include @aar
for all the Android dependencies.For Miura, the dependencies are now the following:
implementation 'io.payworks:mpos.java.accessories.miura:2.28.0' implementation 'io.payworks:mpos.android.comlinks.bluetooth:2.28.0' implementation 'io.payworks:mpos.java.comlinks.tcp:2.28.0'
For Verifone, the dependencies are now the following:
implementation 'io.payworks:mpos.java.accessories.vipa:2.28.0' implementation 'io.payworks:mpos.java.comlinks.tcp:2.28.0'
We have updated the installation instructions for the PayButton, Custom integration.
2017-12-01 - SDK 2.28.0(iOS)
Feature: Support for CUP Common Debit
We added support for CUP Common Debit transactions in the US.
2017-11-07 - SDK 2.27.0 (iOS) & SDK 2.26.1 (Android)
Verifone e355 Production-Ready
After polishing the user experience and fixing discovered bugs during QA, we are now happy to announce that Verifone e355 integration is now production ready! The Verifone e355 is a compact, flexible mobile payment device designed to be deployed in demanding retail environments. The e355 is supported on both Android and iOS and is available through WiFi and USB connectivity.
New Reader: Verifone VX820
We are very happy to announce that the Verifone VX820 is now available for integration and pilot usage on Android! The VX820 Android integration is fully production-ready and already in pilot with selected merchants. For the VX820 iOS integration we are still polishing the user experience and will provide a production-ready release over the next weeks.
Added Languages Support
Support for additional 6 new languages is added to the SDK and PayButton: Danish, Czech, Norwegian, Hungarian, Latvian and Lithuanian.
Bugfixes & Improvements
Various bug fixes and reliability related improvements (more stable connections, better error handling) are included in this release.
2017-08-23 - SDK 2.24.1 (iOS) & SDK 2.25.1 (Android)
Bugfix: Portuguese Translations in PayButton
We fixed an issue that prevented the PayButton from showing Portuguese translations.
Bugfix: Error During Update Check
We fixed an issue that caused a terminal error when the card was removed during an update check.
The Android and Java SDK now has additional dependencies to Couchbase. Please make sure you update your Gradle or Maven configuration accordingly. More information in the integration document.
2017-08-08 - SDK 2.24.0 (iOS) & SDK 2.24.2 (Android)
New Reader: Verifone e355
We are very happy to announce that the Verifone e355 is now available for integration and production usage! The e355 is a compact and flexible mobile payment device designed to be deployed in demanding retail environments.
To get started, have a look at the updated PayButton and Custom Integration documentation. We also put together WiFi Setup Instructions, a Merchant User Guide and FAQs.
Right now, you are able to connect to the e355 via WiFi and if you have an already existing integration, using the e355 is especially easy: You just need to change your
AccessoryParameters
accordingly.Note: The e355 Android integration is fully production-ready and already in pilot with selected merchants. For the e355 iOS integration we are still polishing the user experience and will provide a production-ready release over the next weeks.
Feature: Standalone Refunds (iOS & Android)
Standalone Refunds allow your merchants to refund a previous transaction by asking the shopper to present the card again. This is meant only for setups, where it is impossible to retrieve the
transactionIdentifier
of the previous charge transaction.To learn more, have a look at the updated documentation and security requirements.
Talk to your account manager regarding suitability and availability of Standalone Refunds for your merchants.
Bugfixes & Improvements
Various bugfixes and improvements are included in this release.
2017-05-26 - SDK 2.22.0(iOS & Android)
Feature: Tip Adjust (US Only)
Tip Adjust allows you to offer your US-based restaurants their traditional, receipt-based tipping workflow for both magstripe and EMV transactions!
To learn more, have a look at the new PayButton and Custom Integration Tip Adjust documentation.
Talk to your account manager regarding availability of Tip Adjust for your merchants.
Feature: Total Amount Tipping Workflow
In addition to asking the shopper to enter the tip amount right on the card reader, the On-Reader Tipping feature now also allows you to ask the shopper for the total amount, including a potential tip!
To learn more, have a look at the updated PayButton and Custom Integration documentation.
Feature: Metadata Support
You can now attach metadata for each transaction. The metadata key/value pairs will be returned as part of the transaction object.
2017-04-28 - SDK 2.21.0(Android)
Feature: Metadata Support
You can now attach metadata for each transaction. The metadata key/value pairs will be returned as part of the transaction object.
2017-04-17 - SDK 2.20.1(iOS)
Bugfix: Stale Transaction
We fixed the transaction process blocking indefinitely under certain circumstances when a contactless transaction used signature verification.
2017-04-07 - SDK 2.20.0(iOS) & SDK 2.20.1 (Android)
Feature: Total Amount Tipping Workflow (Android Only)
In addition to asking the shopper to enter the tip amount right on the card reader, the On-Reader Tipping feature now also allows you to ask the shopper for the total amount, including a potential tip!
To learn more, have a look at the updated PayButton and Custom Integration documentation.
Improvement: PayButton Error Handling
Should a transaction fail due to a network error, the PayButton now shows a "Check Status" screen to the merchant, allowing them to verify the final transaction status.
This improvement is automatically available after upgrading.
Bugfix: NullPointerException Thrown During Abort
We fixed a NullPointerException that occurred when an abort was triggered before the connection to the reader was established.
>2017-03-23 - SDK 2.19.0(iOS and Android)
Feature: Quick Chip (US Only)
Quick Chip drastically improves the payment experience for US-based shoppers and merchants: With Quick Chip shoppers are able to dip and remove their EMV card from the card reader within 2 seconds or less, making it as fast as a swipe.
Talk to your account manager regarding availability of Quick Chip for your merchants.
Feature: Standalone Refunds (Android Only)
Standalone Refunds allow your merchants to refund a previous transaction by asking the shopper to present the card again. This is meant only for setups, where it is impossible to retrieve the
transactionIdentifier
of the previous charge transaction.To learn more, have a look at the updated documentation and security requirements.
Talk to your account manager regarding suitability and availability of Standalone Refunds for your merchants.
2017-03-08 - SDK 2.18.1 (Android)
Improvement: Serial Mode Disconnect Detection
A physical disconnect of a card reader connected via serial mode is now recognized correctly. In addition we added timeouts for certain kinds of messages to detect stale serial mode connections.
2017-01-26 - SDK 2.18.0(iOS and Android)
Feature: Connection Keep-Alive (iOS and Android)
For setups where the card reader is connected to a power source most of the time, the new Connection Keep-Alive feature allows your merchants to take card payments even faster.
Set
setKeepAlive:YES
on your MPAccessoryParameters
and the SDK will keep the connection to the card reader open after the first transaction. This will greatly reduce the overall transaction time for all subsequent transactions.Have a look at the documentation to learn more about this feature and understand the battery life implications.
Feature: More Control with AccessoryModule
With the addition of the
AccessoryModule
you now have more granular control on when you connect and disconnect from an accessory.This for example allows you to explicitly run software updates on a reader independent from a payment transaction. More information can be found on the AccessoryModule page.
Feature: Progress Bar on Miura
The Miura readers now show a progress bar when installing a software update, providing the merchant with status information about the expected completion of the install.
Bugfix: Malformed Receipt Data
We fixed a rare occurrence of malformed receipt data, where the receipt data did contain null value items.
2017-01-12 - SDK 2.17 (iOS and Android)
Improvement: Signature Screen Wording
We updated the wording on the signature screen to make it more intuitive for the shopper. The most visible change is replacing the 'X' button to clear the signature with a 'Clear' button.
Improvement: Adjusted HTTP Timeouts
We lowered some HTTP timeouts in order to fail faster in certain situations. The changes should not affect normal processing and only kick in if operations are running long.
Make sure to handle the
TransactionStatus.INCONCLUSIVE
that indicates an uncertain outcome of a transaction execution. Details can be found here.Bugfix: Delayed Transaction Abort
We fixed a bug where aborting a transaction during an ongoing accessory connection would get delayed.
Bugfix: Receipt Data Missing
We fixed a bug where the receipt data was not present when running certain NFC-based transactions.
2016-12-01 - SDK 2.16.0 (iOS and Android)
Feature: gh-link Scheme
We added support for gh-link, the PIN-based local debit scheme of Ghana.
Bugfix: Memory Leak with Miura (iOS only)
The iOS SDK internally leaked memory when using the Miura reader, which might have resulted in an OOM crash when used extensively. This has been resolved as part of the release.
2016-11-09 - SDK 2.15.0 (iOS and Android)
Feature: Increased Transaction Speed
We continuously push ourselves to make card payments faster and with 2.15 we reached another important milestone: The payload for each call between SDK and Gateway has been greatly reduced and for contactless transactions we were even able to save a full roundtrip between the SDK and Gateway.
Upgrade to 2.15 and then talk to your account manager to save your merchants valuable seconds on each transaction.
Important:
Along with this feature, we have also added a new TransactionStatus.INCONCLUSIVE
for more clarity on errored transactions. Details on what this indicates can be found here.Feature: Connection Keep-Alive (Android Only)
For setups where the card reader is connected to a power source most of the time, the new Connection Keep-Alive feature allows your merchants to take card payments even faster.
Set
keepAlive(true)
on your AccessoryParameters
and the SDK will keep the connection to the card reader open after the first transaction. This will greatly reduce the overall transaction time for all subsequent transactions.Have a look at the documentation to learn more about this feature and understand the battery life implications.
Improvement: Miura Connectivity
We implemented a number of improvements to speed up the initial connection to the Miura devices: Especially when waking up the WiFi Miura M010 from standby, the connection will be established much quicker now.
2016-10-01 - SDK 2.14.0(iOS and Android)
Hotfix: Required Update for Miura MPI V1-41
In Miura MPI V1-41 changed the way magstripe track 2 data is masked.
In order to be able to successfully process transactions with Miura MPI V1-41 and later, you are required to update your SDK/PayButton version to 2.14 or later.
2016-09-22 - SDK 2.13.0(iOS and Android)
Improvement: Redesigned Summary Screen
The Summary Screen received a major redesign overhaul, making the transaction outcome (approved or declined) and type (sale, pre-authorization or refund) much more obvious to the merchant.
For declined transactions a detailed decline reason such as
Wrong PIN
or Insufficient Funds
is now shown. The merchant can better understand what needs to be done to get an approved transaction, e.g. by asking the shopper to use another card.Feature: Loyalty & Bonus Cards (Android Only)
In addition to accepting payments cards such as Visa and MasterCard, we now make it very easy to also read magstripe-based Loyalty or Bonus Cards!
Localization: Improved Swedish Translations and Bugfix
We improved the quality of our Swedish translations and fixed a bug where the Miura reader would always use the English locale.
2016-08-24 - SDK 2.11.1(iOS)
Bugfix: GetNumber on InteractionComponent
The previous release returned a NSNumber as a result, which removed leading zeroes from the input. This release changed the returned data to NSString.
2016-08-16 - SDK 2.11.0(iOS and Android)
Feature: Streamlined Reader Setup
Managing your merchants' readers is now much easier with automatic reader setup: Readers can be automatically assigned to the merchant upon first usage, allowing you to streamline your reader distribution processes.
This feature is optional, if you would like to make use of it, just talk to your account manager.
Feature: Enhanced On-Device Tipping
On-Device Tipping now shows the original amount also as part of the "Enter TIP Amount" screen.
Note: Miura MPI V1-39 (or higher) is required for showing the original amount. Get in touch with your account manager to enable the latest MPI version.
Bugfix: Bluetooth with Miura in Serial Mode (Android)
It is now possible to connect to and execute transactions on a Miura reader in serial mode using Bluetooth on Android.
2016-06-30 - SDK 2.9.0 (iOS and Android)
Feature: Swedish translations
Hej! The SDK and the PayButton are now translated to Swedish.
Deprecation: Removed Deprecated APIs
The previously deprecated APIs have now been removed. This includes the methods which use the
AccessoryOptions
, TransactionTemplate
and TransactionTemplateFactory
which have been superseded by AccessoryParameters
and TransactionParameters
.New dependency
The SDK and PayButton have a new dependency on Android. We've also updated OkHttp to version 2.7.4 which brings some bug fixes.
Include this in your Android dependencies :
compile 'com.squareup.okhttp:okhttp-ws:2.7.4'
2016-06-02 - SDK 2.8.1 (iOS and Android)
New Card Reader: WiFi Miura M010
We now feature full live-ready support for the exciting new WiFi Miura M010!
Feature: On-Reader Tipping
On-Reader Tipping makes it really simple for your merchants to collect tips from their guests!
Have a look at the new Ask for a Tip on the Card Reader recipe to learn more!
Feature: Pre-Authorizations
Pre-Authorizations make it possible to reserve a guaranteed amount on the shopper's card and either Capture or Refund it later on. This allows businesses such as hotels and rental companies to take deposits or up-front payments from their shoppers.
Improvement: Reworked Card Reader Prompts
We made the wording of the card reader prompts that are displayed to the shopper more clear.
Improvement: Revamped PayButton Summary Screen
The PayButton Summary Screen has been redesigned to fully support display of partially refunded and partially captured transactions.
2016-03-10 - SDK 2.7.1(iOS)
Improvement: More Reliable Update Workflow
A recent version of iOS 9 introduced a changed behavior in ExternalAccessory handling that would sporadically fail updated workflows.
Bugfix: Online PIN on Verifone e105
When working with the Verifone e105 there was a chance that the SDK would crash under special circumstances.
2016-02-29 - SDK 2.7.0 (iOS and Android)
Feature: New Remote Endpoints with Known Address Range
When you are running behind a restrictive firewall setup, you are now able to configure the SDK to use remote endpoints in a well known range.
Feature: Additional Schemes Support
In preparation to support new schemes in the future, we added references and resources for JCB, UnionPay and Diners/Discover.
Fixes/Additions
Improved handling of magstripe fallbacks, added additional error code mappings.
2016-02-09 - SDK 2.6.1 (iOS)
Bugfix: SDK crashing on application selection with Verifone e105
We resolved an issue, where an application selection triggered via the Verifone e105 would crash the SDK.
2016-02-02 - SDK 2.6.0 (iOS and Android)
Feature: Polish Translation
Dzień dobry! The SDK and the PayButton are now translated to Polish.
Feature: Transaction and Receipts Querying API
This release introduces a
TransactionModule
available on the TransactionProvider
. This module provides a better API for the integrator to query previous transactions (based on the transaction identifier or filtering) and fetch receipts without needing to call multiple methods.Deprecation: Old Transaction and Receipt Querying API
This release deprecates the
TransactionProvider
and Provider
methods related to querying transactions and fetching and sending receipts.The receipts are now embedded on the
Transaction
object itself after finishing a transaction or looking it up. Querying and sending the receipts is possible from the new TransactionModule
.Dependencies (Android)
The Verifone E105 on Android uses a different dependency. Please make sure to update it as described in the integration page. If you are using the Verifone E105 please note that you need to upgrade the Android minSdkVersion to 16.
Bugfixes (Android)
The SDK on Android received some enhancements and bugfixes related to transaction processing.
2015-11-30 - SDK 2.5.0 (iOS and Android)
Feature: Stripe Connect Support
We now also fully support Stripe Connect from the SDK, allowing you to charge an Application Fee via the new
applicationFee
parameter.Further, you can now specify the
subject
, statementDecriptor
and metadata
parameters on the new TransactionParameters
and they will be forwarded to Stripe.Have a look at our new Stripe Recipe to learn more about using Stripe.
Improvement: Faster Transaction Processing
For users of the PayButton and the TransactionProvider integration, we increased the speed of the transaction processing at various places. This includes detecting an already inserted card on the Miura card reader.
Deprecation: Streamlined Accessory and Transaction Handling
This release deprecates the
AccessoryOptions
and TransactionTemplate
and introduces the AccessoryParameters
and TransactionParameters
as a replacement. They are easier to use and prepare you for upcoming features.Even though we will keep the deprecated objects and methods for the next releases, please make sure to update soon.
Bugfixes (Android)
The PayButton on Android received some bugfixes and enhancements.
Dependencies (Android)
On Android we replaced some of our external dependencies. Please make sure to follow the install guide and add
OkHttp
and Bolts
to your list of dependencies.Known Issues
On Android 6, connecting to the Verifone e105 fails with an internal Verifone error.
2015-11-03 - SDK 2.4.7(iOS)
Feature: Finnish translation
The SDK is now translated to Finnish.
Feature: Speed Improvements
The speed of transactions was improved by reducing the payloads.
Feature: Nullable/Nonnull Annotations
The public API of the SDK is now fully annotated to support static compiler checking for nullable/nonnull variables and parameters.
2015-11-02 - SDK 2.4.5(Android)
Feature: Finnish translation
The SDK is now translated to Finnish.
Feature: Speed Improvements
The speed of transactions was improved by reducing the payloads.
Bugfix: Bluetooth Connection Issues
Fixed bluetooth connection issues for a range of devices (e.g. Vodacom Smart 6, Alcatel One Touch Tablet).
2015-10-06 - SDK 2.4.6(iOS)
Bugfix: Compatibility with Xcode 7/iOS 9
It is now possible again to submit apps to the App Store when using Xcode 7 and iOS 9 .
Bugfix: Refund Receipts for Refunded Transactions
When sending out a receipt for a refunded
CHARGE
transaction, the receipt is now sent for the related REFUND
transaction.2015-09-11 - SDK 2.4.4(iOS)
Feature: Refund Transactions now accessible from Original Transaction
It is now possible to access the refunds directly from the original transaction via
transaction.refundDetails.refundTransactions
.Bugfix: Various bugfixes for the Verifone e105
We fixed various bugs that affected the Verifone e105 devices.
2015-09-03 - SDK 2.4.4(Android)
Bugfix: Failed Processing Due To Whitelist Caching
We fixed a whitelist caching issue, that caused the SDK to incorrectly report a failure on the first transaction after an update (it only worked on the second attempt).
Bugfix: Incorrect PIN Entry Timeout Status
Transactions now correctly receive the
ABORTED
status when a PIN entry timeout occurs on the Verifone e105 during a magstripe Online PIN transaction (previously they received a status of ERROR
).Bugfix: Various PayButton Glitches
We fixed "random" NullPointerExceptions when launching the PayButton and fixed an issue which caused the PayButton to crash when closing the Summary Screen before the content is fully loaded.
Further, the input field for the email receipt is now visible on small screen sizes as well.
2015-08-15 - SDK 2.4.2(iOS)
Bugfix: Integrated AFNetworking
Inlined AFNetworking to be compatible with various frameworks, e.g. RestKit
Bugfix: Online Pin Magstripe
Fixed issue where online Pin failed for magstripe transactions when swiping while waiting for NFC
2015-08-13 - SDK 2.4.3(Android)
Bugfix: Crash during Magstripe Transactions with Online PIN CVM
We fixed a bug which caused the SDK to crash when online PIN was needed for magstripe transactions.
Bugfix: Increased DetectCardRemoval Timeout for Verifone e105
We increased the DetectCardRemoval timeout to 1s for the Verifone e105 to possibly work around execution errors that are triggered with a 0ms timeout.
2015-07-30 - SDK 2.4.2(Android)
Bugfix: Magstripe Transactions
We resolved an issue, where accepting Magstripe-only cards did not work when contactless was enabled.
2015-07-29 - SDK 2.4.1 (iOS and Android)
Improvement: Streamlined Contactless Acceptance
Your merchants can now accept contactless cards without having to explicitly enable the contactless interface. Instead, the "Present Card" prompt is now immediately shown on the Miura M010!
Improvement: Summary Screen Callback
On iOS the Summary Screen now features a
completed:
block. On Android, you can now specify MposUi.REQUEST_CODE_SHOW_SUMMARY
as the request code when showing the Summary Screen via startActivityForResult
.This makes it very easy for you to be notified when the Summary Screen is closed and allows you to update your own user interface accordingly.
Improvement: Sewoo Printer Connection Handling
We have improved the connection handling to the Sewoo printer.
Bugfixes
Various reported issues have been fixed, including the Android SDK incorrectly reporting "Accessory is busy" and remote updates failing with the Verifone e105 on Android.
Upgrade instructions from iOS 2.4.0
We made the naming of several constants more concise by changing the prefix from
MPUMposUi
to MPU
.Affected by this change are amongst others:
MPUTransactionResult
, MPUTransactionResultApproved
, MPUPrintReceiptResult
and MPUPrintReceiptResultSuccessful
. Please update your code to reflect these changes.2015-06-29 - SDK 2.4.0 (iOS and Android)
Feature: Printed Receipts
We now make it very easy to offer printed receipts to the shoppers: Right after a transaction or through the new Summary Screen, the merchant can easily request a printed receipt.
The first printer we support is the Sewoo LK-P21, a compact and very affordable portable printer. If you are interested, just talk to your account manager about pricing and delivery.
Feature: Summary Screen
The new Summary Screen allows you to show a ready-made user interface for a transaction, where the merchant can refund the transaction and email or print another receipt.
Learn how to integrate the Summary Screen here.
Feature: Email and Print Receipts from the SDK
You can now also use ready-made email and printed receipts when using the SDK.
Read all about Email and Printed Receipts.
Improvement: Query Receipt Data from the SDK
We have improved the querying of Receipt Data from the SDK and now return it in all our supported languages. Further, the receipt data now also includes merchant information, such as name and address.
Read all about the new API here.
Upgrade instructions from iOS 2.3.X
- We have added thesummaryFeatures, which allow you to configure the PayButton. See the updated documentation here. Please update your code to reflect these changes.
Upgrade instructions from Android 2.3.X
- We have added thesetSummaryFeaturesEnum, that allows you to configure the PayButton. See the updated documentation here. Please update your code to reflect these changes.
- Includingcompile 'com.verifone:e105:1.0:@jar'in thebuild.gradleis not longer required!
2015-06-11 - SDK 2.3.0 (iOS and Android)
New Product: PayButton
PayButton is the easiest way for developers to integrate a card reader into their iOS and Android apps. After a thorough beta phase, it is now ready for prime time!
Built on top of our powerful SDK, the PayButton provides a ready-made user interface that guides the merchant through the whole payment process, including electronic signature capture and sending of ready-made email receipts to the shopper!
Developers can integrate the PayButton within minutes and with this single integration have access to all our leading acquiring partners and reader manufacturers.
The PayButton user interface and ready-made email receipts are of course fully localized and available in English, German, French, Italian, Dutch, Portuguese and Spanish.
Feature: Contactless Payments with Visa and MasterCard
SDK 2.3 is fully certified for Visa payWave and MasterCard PayPass and works with all contactless cards and mobile payment services like Apple Pay and Android Pay!
Integrators who use ConCardis can immediately add contactless payments to their product. Other acquirers are soon to follow, please talk to your account manager for details!
Feature: American Express
SDK 2.3 also is fully certified for American Express, a frequently used card scheme in the taxi, hospitality and high-end retail industries!
Integrators can easily enable American Express acceptance in addition the other schemes already provided by their acquirers. Get in touch with your account manager to learn more!
Improvement: Connection Handling
When connecting to the card reader, the merchant is now prompted to turn on the card reader and wait until the reader is on. Transactions can now be aborted during the connecting phase. For Android, the card reader is prioritized over other Bluetooth devices, leading to shorter connect times.
Improvement: Status Texts
For declined and failed transactions, we now show more detailed status information. This way, the merchant will know, whether the card has exceeded its limit, was stolen or whether the shopper has just entered the wrong PIN.
Improvement: Performance
We reduced the number of requests to our backend during transaction processing and have increased caching to improve the performance.
Upgrade instructions from iOS 2.3.0-BETA05 and below
- TheMPUPaymentControllerAPI has been renamed toMPUMposUiand was changed slightly. See the updated API here. Please update your code to reflect these changes.
- TheMPPaymentProviderhas been renamed toMPTransactionProvider. All related methods have been renamed fromMPPayment...toMPTransaction.... Please update your code to reflect these changes.
Upgrade instructions from Android 2.3.0-BETA08 and below
- The (previously)PaymentControllerAPI has slightly changed. See the updated API here. Please update your code to reflect these changes.
- ThePaymentProviderhas been renamed toTransactionProvider. All related methods have been renamed fromPayment...toTransaction.... Please update your code to reflect these changes.
2015-02-26 - SDK 2.2.8(iOS)
ARM64 Support for Verifone readers
Apps using the iOS SDK for the Verifone readers can now be built with arm64.
2015-02-12 - SDK 2.2.4(Android)
Bugfix: Firmware Update
Fixed a bug that caused the SDK to hang in rare cases during a firmware update.
2015-02-11 -Platform
Feature: Localized Receipt API
We have added timezone support and localized formatting for date, time and currency to the Receipt API. Learn how to use it here.
2015-02-06 - SDK 2.2.3(Android)
Feature: M006, M007 and M010 in one solution
You can now offer the Miura M006, M007 and M010 within the same app.
Feature: Signature on Paper Receipts
It is now possible to indicate to the SDK, that the shopper's signature will be captured on the merchant paper receipt.
2015-01-28 - SDK 2.2.7(iOS)
Feature: M006, M007, and M010 in one solution
You can now offer the Miura M006, M007 and M010 within the same app.
Feature: Signature on Paper Receipts
It is now possible to indicate to the SDK, that the shopper's signature will be captured on the merchant paper receipt.
Migration Instructions
Please be aware that the
ended
callback of the SDK is now called completed
. We did this to align it with the Android SDK and to better reflect its semantics.Bugfix: Status Texts
The status texts in the
completed
callback now indicate the correct transaction outcome.Bugfix: Disconnecting the Verifone e105
We fixed a bug where the SDK would end up in an infinite loop when the Verifone e105 is disconnected after entering a PIN.
Bugfix: Disable Sleep Timer
The sleep timer is now disabled when a transaction is started, to make sure that all software updates run through.
2014-12-10 - SDK 2.2.4(iOS)
Bugfix: Memory leak fixed
We fixed a bug that could lead to crashes when multiple transactions with the same MPTransactionProvider are done.
2014-11-28 - SDK 2.2.2(Android)
Portuguese language support
We added support for the beautiful Portuguese language.
Bugfix: Update workflow error
We fixed an error where the update workflow would fail with an error but it was actually successful. This only occurred if keys are injected for the first time.
Bugfix: Android 5 Bluetooth connections
We fixed a crash for Bluetooth connections on Android 5 devices.
Bugfix: Fixed wrong encoding of transaction counter
We fixed that the transaction counter is encoded incorrectly for the Verifone e105 reader.
2014-11-28 - SDK 2.2.3(iOS)
Portuguese language support.
We added support for the beautiful Portuguese language.
2014-11-19 - SDK 2.2.2(iOS)
Bugfix: Update workflow error.
We fixed an error where the update workflow would fail with an error but it was actually successful. This only occurred if keys are injected for the first time.
2014-10-06 - SDK 2.2.1
Feature: You can now process transactions with a single call.
We integrated connecting, registering, processing, and disconnecting into a single method call and updated the documentation.
2014-07-24 - SDK 2.1.2
Bugfix: Fixed several bugs
2014-07-24 - SDK 2.1.1(Android)
Updated Gradle Support
Now compatible with the latest Build tools (version 20) and Gradle plugin 0.12
Bugfix: Fixed several bugs
2014-07-07 - SDK2.1.0
Feature: Support for Maestro
You can now process the Maestro debit card scheme.
Feature: Improved Mock mode for Testing
Feature [Android]: Proguard support
It is now possible to obfuscate your app when using the SDK.
[Android] Support for new Gradle plugin
You can use the SDK with the most recent Gradle plugin.
[Android] Update from 2.0.X:
- In yourAndroidManifest.xml, changeio.mpos.communicationmodules.background.BluetoothConnectionServicetoio.mpos.comlinks.bluetooth.background.BluetoothConnectionService.
- Remove thempos.android.specslibrary from your classpath (it is obsolete). On Eclipse, remove it from the 'libs' directory. On Android Studio, remove it from the 'dependencies' section in your 'build.gradle'.
2014-04-16 - SDK 2.0.2(Android)
Bugfix: Improved Bluetooth Connection Handling
In case the phone is paired to multiple Bluetooth devices, the SDK tries to find a Miura reader and ignores other Bluetooth devices, e.g. headphones.
Bugfix: Masked Account Numbers
Now, the SDK sends out masked account numbers for magstripe transactions.
2014-04-15 - SDK 2.0.1
Bugfix: Updated certificates
The framework now includes updated certificates for the test environment. Note that the old versions do not work on the test environment anymore. This version will be required after additional security updates for processing on the live system starting in June. Contact your account manager if you have further questions.