For the release notes/changelog for ChipDNA Mobile iOS, please see below. A copy of this file can also be found within your ChipDNA Mobile download with the file name "Release Notes - iOS.pdf".
2017 August 8 (1.19 Artemis)
• Resolved an issue where repeated database downgrades caused failed transactions to block
the offline queue.
2017 July 31 (1.19 Artemis)
• Resolved an issue causing some offline requests to be marked as failed before the retry period
• Resolved an issue where some completed offline confirm requests were not automatically
cleared from the offline queue.
2017 June 5 (1.19 Artemis)
• Updated minimum supported iOS version to 8.
• Added support for PCI P2PE Device Events for Miura PIN pads.
• General enhancements and performance improvements.
2017 April 24 (1.18 Moon)
• Enhanced gateway connection messaging to assist with communication issues.
• DeferredAuthorizationReason now returned during callback for deferred authorization.
2017 February 20 (1.17 Hyperion)
• Performing closeTransaction for a total amount of 0 will now void the transaction.
• A StandaloneTransactionResult with ReceiptData will now be returned whenever the card has
been read and data is available.
• terminateTransaction can now be called at any point during a transaction.
• terminateTransaction can now be used with the Datecs Bluepad-50.
• User agreement text returned in US receipts is now returned in a separate ReceiptField and is
no longer part of the CVM ReceiptField.
2016 December 22 (1.16 Anatoli)
• General enhancements and performance improvements.
2016 November 21 (1.15 Aksara)
• Merchant Number removed from cash and cheque receipts.
• Resolved issue where online authorisation resulted in a duplicate offline authorisation.
• Added EMV tags required for US receipts to ReceiptData object.
• Updated format of US Global US receipts.
2016 October 31 (1.15 Aksara)
• Resolved issue causing some receipts to show card scheme identifier rather than name.
2016 October 26 (1.15 Aksara)
• Resolved issue with End of Day tipping if the gratuity amount was lower than the minimum
2016 October 24 (1.15 Aksara)
• Added support for Deferred Authorizations (also known as Store-and-Forward) on the Miura
PINpads as an alternative for EMV Offline Authorization in online only regions such as the US.
2016 October 7 (1.14 Excession)
• Fixed connection issue with Bluepad-50 on iOS 9.
2016 October (1.14 Excession)
• Fixed issue causing some Visa contact receipts to display VISA CONTACTLESS.
• Fixed issue which caused isUpdateRequired and isForcedUpdateRecommended to return true
after application launch.
2016 September (1.14 Excession)
• Resolved issue with retrieving terminal configuration data under certain conditions.
2016 August (1.14 Excession)
• Added support for US Common Debit auto-selection for Miura PINpad.
• Added Acquirer Response Code to the transaction details.
• Added Card Scheme ID to the transaction details.
• Added Card Hash and Card Reference to the transaction details.
• Added support for disabling amount confirmation prompts.
2016 July (1.13 Neptune)
• Resolved issues with receipt data handling for short Merchant IDs.
• Amendments to receipt data for First Data Rapid Connect.
2016 June (1.12 Trinity)
• Added support for contactless transactions on the Datecs Bluepad-50.
• PINPadCheck method call is now required in certain circumstances.
• Added isPinPadCheckRequired() to check when PINPadCheck is required.
• Added support of WorldPay US receipts for EMV transactions.
2016 May (1.11 Shamrock)
• Added support to configure the idle connection timeout on Miura PINpads.
• Fixed Bluetooth reconnection issue for Miura PINpads.
2016 March (1.11 Shamrock)
• Added support for end of day tipping.
• Added API method to get card details on the Miura PINpad.
• Added support for Heartland US receipts.
• Changed behaviour of isGratuitySupportAvailable() to return an enum indicating the type of
• Renamed public API method isGratuitySupported to isGratuityEnabled, and changed behaviour
to return an enum indicating the type of tipping enabled.
• Renamed public API method setGratuitySupported to setGratuityEnabled, and changed
behaviour to specify the type of tipping to enable.
2016 February (1.10 Hadron)
• Added support for Miura M007 PINpad.
• Added US magstripe support for the Miura PINpad.
• Added contactless support for the Miura PINpad.
• Added partial approvals support for Miura and Bluepad50 PINpads.
• Added support for integrators to display text on the Miura PINpad.
• Added support for terminating transaction on the Miura PINpad.
• Added support for setting Terminal Capabilities per AID for the Miura PINpad.
• Added API method to get CardEase Mobile version name.
• Improved support for account selection.
• Masked PAN returned for offline transactions in StandaloneTransactionResult.
• Receipt data passed back during signature verification.
• Added API method in CardEaseMobile for integrators to control enabling and disabling Gratuity
• Added offline and forced acceptance functionality.
• Added checks for minimum and maximum amount allowed for the specific terminal.
• Added SOAP transaction history support (requires TMS set-up).
• Renamed TmsUpdateErrorCode to ConnectionErrorCode to allow the same errors to be used
for TMS update and transaction history connection errors.
• Fixed Bluepad50 software and application updates, in line with the new firmware.
• Added Bluepad50 support.
• Added 64 bit support.
• Added operator PIN for refund and verification.
• Added Honour with ID support.
• Added a method for checking whether cash/cheque transactions are supported.
• Added a method for checking whether gratuity is supported.
• Ensured that calls from CardEaseMobileDelegate are always invoked in the same order.
• Added ReceiptData object to TransactionResult and StandaloneTransactionResult to allow the
creation of the custom receipts. Added new methods to CardEaseMobile to allow issuing
custom receipts through AirPrint, email and SMS.
• Added 'Receipt from' text support to ReceiptTextManager.
• Added handling for UTF-8 characters in the user reference field.
• Removed unused card start and expiry date entries from ReceiptTextManager.
• Ensured PINpad delegate disconnected method is called when the PINpad connection is
closed by the SDK.
• Enhanced handling of terminates and declines. SDK will now return declines and allow issuing
receipts in some cases where previously transaction terminated.
• Added new error codes for StandaloneRefundNotSupported and LinkedRefundNotSupported
(previously both used TransactionTypeNotSupported).
• Added Process Updates for gratuity.
• Added additional error code for PosMate, to handle cases where communication is lost during
the configuration update.
• Changed all delegates to weakly referenced.
• Removed Jailbroken exception - an error is now returned if the device is jailbroken.
• Added UTC time to StandaloneTransactionResult and TransactionResult.
• Added methods to CardEaseMobileUtils class to validate TerminalID and TransactionKey
• Resolved memory leak issues.
• Resolved an issue with voice referral delegate callback not called.
• Simplified status and configuration updates.
• Application identifier is now only required for CardEaseMobile initialisation.
• Converted SDK to use SQLCipher 3.1.0 (based on SQLite126.96.36.199) and openssl library 1.0.1g.
• Added gratuity for Miura.
• Added Online PIN for Miura.
• Ensured a receipt cannot be issued if the transaction is terminated.
• Ensured null can be passed as an optional reference when starting a transaction.
• Fixed an issue with API crashing when carrying out voice referral and digital signature.
• Ensured jailbreak check is not triggered when running on the simulator.
• Added PINpad check to be used to confirm the version of software on the PINpad.
• Removed F padding from receipts when processing transactions with PosMate.
• Updated documentation.
• Added merchant’s name and location.
• Added support for UTF-8 characters in receipts.
• Removed void by reference/void last completed transaction functionality.
• Fixed an issue with SMS, where country code was defaulted to UK specific (+44), which meant
SMS could not be sent from other countries without typing in full number including the country
• Fixed an issue with SMS, where SMS receipt couldn't be issued if the phone number started
• Added error code values to the documentation.
• Renamed some error codes to ensure consistency between how error codes are named and
between different platforms.
• Documented error codes which could be returned from specific methods.
• Split Process updates into a separate file and added the values to the documentation.
• Ensured delegates are called when Miura P2PE injection is performed.
• Improved logging.
• Added Online PIN support.
• Added reference and amount validation checks to CardEaseMobileUtils.
• Fixed a bug where PosMate terminated a transaction without reporting any error under certain
• Improved error reporting for magnetic stripe transactions in PosMate.
• Updated documentation and changed method names referring to the last refund receipt to
instead refer to last linked refund receipt, to prevent the confusion.
• Ensured error reported after a status update failed is a documented one.
• Added test check to test connectivity to CEM platform and Terminal ID/Transaction Key.
• Added jailbreak checks.
• Added Bluetooth status updates and PINpad pairing functionalities.
• Added cash and cheque sale and refund transactions.
• Added isValidPhoneNumber method to CardEaseMobileUtils to check whether a phone
number has a valid format.
• Added Miura voice referrals.
• Improved error reporting when sending emails, SMSs and printing receipts by changing
sendEmail, sendSms and AirPrint methods.
• Added isValidEmailAddress method to CardEaseMobileUtils to check whether an email
address has a valid format.
• Deleted pinpadConnectionRequired method in CardEaseMobileDelegate.
• Added AirPrint last signature receipt to be used during the signature verification. Added
exceptions thrown when generating the receipts without completing a transaction to prevent
empty receipts being issued.
• End to end digital signature functionality.
• Ensured an ICC refund is voided if declined after online approval.
• Renamed PinPadDelegate to PinPadConnectionDelegate and modified callback methods.
• Ensured PosMate does not ask for signature confirmation when processing refund with swipe
• Ensured ICC tags sent to payment platform in requests are consistent with other mobile
• Throw exceptions for amount validation rather then returning an error.
• Added user reference validation.
• Fixed PINpad connection issue with PosMate to ensure PINpad can be initiated for transaction
after updating the PINpad software.
• Ensured an error is returned when the transaction is declined because of an internet
• Application identifier cannot be null or empty.
• Added full ICC and quick refund functionality for Miura device.
• Added digital signature support (signature sent to platform but not currently stored).
• Added date and time to transaction result.
• Added checks to ensure that TMS updates, connections to the PINpad or transactions are not
• Simplified methods in CardEaseMobileDelegate.
• Added check for downloading new software to PosMate to ensure development signed version
is not loaded on to a production PINpad and vice versa.
• Ensured if an error occurs when processing a quick refund on the PosMate the transaction is
• Added more specific error codes for errors returned by Miura PED during ICC transaction.
• Removed 'receipt from' when sending last ICC transaction data via email or SMS.
• Ensured voice referral for full ICC refund is handled correctly.
• Removed initialisation from CardEaseMobile.
• Added amount validation for refund transactions.