Change History

v2.3.3 - 7/12/2017

  • Fixed issue where "capture" command was being sent on "cc:authonly"
  • Added support for the flow where user removes card on an EMV transaction after authorization sent to gateway but before we reach the "Approved" screen on MP200
  • Fixed getDeviceInfo(), callback onDeviceInfoReceived() is firing
  • Fixed "Host Error" message that displayed on MP200 at the end of Contactless transactions

v2.3.2 - 1/23/2017

  • Better performance on cancelUpdate() method when called during setTerminalConfig() update
  • Improved screens on MP200 to indicate the payment methods accepted
  • Fixed issue preventing Contactless transactions from calling the onTransactionComplete() delegate
  • Allows user to cancel current transaction and pick up with a Manual Key transaction
  • Stability improvements

v2.3.1 - 1/23/2017

  • Support for the First Data Nashville and Tsys processing platforms

v2.2.1 - 8/11/16

  • Removed the setSourceAndPin() and setConnectionType() methods. Sourcekey and pin are now set via the connect() method and can not be change after the device is already connected.
  • Modified setTerminalConfig so that it needs to be called before connect(). onError(DEVICE_CONNECTED) will be called if attempt is made after connect()
  • Added alternate setTerminalConfig with force parameter to force writing the new terminal config
  • Added "adjust" command to startTransaction. Functions the same as capture but without moving the transaction into the batch.
  • Removed onWaitingForCardRemoval() delegate. onTransactionComplete() is called when the transaction is complete, there is not an interim step that waits for the customer to remove their card. It can be left in the terminal.
  • Removed onTransactionCancelled() delegate. onTransactionComplete() is called for all startTransaction() outcomes, including when a user cancels the transaction.
  • Removed onAlertUser from documentation
  • A MiddlewareException will be thrown if any method is called with a required parameter set to null
  • Removed onBadCardRead() delegate, does not apply to the Castles MP200, terminal waits for customer to try again
  • Removed updateDevice(), checkIfUpdateNeeded(), checkTermUpdateAvailable() and doPerformTermUpdate(): the update process is automatic and occurs during connect() so these methods are no longer relevant
  • Removed unused delegates: onFileWriteComplete(), onFileWriteUpdate(),
  • Removed onStatusMessage() delegate, replaced by onStatusChanged()
  • Removed onTransactionCancelled() delegate, onTransactionComplete() is fired instead
  • Removed getUserCapabilitiesOrInfo, replaced by getMerchantCapabilities() and getGatewayInfo()
  • Added onMerchantCapabilitiesReceived() and onGatewayInfoReceived()
  • Changed return on getDeviceDetails() to void, details are returned to onDeviceInfoReceived
  • getDeviceInfo replaces getDeviceDetails() for consistency, calls the onDeviceInfoReceived() delegate
  • connect() will thrown a MiddlewareException if the hostname parameter is not a valid hostname.
  • Known Issues
  • When changing the enable_debit_msr preference using setTerminalConfig() followed by connect(), the device does not automatically reboot. The updated configuration is written to the terminal but the user must manually power off and on the device before it will take effect.
  • The hardRest() method is not supported with the MP200.
  • getDeviceDetails is not currently retrieving device details correctly.
  • getReceipt is not currently pulling receipts

v2.2.0 - 7/29/16

  • Global Certification (7/20/16)
  • Add setTerminalConfig method for changing terminal configuration
  • Updated connect() method to perform automatic terminal updates
  • Add clearCachedFiles() method to force terminal update
  • Updated startTransaction() method to return all responses through the onTransactionComplete() delegate method
  • Add additional connect() variants to allow overriding the gateway host, setting target in the startTransaction hash map is now deprecated
  • Add additional startTransaction() variant that does not require sourcekey/pin to be passed in again
  • New errors added to UE_ERROR:
  • INVALID_COMMAND - received when startTransaction is called with an unsupported command
  • TRANSACTION_ALREADY_IN_PROCESS - received when startTransaction is called and another startTranaction is still running
  • UPDATING - received when a startTranaction is called while the software is still updating software
  • Deprecate middleware methods:
  • checkIfUpdateNeeded(), checkTermUpdateAvailable(), doPerformTermUpdate(), updateDevice() - Replaced by connect() method automated terminal update feature
  • setTipAdjust() - Replaced by setTerminalConfig() method
  • Deprecated delegate methods:
  • onBadCardRead()
  • onFileWriteComplete()
  • onFileWriteUpdate()
  • onProgessChanged()
  • onStatusMessage()
  • onTransactionCancelled()
  • Misc bug and memory leak fixes