Release Notes

PSDK_3.51.1

Ticket

Type

Description

PSDK-3614

BugFix

  • Fixed broken documentation for android, java and Linux.

PSDK-3538

BugFix

  • PSDK .NET dll is now built in 32-bit compatibility mode (AnyCPU) allowing the library to be used on both 32bit and 64bit windows systems.

PSDK_3.51.0

Ticket

Type

Description

PSDK-3004

Enhancement

  • Added an API to check if PSDK has a cardAcquistion reference.

PSDK-3258

Enhancement

  • Added the option to connect via Serial to the java, linux, windows_dot_net and windows reference applications.

PSDK-3289

Enhancement

  • Fixed Querying Lasttransaction after a void operation to return right payment information.

PSDK-3324

Enhancement

  • Added VAS command API to support the additional VAS command arguments in Capture

PSDK-3411

Enhancement

  • Fixed a bug in parsing one of the fields TotalNumberOfPayments from Nexo installments.

PSDK-3443

Enhancement

  • Implemented requestUserInput2 support for SCA input prompt

PSDK-3450

Enhancement

  • Added abort2 with a parameter of type DisplayOutput to display a message to the Customer

  • Encapsulated creating DisplayOutput into a separate interface

  • Added a new field in abort request named abort_message of type DisplayOutput

PSDK-3496

Enhancement

  • Implemented card balance query that does not limit the presented card type and added early card support for Refund and Balance for SCA terminals.

PSDK-3521

Enhancement

  • Added support for early return for Token query for SCA terminals.

PSDK-3541

Enhancement

  • Added support for Manual entry for Telephone orders for SCA.

PSDK-3543

Enhancement

  • For Nexo Refunds updated requestedAmounts to be populated in both success and failure cases.

PSDK-3554

Enhancement

  • Added manual entry for early card capture for SCA terminals.

PSDK-3557

Enhancement

  • Added support to process new error code(call for auth) sent by the SCA terminal.

PSDK-3569

Enhancement

  • Blocked any actions apart from device actions during logging in or logging out state

PSDK-2869

BugFix

  • Added code to get ApprovalCode for Gift card transactions in SCA

PSDK-2992

BugFix

  • Added support for Loyalty usecases with VAS for SCA terminals.

PSDK-3195

BugFix

  • Added functionality support prompting the customer with a question as one of the user input request types.

PSDK-3470

BugFix

  • Fixed an internal bug to not limit the outputXHTML length of DisplayRequests that are sent to the terminal.

PSDK-3475

BugFix

  • Updated code for GetAcquirerId() in OriginalPoiTransaction as pointed to in the ticket and corrected associated tests.

PSDK-3477

BugFix

  • Fixed issue with Early card capture request sent with 0 amount for SCA terminals

PSDK-3483

BugFix

  • For Early card capture scenario make the Authorization result and Status codes similar to the to Payment flow for SCA.

PSDK_3.50.0

Ticket

Type

Description

ESAMDOCS-34550

Enhancement

  • Fix an issue to reset the PSDK internal state machine after a connection recovery Failed.

ESAMDOCS-35094

Enhancement

  • Return back “Perform Command” and “Reset” buttons to the Android TestHarness app.

PSDK-2787

Enhancement

  • Added support for requesting PIN from terminal, as described in Nexo 3.1 spec for Nexo terminals.

PSDK-2791

Enhancement

  • Added a new API requestUserInput2 to send/receive predefined content reference id and plain text content.

PSDK-3004

Enhancement

  • Added an API to check if PSDK has a cardAcquistion reference.

PSDK-3282

Enhancement

  • Added sdi-client version logging during initialization

PSDK-3319

Enhancement

  • Providing a new more flexible API requestCardData2 that allows setting allowed payment brands for card acquisition

PSDK-3345

Enhancement

  • Made change to not revert to the previous cached message reference (prior to last transaction) when an abort is sent to the terminal

PSDK-3350

Enhancement

  • Fix an issue on VIM terminals which was causing login to fail after calling UseDevice(false).

PSDK-3390

Enhancement

  • Added support for SaleAdmin event in the EventNotification.

PSDK-3394

Enhancement

  • Implemented negotiating VHQDEVID parameter for SCI terminals through InitializeFromValues passing VHQ_DEVICE_ID_KEY config map key with appropriate value

PSDK-3420

Enhancement

  • Enabled early card capture support for SCA terminals.

PSDK-3448

Enhancement

  • Added support for presentCustomerContent2 API for SCA terminals.

PSDK-3459

Enhancement

  • Increased app-specific data string limit to 512 bytes

PSDK-2549

BugFix

  • Written a Reference Application that utilizes the base PSDK SDI functionalities.

PSDK-3241

BugFix

  • A new api was added to iOS PaymentSdk to guide the user through the Bluetooth setup for communicating via bt-pan.

PSDK-3259

BugFix

  • Update to reject logout command from POS if a session is currently active.

PSDK-3340

BugFix

  • Updated PaymentInstrumentType to STORED_VALUE

PSDK-3365

BugFix

  • Serialize quantity as string for merchandise items. If the quantity has decimal part zero(e.g. 1.00), we will display it as integer.

PSDK-3397

BugFix

  • Included documentation for bluetooth device setup api functionality.

PSDK-3422

BugFix

  • Reverting the modifications to TransactionManagerState processing when connection is lost from release 3.49

PSDK-3442

BugFix

  • Added code to address PSDK internal state race condition in AwaitingTerminal state if PrintEvent and DeviceManagementEvent received consecutively.

PSDK-3447

BugFix

  • Updated PSDK to return status 0 (Success) and DECLINED Authorization Result for the MAX swipe exceeded error from SCA terminal

PSDK-3455

BugFix

  • Fixed the 10 missing bytes bug in the mux channel chunked message write

PSDK_3.49.0

Ticket

Type

Description

ESAMDOCS-34491

Enhancement

  • Fixed a bug related to “static initialization order” of keys in PSDK initialization.

ESAMDOCS-34550

Enhancement

  • Fix an issue to reset the PSDK internal state machine after a connection recovery Failed.

PSDK-2787

Enhancement

  • Added support for requesting PIN from terminal, as described in Nexo 3.1 spec for Nexo terminals.

PSDK-3004

Enhancement

  • Added an API to check if PSDK has a cardAcquistion reference.

PSDK-3171

Enhancement

  • Added an API to provide Cashier name in payment object.

PSDK-3174

Enhancement

  • Update one of the PSDK dependency library CryptoPP to 8.6.

PSDK-3263

Enhancement

  • Updated documentation for Linked Refund and also added Robot test case for Linked refund.

PSDK-3327

Enhancement

  • Added an API to obtain VAS data and VAS Full response for SCA terminals.

PSDK-3394

Enhancement

  • Implemented negotiating VHQDEVICEID parameter for SCI terminals through InitializeFromValues passing VHQ_DEVICE_ID_KEY config map key with appropriate value

PSDK-3009

BugFix

  • Implemented to retrieve device version as per SCA specification. GET_VERSION is fired after terminal login is complete and processed asynchronously

PSDK-3334

BugFix

  • Added VF_ReprintReceipt1 capability for Nexo terminals.

PSDK-3342

BugFix

  • For FSA Transactions add an API Payment.getAmountDue() to get the amount due if combined FSA and Non-FSA amount transaction is being done.

PSDK_3.48.0

Ticket

Type

Description

ESAMDOCS-33441

Enhancement

  • Removed the deprecated API presentReceipDeliveryOptions() as it has been deprecated more than an year ago and no longer supported.

ESAMDOCS-34123

Enhancement

  • Clear saved card data upon session end

ESAMDOCS-34241

Enhancement

  • Updated PaymentAppVersion return SCA version properly.

PSDK-2931

Enhancement

  • Implementated by Device Discovery with mDNS and DNS-SD

PSDK-2939

Enhancement

  • Added a provision for setting “EBT voucher num” for SCA.

PSDK-3001

Enhancement

  • Added FSA support for both SCA and Nexo.

PSDK-3104

Enhancement

  • Added an API to query if PIN is bypassed during payment transaction.

PSDK-3204

Enhancement

  • Updated to parse ‘Tokinization’ in the capabilities returned by AGPA.

PSDK-3257

Enhancement

  • Updated DeviceInformation().getVersion() to return the SCA version properly.

PSDK-3309

Enhancement

  • Fixed using an erroneous predefined message text for unknown PredefinedContent ReferenceID

ESAMDOCS-33784

BugFix

  • Added unit test case to verify Order Number/ Invoice Number generation for every transaction.

PSDK-3138

BugFix

  • Added a new AuthorizationMethod - PIN_SIGNATURE to support both pin and signature for EMV transactions.

PSDK-3143

BugFix

  • For SCA updated a bug fix in the API ReportManager.queryTransactions() API to return the transactions when the date range is specified.

PSDK-3290

BugFix

  • Fixed a bug to return proper AuthResult For Void transactions for Nexo Void transactions when doing queryTransactions.

PSDK-3315

BugFix

  • Fixed an internal SCA bug to return the EBTType of FOOD_STAMP as per the SCA specification.

PSDK_3.47.1

Ticket

Type

Description

ESAMDOCS-33934

Enhancement

  • Payment.IsDuplicate flag is updated properly when SCA detects a duplicate transaction locally.

PSDK-3082

Enhancement

  • Updated the FAQ section of the PSDK documentation.

PSDK-3102

Enhancement

  • Updated iOS Reference Apps to include Apple required descriptors and assets for distributing the app via TestFlight for beta testing.

PSDK-3108

Enhancement

  • Added section on monetary precision to PSDK documentation.

PSDK-3140

Enhancement

  • Added bug fix for checking nullptr in for nexo CardAcquisitionResponse.

PSDK-3142

Enhancement

  • Java Reference app was added to the PSDK documentation. Also, the downloadable zipped Reference Apps were corrected to contain the proper Reference Apps.

PSDK-3188

Enhancement

  • Implemented signatureOverride flag for slim hosts to be able to return whether the host response says the transaction is authorized with signature or not.

PSDK-3245

Enhancement

  • Log SDI Client messages.

RESAMDOCS-20119

Enhancement

  • Updated an internal SCA bug to Correct length of INVOICE in start session and payment operations.

PSDK-3077

BugFix

  • Added command for GRATUITY_ADJUSTMENT transaction for SCA terminals.

PSDK-3123

BugFix

  • Updated “STORE_VALUE” to “GIFT” in PSDK code for SCA Terminals.

PSDK-3137

BugFix

  • Added logging of COUNTER mismatch for SCA.

PSDK-3139

BugFix

  • Added an API to deactivate Gift cards.

PSDK-3160

BugFix

  • Fixed an internal SCA bug to correct the validated_id length for Lane numbers.

PSDK_3.47.0

Ticket

Type

Description

ESAMDOCS-33173

Enhancement

  • Fix Internal windows scripts not to ignore recently deprecated APIs.

PSDK-2929

Enhancement

  • Added a new content type for Reference Id and enabling it to be sent or rejected appropriately.

PSDK-2960

Enhancement

  • Enabled MFi communication for SDI connectivity. Added support to validate MFi initialization parameters and fixed code to properly handle concurrency.

PSDK-2961

Enhancement

  • Implemented pmr2-mux protocol over BT-SPP

PSDK-3042

Enhancement

  • Updated the sci protocol driver to restart listening after the client has disconnected.

PSDK-3157

Enhancement

  • Updated PSDK Documentation to include the Windows dependency on VS redistributable.

PSDK-1275

Enhancement

  • Implemented PPP state machine which talks serially over muxed channel 4 (debug channel) and bridges TCP/IP communication between the terminal and a TCP/IP connection on the POS platform.

PSDK-3176

BugFix

  • Fixed the bug in PSDK with recurring payment for Nexo terminals.

PSDK-3229

BugFix

  • Fixed a bug in CardInformation.getTokens() API to return proper data on Nexo terminals

PSDK-3101

BugFix

  • Fixed an internal bug to support Keyed entry for gift cards unload action for SCA terminals.

PSDK-3009

BugFix

  • Implemented to retrieve device version as per SCA specification.

PSDK-3167

BugFix

  • On Nexo terminals fixed a bug to always include the ReceiptReprintFlag in the TransactionStatusRequest message.

PSDK-3175

BugFix

  • Fixed a bug with Merchant Cashout only for Nexo terminals

PSDK-3213

BugFix

  • Updated the PSDK jar files to include both 32bit and 64 bit Dlls for windows platform.

PSDK_3.46.1

Ticket

Type

Description

ESAMDOCS-33173

BugFix

  • Fix Internal windows scripts not to ignore recently deprecated APIs.

PSDK_3.46.0

Ticket

Type

Description

ANDRDOS-2490

Enhancement

  • The extended settings screen was integrated to Java and Kotlin version of the PSDK Reference Application.

  • This extended barcodes configuration screen allows you to select the group of barcodes that will be used for the hardware scanner.

PSDK-2933

Enhancement

  • Enabled TransactionManager.abort() to also abort pending input requests that are sent from the POS, instead of just payment and other similar commands.

PSDK-2934

Enhancement

  • Added Shutdown event Notification handling on PSDK.

PSDK-2976

Enhancement

  • Added a new library artifact to support Windows .NET 5.

PSDK-3022

Enhancement

  • Added new transaction types to support recurring payments.

PSDK-3083

Enhancement

  • The documentation was updated to add a section covering the multi-currency use case.

ESAMDOCS-32574

BugFix

  • iOS payment sdk was updated to better handle dynamically discovering the the library during apple App Store deployment.

PSDK-2548

BugFix

  • Added Fully integrated,Semi integrated and Slim integrated Java reference applications.

PSDK-2977

BugFix

  • Enabled requested numeric input to contain leading 0’s and symbols related to phone numbers in various regions.

PSDK-3021

BugFix

  • Update to use same ServiceId between the PrintRequest and PrintResponse

PSDK-3030

BugFix

  • Updated the PSDK jar files to include both 32bit and 64 bit Dlls for windows platform.

PSDK-3031

BugFix

  • Enabled the transaction query for the most recent transaction to work even when there is no active contextual information about that transaction.

PSDK-3087

BugFix

  • Unused barcodes were removed from the UI of the PSDK Reference Application written in Java.

PSDK-3095

BugFix

  • iOS VFIDecimal initialize function was fixed to support edge cases where amount ends with zero cents.

PSDK-3146

BugFix

  • Fixed cases when the default transaction amount is required for SCA terminals.

PSDK_3.45.1

Ticket

Type

Description

PSDK-3031

BugFix

  • Enabled the transaction query for the most recent transaction to work even when there is no active contextual information about that transaction.

PSDK_3.45.0

Ticket

Type

Description

PSDK-2938

Enhancement

  • Added support for EBT balance check.

PSDK-2942

BugFix

  • Enabled EBT refunds to work with SCA terminals.

PSDK-2959

Enhancement

  • Updated the ReconciliationEvent to have the Closing summary containing various totals if sent by the host.

PSDK-2984

Enhancement

  • Enabled receipts to be reprinted using the AppSpecificData field of the Payment object.

PSDK-2989

BugFix

  • Added support for Keyed entry for gift cards actions (activate, load, and unload, etc) for SCA terminals.

PSDK-2995

Enhancement

  • Added method getAmountAvailableForRefund() to Payment.

PSDK-3002

BugFix

  • Fixed defect where we still used the card data from getCardData for the payment even after abort was called if the card data was actually retrieved.

PSDK-3016

BugFix

  • Fixed ReportManager reports when a TransactionType.GRATUITY_ADJUSTMENT has been performed.

PSDK_3.44.0

Ticket

Type

Description

ESAMDOCS-30254

Enhancement

  • Fixed an issue to enable the POS apps to refuse the PrintEvent.

PSDK-2853

BugFix

  • Added the reconciliation ID field to the transaction query for Nexo and SCA terminals.

PSDK-2913

Enhancement

  • Added support for change of password and reset of password at the POS (including off-device POS systems). Payment Application and POS application changes are required to support this feature.

PSDK-2955

BugFix

  • Updated Documentation for android reference apps to use JDK1.8

PSDK-2970

BugFix

  • Fixed an overflow issue for 32-bit systems conversion from bitset<40> to unsigned long for SDI

PSDK-3008

BugFix

  • Fixed an issue with SCA where the wrong amount was returned as the approved amount for a partial authorization.

PSDK-2866

BugFix

  • Updated stored value transactions to parse and send the receipts to POS if the receipts are sent by the SCA payment application.

PSDK-3003

Enhancement

  • Updated Debit payments to also include the word DEBIT as the brand so that existing integrations could more easily construct the receipt.

PSDK-2508

BugFix

  • Enabled documentation output for the .NET library.

PSDK-2983

BugFix

  • Fixed an issue with SCA where the wrong message was being sent to the device to tokenize a card.

PSDK-2837

Enhancement

  • Enabled TCP/IP standard heartbeat to detect connection issues faster for SCA terminals.

PSDK-2801

Enhancement

  • Enabled Device Tampered event notification when using AGPA or GPA.

PSDK-2928

Enhancement

  • Enabled VCL crypto information to be sent and received for general card data and for payments.

PSDK-2775

Enhancement

  • Added ReceiptType.Document to enable printing of reports and other documents.

PSDK-2921

Enhancement

  • Fixed an issue in the .NET library when calling initialize after tearing down.

PSDK_3.43.0

Ticket

Type

Description

PSDK-2773

Enhancement

  • Added example code for CTLS and CT configurations, and Callback mode for pin entry requests.

PSDK-2880

Enhancement

  • Added the missing SignatureVerified field in vf_Signature for Nexo InputResponse message parsing.

PSDK-2881

Enhancement

  • This is a public facing fix that applies only to the .NET library.Added implicit conversion to avoid API change for nullable types.

PSDK-2915

BugFix

  • Updated PSDK documentation to create proper SDI reference app zip files and point to the SDI reference apps to download when building documentation for SDI.

PSDK-2919

BugFix

  • Updated to use RecyclerView from AndroidX.

PSDK-2926

BugFix

  • Fixed Nexo deserializing Signature field in InputRequest message.

PSDK-2806

BugFix

  • Correctly passing the card acquisition reference when retrieving card data then performing a payment that should use the previously collected card data.

PSDK_3.42.0

Ticket

Type

Description

ESAMDOCS-30749

Enhancement

  • Added conversion from UTF-16 (.NET) to UTF-8 (native) and back

PSDK-2616

Enhancement

  • Now generates a random pairing PIN when first connecting to an SCA terminal, instead of a fixed PIN of “1234”.

PSDK-2619

Enhancement

  • CardInformation.getBin() now returns an 8-digit bin based on the card. When returning an 8-digit bin, getLast4() will return two masked characters followed by two digits, preserving the PCI requirements.

PSDK-2680

Enhancement

  • Added a section to the PSDK documentation describing the fully transparent (sdi) transaction flows and associated PSDK APIs.

PSDK-2706

Enhancement

  • Implemented a new API requestDeviceVitals() to get the diagnosis information from the terminals. Currently none of the terminals are supporting this request yet.

PSDK-2715

Enhancement

  • Added the AccountType::PINLESS_DEBIT to indicate when a transaction has been converted from credit to PIN-less debit.

PSDK-2717

Enhancement

  • Add a list of currencies into the merchant

PSDK-2754

BugFix

  • Enabled plain text receipts when communicating with SCA terminals in North America.

PSDK-2806

BugFix

  • Correctly passing the card acquisition reference when retrieving card data then performing a payment that should use the previously collected card data.

PSDK-2840

Enhancement

  • Removed autogenerated IDispatch interface from .NET Decimal class

PSDK-2845

BugFix

  • Resolved an issue in .NET and COM where a string-to-string map would not convert correctly, instead being passed as an empty map.

PSDK-2857

Enhancement

  • Add SignatureType in CapturedSignature class

PSDK_3.41.0

Ticket

Type

Description

PSDK-2728

Enhancement

  • TerminalData field added to API to pass custom/regional POS-to-payment application data.

PSDK-2753

Enhancement

  • Reading the values from SCA terminals for Payment.getRetrievalReferenceNumber().

PSDK-2763

Enhancement

  • Updated the encryption API to accept arbitrary data for encryption and allow multiple options to be sent at once for the encryption settings.

PSDK-2622

Enhancement

  • Created code generator for COM library

  • Added client application to test COM dll

ESAMDOCS-28976

Enhancement

  • Payment Request was enhanced to contain the selected Alternative Payment Method.

PSDK-1903

BugFix

  • Added tests to verify that localized currency string is honoring the currency symbol position.

PSDK-2709

BugFix

  • Enabled to have captured signature under “_vf_Signature”(for Vim/Cobra) fragment when PSDK sends input response.

PSDK-2774

BugFix

  • Fixed an issue for iOS where the library would crash during a race condition when Bluetooth disconnects unexpectedly by updating the code to check if the stream is already closed before closing it programmatically.

PSDK-2770

BugFix

  • Abort functionality was enhanced to generate the proper abort request based on if card data was already collected.

ESAMDOCS-28637

BugFix

  • Added signature to dll for win32 and x64.

ESAMDOCS-29785

BugFix

  • Changed the DeviceScanListener API to un-capitalize the first letter of each method.

    • ScanStarted-> scanStarted

    • DeviceFound-> deviceFound

    • DeviceLost-> deviceLost

    • ScanEnded-> scanEnded

  • Changed the SDI Callback API names to clearly identify the callback’s purpose and de-duplicate names to fix collisions in the Windows release.

    • SdiStatusCallback API changes:

    • callback-> statusCallback

    • SdiControlCallback API changes:

    • callback-> controlCallback

    • SdiEmvCallback API changes:

    • callback-> emvCallback

    • SdiNotifyCallback API changes:

    • callback-> notifyCallback

    • SdiNavigatorCallback API changes:

    • callback-> navigatorCallback

    • SdiCardDetectCallback API changes:

    • callback-> cardDetectCallback

PSDK_3.40.1

Ticket

Type

Description

PSDK-2698

Enhancement

  • Added support to enable the POS to send additional installment types to Nexo Terminals.

PSDK-2764

Enhancement

  • Add a new field to AmountReq to let the POS send the surcharge amount.

PSDK_3.40.0

Ticket

Type

Description

PSDK-2664

Enhancement

  • Added new API Payment.getCardInformation().getProcessorCardNetwork() which will contain the card Network if provided by the processor to the host.

PSDK-2597

Enhancement

  • During error recovery with SCA terminals, if the current POS has a session that was left open on the SCA terminal after recovering the connection, the old session will be automatically ended and a new one started during the startSession command so that the interaction with the terminal can be more seamlessly recovered.

PSDK-2603

Enhancement

  • PSDK exposes interface setHasRestrictedItem(bool flag) to flag if basket contains questionable item, POS can query getHasRestrictedItem(), returning boolean to validate basket before processing the transaction.

PSDK-2727

Enhancement

  • Populate SaleData/VF_SiteID with the Venue information available in Transaction or Payment objects.

PSDK-2689

Enhancement

  • Enhanced GetTotalResponse and ReconcileResponse to support the additional ReconciliationInformation data. Allow system integrators to have access to any reconciliation metadata that a solution has available so that they can provide their own historic reconciliation reporting.

PSDK-2722

BugFix

  • Added merchantId to authorizeRoles() method to allow on-device POS to select merchant ID before requesting manager/cashier password entry via AGPA UserManagement

PSDK-2729

BugFix

  • Fixed the internal state transition properly after the ReconciliationsList is performed.

PSDK-2730

BugFix

  • Fixed the Card Expiry date value format in the Payment response for NEXO Terminals

PSDK-2471

BugFix

  • PSDK was updated so if the connection type was set to provided, assume this is a valid device.

PSDK-2605

BugFix

  • Changed the initialization logic for SCA terminals to attempt matching the serial number if the initial matching attempt is rejected because a session is in progress, enabling us to recover a connection even if a payment is still in-flight.

ESAMDOCS-29381

BugFix

  • Fixed bugs in uwp reference app.

  • Added null checker in sdk.

ESAMDOCS-29313

BugFix

  • Added an example in UWP reference app to show correct usage of configuring Logfile and loglevels.

PSDK_3.39.0

Ticket

Type

Description

PSDK-2492

Enhancement

  • Added support in PSDK for ADE encryption to allow the merchant to specify the ADE blob format.

PSDK-2580

Enhancement

  • Added the MERCHANT_TYPE_KEY constant to the Merchant object so that the merchant type can be easily retrieved from the merchant configuration.

PSDK-2662

BugFix

  • Fixed an issue where offline voids were set to online when communicating with AGPA.

PSDK-2640

BugFix

  • Added method getCardBrand() to the ReconciliationTotal object, enabling the reconciliation totals to also be grouped by card brand in addition to the other groups.

PSDK-2596

BugFix

  • Created an MSI installer package for the .NET library, enabling all of the dependencies and the DLL to be installed together.

PSDK-2534

BugFix

  • When the AuthManager is closed normally, sends an underlying call to clear any UI if the device is still prompting for user input for authorization.

PSDK-2458

BugFix

  • Fixed a Java crash with the ProvidedConnection handling an unexpected terminal disconnection by moving all connection cleanup into a thread attached to the JNI.

PSDK-1537

BugFix

  • All PaymentSdk initialize methods are now correctly asynchronous, not blocking the calling thread but instead notifying the callback once initialization is finished.

ESAMDOCS-28342

BugFix

  • Enabling TransactionManager.reprintReceipt(…) and TransactionManager.print(…) methods to be sent to the terminal when the delivery method is email even if the terminal is not capable to print paper receipt.

PSDK_3.38.1

Ticket

Type

Description

PSDK-2529

Enhancement

  • Added a new OrderType enumeration to allow the POS to set the order type on the payment object when starting a payment.

PSDK-2623

Enhancement

  • Added a new object, DynamicCurrencyConversion, to provide information to the POS when a payment has been converted to a different currency for the customer.

PSDK-2669

Bug fix

  • Fixed an issue where the currency was not set on the payment object from the terminal’s payment result.

PSDK_3.38.0

Ticket

Type

Description

ESAMDOCS-26217

Enhancement

  • Added api getMerchantConfig() to get the entire merchant configuration map and added string constants as keys, any specific value using key it can be read from config map.

PSDK-2355

Enhancement

    1. Add setCustomerNote() and getCustomerNote() in Payment and TransactionQuery

    1. Update SaleData and TransactionReportRequest to add VF_CustomerNote field

PSDK-2591

Enhancement

  • Recognizing additional constant error condition codes StatusCode::DEVICE_NOT_READY, StatusCode::INVALID_ARGUMENTS, and StatusCode::NOT_ALLOWED when returned from AGPA and GPA terminals.

PSDK-2625

Enhancement

  • A new Enum HOST_REQUEST_PIN is added to HostDecisionType to support Visa SCA mandate.

PSDK-2554

Enhancement

  • Added support for the SDI integration using the .NET library.

PSDK-2598

Enhancement

  • Fixed missing fields Merchant ID, Terminal ID, and Reconciliation ID when integrating with SCA terminals.

PSDK-2411

Enhancement

  • Added the SdiAsyncCardDetectCallback, SdiCardDetectCallback, and the APIs on the SdiCardDetect object to start, stop, and poll the card detection.

PSDK-2630

Enhancement

  • Added StoredValueAction get/set methods to the Payment object, and added the new StoredValueAction enumeration. This allows the StoredValueAction to be returned from a TransactionQuery and other operations.

PSDK-2615

Bug fix

  • Add merchant ID and terminal ID from the payment object into the payment_criterias

PSDK-2593

Bug fix

  • Fixed forgetting a device to remove all of the information about the device. Before this fix it left information such as the model.

PSDK-2583

Bug fix

  • Fixed the LAST TRANS response, If it is success event.getPayments will have the payments. If there is an active session in progress the event will have the transaction as well.

PSDK-2626

Bug fix

  • Fixed backwards compatibility with some Android terminals for the Balance Inquiry action.

PSDK-2665

Bug fix

  • Updated tools repo document.py to add “-S” parameter to build specifically for SDI - if this parameter is not present, the documentation is built for non-SDI. Updated documentation/Makefile to apply changes in document.py for specific SDI or non-SDI build.

PSDK-2613

Bug fix

  • Fixed an issue for Payment.isOnline to reflect correctly for SCA terminals.

PSDK-2633

Bug fix

  • Fixed date/time creation to correctly use the current system time zone for ISO 8601.

PSDK-2432

Bug fix

  • Updated printer error codes in PSDK documentation.

ESAMDOCS-26898

Bug fix

  • For the Slim Host integration, fixed an issue where the PSDK might crash during tear down if the connection was already disconnected.

ESAMDOCS-27901

Bug fix

  • For the iOS platform, fixed a crash when calling method PaymentSdk.UseDevice(…).

ESAMDOCS-27780

Bug fix

  • Fixed Receipt.getAsPlainText() to remove the extra lines and the lines with just blank characters in the text receipts.

PSDK_3.37.5

Ticket

Type

Description

PSDK-3008

BugFix

  • Fixed an issue with SCA where the wrong amount was returned as the approved amount for a partial authorization.

PSDK_3.37.4

Ticket

Type

Description

PSDK-2757

Bug fix

  • Added the Payment.isDuplicate() field. We now mark duplicate transactions as authorized instead of declined, and set this field to true.

PSDK_3.37.3

Ticket

Type

Description

ESAMDOCS-27808

Bug fix

  • Fixed Void Offline on SCA terminals. If the SAF transaction is not dequeued perform SAF removal otherwise do a regular void.

PSDK-2666

Enhancement

  • New Transaction Manager state AWAITING_TERMINAL was added to indicate when certain actions cannot be sent, returning an event with StatusCode::INVALID_STATE if an action is performed that is not allowed.

PSDK-2673

Bug fix

  • Fixed an issue when integrating with SCA terminals where responses would become mismatched when the terminal silently ignored a request message.

PSDK-2674

Bug fix

  • Fixed an issue when integration with SCA terminals where the notification message to pair the device was sent multiple times.

PSDK-2675

Bug fix

  • Fixed an issue to avoid sending duplicate transaction notification messages that asks the user to enter the security pin.

PSDK_3.37.2

Ticket

Type

Description

ESAMDOCS-27792

Bug fix

  • Shortened the keep-alive timeout values when communicating with an SCA terminal so that we can better detect when the terminal has performed a PCI reboot or a hard power reset.

ESAMDOCS-28094

Bug fix

  • Fixed the issue for the timeout left running after receiving a response for all messages with SCA, not just those received on the primary connection.

PSDK_3.37.1

Ticket

Type

Description

ESAMDOCS-27792

Bug fix

  • When communicating with an SCA terminal, implemented a mechanism to queue a secondary port request if the previous secondary port request was not yet acknowledged.

ESAMDOCS-27793

Bug fix

  • Updated the Internal state machine to not allow Ending session if not in Loggedin State.

ESAMDOCS-28094

Bug fix

  • Fixed an issue when communicating with an SCA terminal where the PSDK left the timeout running after receiving a response from SCA. The PSDK now removes the timeout when it receives the response from SCA.

ESAMDOCS-28052

Bug fix

  • Fixed an issue when communicating with SCA terminals where a pending message sent during setup blocked the PSDK from successfully pairing with the terminal.

ESAMDOCS-27642

Bug fix

  • An Enum ERR_PED_BYPASS has been added to accommodate PSDK support for getPinTouchButtons. Only applies to SDI libraries.

PSDK_3.37.0

Ticket

Type

Description

PSDK-2409

Enhancement

  • Enable aborting a background request card data operation.

PSDK-2473

Enhancement

  • Added a new config parameter DEVICE_LOGIN_TIMEOUT_KEY to allow POS to modify the login timeout for NEXO terminals.

PSDK-2478

Enhancement

  • Updated PSDK code to not require app specific data in order to send a preauth update or preauth completion to the payment device.

PSDK-2487

Enhancement

  • Added new API to set currency on the payment during a session.

PSDK-2506

Enhancement

  • Added consumer pro-guard rules to in Android AAR.

PSDK-2522

Enhancement

  • Added new class MerchantAccount which can be added to a Payment.

  • Added new APIs to Payment for setting and getting the MerchantAccount.

PSDK-2528

Enhancement

  • Added new DeviceManagmentAction for requesting the terminal to shutdown.

PSDK-2546

Enhancement

  • Added slim-integrated option to the .NET Windows Reference App

PSDK-2559

Enhancement

  • Reduced the Linux shared library file size.

PSDK-2560

Enhancement

  • getState log has been removed from the Transaction Manager

PSDK-2563

Enhancement

  • Added new constant PsdkInitializationConstants.NETWORK_CONFIGURATION_KEY and possible values PsdkInitializationConstants.NETWORK_CONFIGURATION_DYNAMIC_VALUE and PsdkInitializationConstants.NETWORK_CONFIGURATION_STATIC_VALUE. Setting the network configuration to the Static value disables the PSDK network scan, instead it only attempts to the one remembered IP address and then fails if it cannot connect to that device.

PSDK-2565

Enhancement

  • Added linkage for reboot command DeviceManagementAction to SCI secondary port command.

PSDK-2568

Enhancement

  • Handle NEXO “Partial” response code.

PSDK-2571

Enhancement

  • For SCA terminals we have added 60 second timeouts to start/end session, status, get counter, and abort

PSDK-1537

Bug fix

  • All PaymentSdk initialize methods are now asynchronous and can be called on the main thread without needing to background first.

PSDK-2482

Bug fix

  • UI and logging clean up on Window’s Reference App.

PSDK-2490

Bug fix

  • Fixed issue on NEXO terminals where we were sending the wrong message category for balance inquiry.

PSDK-2536

Bug fix

  • Fix timestamps used by the PSDK for NEXO terminals to use GMT plus/minus offset to local time instead of GMT.

PSDK-2540

Bug fix

  • Fixed an issue where the PSDK would get stuck during initialization when waiting for a response from a terminal and the connection is closed by the terminal.

PSDK-2543

Bug fix

  • Mapped several SCI result codes to appropriate PSDK status codes where appropriate.

PSDK-2545

Bug fix

  • Fixed the transaction reports to also return the stored value actions activate, load, and unload.

PSDK-2555

Bug fix

  • Correctly setting the authorization result and authorization response text on the Payment object when handling a NEXO TransactionQuery.

PSDK-2570

Bug fix

  • Allow PaymentSdk.tearDown from any state.

PSDK-2575

Bug fix

  • Fix where SCA terminals would randomly request PIN on PSDK login.

PSDK-2587

Bug fix

  • Added missing header file StatusCode.h to .NET DLL

PSDK_3.36.0

Ticket

Type

Description

PSDK-2291

Enhancement

  • PaymentSDK now supports .NET Framework library.

    • Added .NET code snippets to documentation.

    • Added .NET reference app example to documentation.

    • Added .NET API reference section

PSDK-2354

Enhancement

  • Adds support for single socket connection to SCA terminals allowing for websockets to be used for the connection.

PSDK-2387

Enhancement

  • PaymentSDK now supports Java for Mac, Windows, and Linux platforms.

    • Added Java API reference

    • Added Java code snippets to documentation

PSDK-2466

Enhancement

  • For NEXO terminals that support it, added support for stored value operations to be reported in transaction query results.

PSDK-2467

Enhancement

  • For NEXO terminals that support it, added support for CASH_ADVANCE transactions.

PSDK-2479

Enhancement

  • UWP reference app will now have a slim integrated checkbox when entering the IP address.

PSDK-2520

Enhancement

  • Better resolve the Payment.getPaymentType based on the Payment.getAccountType for debit and EBT transactions.

PSDK-2338

Bug fix

  • Fix possible crash when application exits without performing a PaymentSdk.tearDown.

PSDK-2472

Bug fix

  • For print and reprint, if terminal is not capable the returned event will have the proper type set to TransactionEvent::RECEIPT_REPRINTED or TransactionEvent::RECEIPT_PRINTED.

PSDK-2480

Bug fix

  • UWP reference app now logs correctly on UI

PSDK-2515

Bug fix

  • CardInformation.getCardCurrency has been corrected to only contain the EMV tag “9F42” if present which is the ISO 4 digit current code.

PSDK-2533

Bug fix

  • When operating with an SCA terminal. Changed PaymentCompletedEvent status code to CANCELLED when operation is cancelled on the terminal. Changed PaymentCompletedEvent status code to ABORTED when operation is aborted by the POS.

PSDK_3.35.0

Ticket

Type

Description

PSDK-2310

Documentation

  • Added option to Linux reference app to make a payment with basket total amount or prompt for total amount.

PSDK-2320

Documentation

  • Added barcode scanning functionality to the Android reference application.

PSDK-2321

Documentation

  • Added barcode scanning functionality to the iOS reference application.

PSDK-2326

Documentation

  • Added option to iOS reference app to make a payment with basket total amount or prompt for total amount.

PSDK-2327

Documentation

  • Added option to Android reference app to make a payment with basket total amount or prompt for total amount.

PSDK-2328

Documentation

  • Added option to Windows reference app to make a payment with basket total amount or prompt for total amount.

PSDK-2344

Documentation

  • Added multi-merchant documentation section to PSDK documentation.

PSDK-2311

Enhancement

  • Added new API Payment.getHostAuthCode which will contain the host’s response code if provided by the terminal.

PSDK-2335

Enhancement

  • Extended TransactionQuery to support querying pre-auth transactions. The following fields have been added to aid in querying: ExpiryStartTime, ExpiryEndTime, MerchantID, and TerminalID.

PSDK-2336

Enhancement

  • Added new feature of delayed charge to process a supplemental account charge after original services have been rendered and respective payment has been processed.This is used in pre-auth transactions.

    • Added new PaymentType.DELAYED_CHARGE for performing the delayed pre-auth charge.

    • Added new PaymentOperation.DELAYED_CHARGE for expressing delayed charges in the payment operation histories.

    • Feature will return unsupported operation status code on terminals which don’t support it.

PSDK-2347

Enhancement

  • Added new DeviceManagementAction VCL_ADVANCE_DDK to advance the master key. Response DeviceManagementEvent will contain track1 and track2 data on success. These can be accessed with DeviceManagementEvent.getValue() using DeviceManagementEvent.TRACK1_KEY and DeviceManagementEvent.TRACK2_KEY.

    For slim integrations only.

PSDK-2348

Enhancement

  • Added new DeviceManagementAction VCL_REGISTRATION to register the device with the VCL/VSP service. Response DeviceManagementEvent will contain track1 and track2 data on successful registration. These can be accessed with DeviceManagementEvent.getValue() using DeviceManagementEvent.TRACK1_KEY and DeviceManagementEvent.TRACK2_KEY.

    For slim integrations only.

PSDK-2349

Enhancement

  • Added new DeviceManagementAction VCL_BIN_UPDATE to consume a previously loaded VCL BIN file. Response DeviceManagementEvent will contain track1 and track2 data on successful registration. These can be accessed with DeviceManagementEvent.getValue() using DeviceManagementEvent.TRACK1_KEY and DeviceManagementEvent.TRACK2_KEY.

    For slim integrations only.

PSDK-2377

Enhancement

  • Added HostDecisionType.HOST_REQUIRE_PIN for slim integration authorization and finalization events.

PSDK-2380

Enhancement

  • Added new DeviceManagementAction VCL_ADE_BLOB to retrieve the ADE blob. Response DeviceManagementEvent will contain ADE blob of data on success. This can be accessed with DeviceManagementEvent.getValue() using DeviceManagementEvent.ADE_BLOB_KEY.

  • Added new DeviceManagementAction VCL_RETRIEVE_VSP_CONFIG to retrieve the VSP config. Response DeviceManagementEvent will contain VSP config info on success. This can be accessed with DeviceManagementEvent.getValue() using:

    • DeviceManagementEvent.VSP_FIRMWARE_VERSION_KEY

    • DeviceManagementEvent.MDK_LABEL_KEY

    • DeviceManagementEvent.ENCRYPTION_STATE_KEY

    • DeviceManagementEvent.VSP_STATE_KEY

    • DeviceManagementEvent.VSP_MODE_KEY

    • DeviceManagementEvent.BIN_TABLE_ID_KEY

    • DeviceManagementEvent.ENCRYPTION_ALGORITHM_KEY

    • DeviceManagementEvent.OPERATION_MODE_KEY

    • DeviceManagementEvent.INITIAL_KEY_ID_KEY

    • DeviceManagementEvent.CONFIG_ID_KEY

    For slim integrations only.

ESAMDOCS-25654

Bug fix

  • PSDK change in behavior when dealing with connection loss to the terminal. If the terminal disconnects from the PSDK through an organized teardown then the PSDK will not attempt to recover the connection. The POS will be notified with a notification event with the type set to CONNECTION_LOST followed immediately with another notification event with the status set to DEVICE_CONNECTION_LOST.

ESAMDOCS-25892

Bug fix

  • Fixed deadlock condition when performing a PaymentSdk.tearDown with SCA termianls.

  • Added connection keep alive support for SCA terminals. Send keep alive message on 5 minute intervals and reporting a connection loss if the terminal doesn’t respond within 60 secs.

ESAMDOCS-25955

Bug fix

  • Better user input selection mangement when using menu items on NEXO terminals.

ESAMDOCS-26399

Bug fix

  • Fixes the logic to ensure both loss of connection notifications are sent after abort has been called and the connection is lost.

PSDK-2293

Bug fix

  • iOS arguments and return values in apis with optional enums are automatically converted to an optional NSNumber due to an objective-c limitation.

    With changes in this ticket, when these apis exposed to Swift, they will now take and return optional PSDK enumerations instead of Optional NSNumbers.

    How these changes impact integration:

    If you are integrating in Objective-C:

    • you will not have any impact by the changes in this ticket

    • you will continue to convert the enum to a NSNumber when using apis that has an optional enum

    If you are integration in Swift:

    • For apis that takes in an optional enum as an argument, you will no longer need to convert it to a NSNumber using the raw value of the enum, instead you can pass in nil or the PSDK enum

    • For apis that returns an optional enum, you will no longer need to convert the returned NSNumber to the enum. Apis will return the PSDK enum or nil

PSDK-2365

Bug fix

  • Notifications and DisplayRequests can now be handled during ReconciliationList retrieval.

PSDK-2382

Bug fix

  • Fixed issue where Android barcode scanner crashes on devices whose cameras don’t support scene modes.

PSDK-2420

Bug fix

  • Fixed issue with dependency library ‘cryptopp’ using native optimizations that would prevent it from working on x86 devices.

PSDK_3.34.0

Ticket

Type

Description

ESAMDOCS-25112

Documentation

  • Updated documentation to include pre-auth update and query open pre-auths.

PSDK-2339

Documentation

  • Corrected documentation C# code snippet for requesting card data.

PSDK_2286

Enhancement

  • Enhanced the iOS IP address entry screen in the reference app to be more compliant with the Apple guidelines.

PSDK-2236

Enhancement

  • Added support for SIGNATURE_PROVIDED InputSubcommand in PSDK API. This will allow a POS to display/print a captured signature image as part of an Input Confirmation request

PSDK-2270

Enhancement

  • Add support for maintenance started/ended event notifications. New event notification types:

    • NotificationType.BEGIN_MAINTENANCE

    • Notification.END_MAINTENANCE

  • If a terminal has reported BEGIN_MAINTENANCE then the PSDK will automatically advance to state of logged out.

PSDK-2297

Enhancement

  • Deprecated Payment.[get/set]AdditionalAcquirerData methods. Please use Payment.[get/set]SaleNote instead.

PSDK-2322

Enhancement

  • Added barcode scanning to example to Windows Reference App.

ESAMDOCS-24658

Bug fix

  • If PSDK receives event notification after it issues Login request during the initialization block initialization until login response is received. This way sending duplicate Login completed event is avoided in some corner cases.

ESAMDOCS-25116

Bug fix

  • The PSDK will no longer pre-check the terminal type before issuing device management actions. This will allow all device management actions to be sent to the terminal regardless of wether the terminal supports it.

ESAMDOCS-25494

Bug fix

  • Resovled race condition where initializeFromValues doesn’t send an STATUS_INITIALIZED event after performing connection retries.

PSDK-1734

Bug fix

  • Fixed a corner case initialization error in barcode scanner by throwing an error dialog after catching the Exception and exiting the scanner gracefully.

PSDK-1887

Bug fix

  • Added file backed persistance to Java SDK.

PSDK-2266

Bug fix

  • Added support for installment payment operations for terminals that support it.

PSDK-2274

Bug fix

  • Added slim-integrated support in Windows Reference App.

PSDK-2281

Bug fix

  • Fix a crash when querying the last transaction from Android terminals.

PSDK-2283

Bug fix

  • Windows Nuget Package now output Debug level logs by default.

PSDK-2302

Bug fix

  • Fix crash when receiving an error response to a user input request

PSDK-2324

Bug fix

  • Removed Bluetooh switch from the configuration screen on all platforms.

PSDK-2343

Bug fix

  • Fix an issue with scanning a single barcode scanning on verifone devices where the scanner is not exiting even if “ATTRIBUTE_CONTINUOUS_SCAN” is set to false.

PSDK_3.33.0

Ticket

Type

Description

PSDK-1962

Enhancement

  • Improved report parsing, enabling the report data received from the terminal to be split into the correct sections of the PSDK receipt object, and enabling the report to be returned correctly to the POS for the reconciliation events.

PSDK-2205

Enhancement

  • Added enableReader API to TransactionManager to facilitate the background card reader operation for terminals that support it.

PSDK-2219

Enhancement

  • Better support for merchandise, offers, modifiers, and donations in CP triggers for adjustments.

PSDK-2225

Enhancement

  • Added an Android Java reference app to the documentation.

PSDK-2227

Enhancement

  • Add slim integration option to Android and iOS documentation reference apps

PSDK-2228

Enhancement

  • Added a section to the PSDK documentation to describe how to enable PSDK Logging in Visual Studio.

PSDK-2232

Enhancement

  • Added new NotificationType.SALE_WAKE_UP to NotificationEvent for terminals that support it.

PSDK-2234

Enhancement

  • Provided the capability to parse the alternative payment information from the payment response and set the appropriate fields in the payment object.

PSDK-2261

Bug fix

  • Fixed an issue where Payment.getAllowedOperations and Receipts where empty for stored value card operations.

ESAMDOCS-24451

Bug fix

  • Fixes an event error message when terminal service isn’t available.

ESAMDOCS-24829

Bug fix

  • Fixes the crash caused by using Invalid indexes when scanning some of the barcode symbologies and also fixed an issue to correctly enable the scanner formats sent by the POS.

PSDK-1705

Bug fix

  • Fix a race condition involving barcode scanner open and scanner close.

PSDK-2040

Bug fix

  • Fixed an issue in teardown for some regional terminals. Resetting internal components so that calling initialize directly afterwards will work.

PSDK-2203

Bug fix

  • Fixed issue where printing an itemized receipt was’t working.

PSDK-2204

Bug fix

  • Fixed the Windows reference app where compressed filename had the incorrect extension.

PSDK-2206

Bug fix

  • Added private and internet capability to Windows package manifest.

  • Updated documentation on how to enable private network capability.

PSDK-2233

Bug fix

  • Added missing API log messages to BasketManager , PaymentSDK and TransactionManager API’s

PSDK-2239

Bug fix

  • Fixed android crash when passed config map has null key or null values. Also, on some android devices, network address is coming as malformed string, fixed to read it properly.

PSDK-2240

Bug fix

  • For SCA terminals added handling duplicate transaction code ‘56783’ as Transaction Declined.

PSDK-2259

Bug fix

  • IUserAuthService/IUserAuthServiceCallback have been moved from com.verifone.user.auth into com.verifone.user.auth.content package.

PSDK-2263

Bug fix

  • Connection and protocol driver tear down procedure is now part of NEXO protocol driver destructor

PSDK_3.32.0

Ticket

Type

Description

PSDK-1171

Enhancement

  • Enhancement to support pre-auth transactions on SCA terminals.

PSDK-1686

Enhancement

  • Addresses problem where PSDK wouldn’t load native library on Android x86_64 ABI devices.

PSDK-1819

Enhancement

  • Better support for amount adjustment adjudication.

PSDK-1966

Enhancement

  • Added fields HistoricalBytes and ApplicationData to TechAltPaymentRequest trigger.

  • Added ErrorDescription field to TechAltPaymentResponse trigger.

PSDK-1972

Enhancement

  • Added new Payment field reference timestamp to be used in conjunction with reference payment ID. These two fields are used for performing gap payments.

  • New APIs: Payment::setReferenceTimestamp and Payment::getReferenceTimestamp.

PSDK-2074

Enhancement

  • Enhancement to support an externally managed connection to a terminal.

  • Created a method to pass an existing terminal connection to the PSDK during initialize.

PSDK-2079

Enhancement

  • Added ability to set the type of content when presenting custom content on the terminal. The type can be set to one of error, info, display, or action. New API TransactionManager::presentCustomerContent2 allowing enum DisplayType.

PSDK-2151

Enhancement

  • Enabled quantity, unit price, and other information to be sent for the line item display on the terminal.

PSDK-2174

Enhancement

  • Enhancement to request customer language to be used on the terminal during a transaction. Only for terminals which support it. Updated the Transaction API to add [set/get]CustomerLanguage

PSDK-2178

Enhancement

  • Better support for SCA terminal event notifications.

PSDK-2210

Enhancement

  • Added get/setSaleNote methods to Payment interface to retrieve or optionally set a Reference/Sales Note. Added get/setSaleNote methods to TransactionQuery interface to retrieve or optionally set a Reference/Sales Note to allow querying based on the Sale Note

PSDK-2217

Enhancement

  • Enhancement to pass tax information(tax code and amount) in payment completed events on terminals that support it.

PSDK-280

Enhancement

  • Enhanced TransactionQuery to allow for querying by card number. New API TransactionQuery.setCardInformation.

ESAMDOCS-24126

Bug fix

  • Fixes crash in native code when calling PaymentSdk::removeListener().

PSDK-2146

Bug fix

  • Fixes issue where TransactionManager::getDeviceInformation() may return empty fields.

PSDK-2170

Bug fix

  • Suppressed login events during initialization.

PSDK-2171

Bug fix

  • Fix for when the currency of transactions was set by the system locale. The currency for transactions will no longer be set by the POS system locale. You will need to explicitly set it on the Transaction when starting a session.

PSDK-2172

Bug fix

  • Deprecated Transaction::getTransactionId and setTransactionId. Please use Transaction::getInvoiceId and setInvoiceId going forward.

PSDK-2179

Bug fix

  • Fixes issue where user input requests which timeout are not properly communicated back to the terminal.

PSDK-2187

Bug fix

  • Event messages for “Action X is not allowed in state Y” have been updated to have human readable values for X and Y.

PSDK-2207

Bug fix

  • Updated initialization logic when connecting to an SCA terminal in North America to skip sending a message during connection verification if we have not yet registered with the terminal.

PSDK-2216

Bug fix

  • Fixes native crash in the DeviceScanner during PaymentSdk::initialize on Android. For Android and Java platforms, attaching the native threads to the JVM once per background thread during initialization instead of multiple times.

PSDK-830

Bug fix

  • Addressed issue where session ID may not be present in events in certain conditions.

PSDK_3.31.0

Ticket

Type

Description

PSDK-2143

Documentation

  • Updated documentation to provide TOC entry for starting page and refactored various pages to improve navigation.

PSDK-2167

Documentation

  • Fixed Kotlin documentation samples for initialization.

PSDK-2168

Documentation

  • Fixed C# documentation sample for connecting to a new device.

PSDK-2024

Enhancement

  • Enhanced the input request sent to the payment app so that it can differentiate between email and string input type requests.

PSDK-2075

Enhancement

  • Added new apis to UserInputEventResponse: setTimedOut and setCancelled. Allows the POS to communicate timed-out or cancelled user input requests.

PSDK-2129

Enhancement

  • Added new event notification types for terminals that support them:

    • WAITING_FOR_CUSTOMER_APP_SELECTION

    • WAITING_FOR ACCOUNT

    • WAITING_FOR_PIN

    • WAITING_FOR_TIP

    • WAITING_FOR_SURCHARGE

    • WAITING_FOR_CURRENCY

    • DEVICE_TAMPERED

    • WAITING_FOR_CASH

    • WAITING_FOR_SIGNATURE

PSDK-2130

Enhancement

  • Add InternalData pass-through to InputRequest/Response for legacy POS integration support

PSDK-2131

Enhancement

  • Enhanced the NEXO payment request to pass the requested payment type for a transaction. This will allow the payment app to skip the payment type screen on terminals that support it.

PSDK-2162

Enhancement

  • Made the changes to allow connecting to any device when connecting on Android Verifone terminal. This fixes the issues with logical ID verification on terminal connection.

PSDK-2103

Bug fix

  • Fix cases where an incorrect event is sent in response to a request.

PSDK-2135

Bug fix

  • Fix cases when AccountType is not being set in the TransactionEvent.

PSDK-2137

Bug fix

  • Enhanced PaymentAdapter logs messages to make them more meaningful.

PSDK-2144

Bug fix

  • Fix cases where cashier ID isn’t sent to the terminal in various requests.

PSDK-2166

Bug fix

  • Fixes issue where card PAN’s different than 16 digits long were missing in the CardInformation.

PSDK-2169

Bug fix

  • Updated the Reference Apps to be able to login with MultiMerchant terminals.

PSDK_3.30.0

Ticket

Type

Description

PSDK-2080

Enhancement

  • Allow input requests to be sent to the NEXO terminal when not logged in yet.

PSDK-2081

Enhancement

  • Added support for plain text receipts in Receipt object.

  • New API Receipt::getAsPlainText()

PSDK-2085

Enhancement

  • Added support for gratuity adjustment on completed payments for terminals that support it.

  • New TransactionType::GRATUITY_ADJUSTMENT to be used with TransactionManager::startPayment.

  • New TransactionManager::GRATUITY_ADJUSTMENT_CAPABILITY to be used with TransactionManager::isCapable.

PSDK-2086

Enhancement

  • Added keep-alive timeout handling mechanism for those terminals that support keep-alive messages.

PSDK-2088

Enhancement

  • Added support for Payment::getAllowedOperations and Payment::getEventLog for Payments returned after a void operation.

PSDK-2091

Enhancement

  • Optimization in handling NEXO payment responses for handling app specific data.

PSDK-2094

Enhancement

  • Optimized the event GetMessage() API for efficiency and localization.

PSDK-2105

Enhancement

  • Allow print requests to be sent to the NEXO terminal when not logged in yet.

PSDK-2050

Bug fix

  • Switched to using steady clock for all time measurements to protect against changes in system time.

PSDK-2133

Bug fix

  • Corrected logic to allow making a linked full refund request without needing to set the requested amount totals on the payment.

PSDK_3.28.0

Ticket

Type

Description

PSDK-2052

Documentation

  • Added link to the bottom of documentation to allow downloading the complete documentation.

PSDK-2070

Documentation

  • Update documentation to always use “setRequestedPaymentType” vs. “setPaymentType” in code samples when making a payment and setting the payment type.

PSDK-2022

Enhancement

  • Resolved an issue in the iOS Reference Application where it was not correctly calculating the basket total.

PSDK-2033

Enhancement

  • Check print capability of terminal before sending print requests.

PSDK-2047

Enhancement

  • Enabling the token to be set even when the payment method is unset, and unifying the logic so that the different messages use the same code to write the token value.

PSDK-2053

Enhancement

  • Added an enum STATUS_TEARDOWN to mark the teardown complete of PSDK

PSDK-2080

Enhancement

  • Updated state verification to allow request input to occur prior to a session being established.

PSDK-2083

Enhancement

  • API Change: Payment.allowedPaymentOperations and Payment.getOperationsHistory optional(nullable).

PSDK-1947

Bug fix

  • Added localization for error condition.

  • Changed Event message for NEXO terminals to only include the additional response returned by the terminal.

PSDK-2043

Bug fix

  • Resolves improper report query with a payment and isOnline set to true.

PSDK-2059

Bug fix

  • Resolves issue where the invoice ID could return from a payment completion with garbage.

PSDK-2071

Bug fix

  • Made the state logic within the PSDK more robust, now we can handle duplicate messages from the terminal without getting into an invalid state.

PSDK-2078

Bug fix

  • Fix missing localized string for PSDK_OPERATION_COMPLETED_SUCCESSFULLY

PSDK-2095

Bug fix

  • Fix addressing a race condition on initialization which could cause a crash.

PSDK_3.27.0

Ticket

Type

Description

PSDK-2013

Documentation

  • Added a paragraph above the API section describing the meaning of “optional” parameters with references to all of the platforms.

PSDK-2029

Documentation

  • Updated the slim integrated documentation to make it more clear how to handle the host authorization and host finalization events.

PSDK-2032

Enhancement

  • Updated the Android reference application to use the CommerceListenerAdapter.

PSDK-1630

Enhancement

  • Added a new API to TransactionManager, for printing receipts on the terminal. Based on DeliveryMethod settings and terminal capabilities, it prints the document on the terminal or send SMS/Email.

PSDK-1799

Enhancement

  • Added Targets ElementAcquirerId and PaymentAppSpecificData for transaction_report_request.

  • Also modified transaction search request to update a valid invoice id from payment’s app_specific_data

PSDK-1989

Enhancement

  • Enable the ability to set the Operator Locale via the LoginCredentials::setOperatorLocale. Setting the operator locale will be persisted by the PSDK. This feature is not supported by all terminals.

PSDK-2000

Enhancement

  • Enabled the app specific data field from the Developer SDK 2.x to be used with the PSDK 3+ for transactions.

ESAMDOCS-22506

Bug fix

  • Resolved a bug in the underlying TCP/IP connection logic causing connection hang on zero byte read.

PSDK-1183

Bug fix

  • Fixed reprint receipt handling.

PSDK-1906

Bug fix

  • Fixes when slim integration authorization shows as a partial approval when no amount is provided.

PSDK-1983

Bug fix

  • Changed the recovery procedure to allow listening for reconnection from the terminal when the connection is lost unexpectedly in server mode

PSDK-1988

Bug fix

  • Implemented reduced length invoice ID generation (in case if invoice ID has not been provided by user)  consisting of 6 alpha-numeric characters

PSDK-1991

Bug fix

  • Fixed the tear down issue when connection is lost to terminal.

PSDK-2016

Bug fix

  • Added printer capabilities PRINTER_NO_CUTTER_LINE_FEED and PRINTER_MINIMALLY_CLEAR_CUTTER to Printer.

PSDK-2027

Bug fix

  • Adds support for PaymentType::ALTERNATE_TYPE when operating with NEXO based terminals.

PSDK-2031

Bug fix

  • When the terminal has been identified as VEPP/VIM we will use service identification “GatewayConnectionTest” to test host connection.

PSDK-2034

Bug fix

  • Add support for Payment.getAppSpecificData for gift card operations.

PSDK-2049

Bug fix

  • Now using clock that is not affected by system clock updates to calculate device scanner retry and timeout deltas

PSDK_3.26.0

Ticket

Type

Description

PSDK-1946

Documentation

  • Updated documentation with more details about error handling and cancellation.

PSDK-1961

Documentation

  • Updated documentation to remove references to “use_device” and “forget_device” from the client and server initialization sections and added a new section about connecting to a new device and forgetting the persistent device information.

PSDK-1971

Documentation

  • Corrected the documentation code samples where AmountTotals were being used with method chaining when not supported.

PSDK-1976

Documentation

  • Updated documentation code sample for handling user input events to use sendInputResponse rather than sendEventResponse.

PSDK-1823

Enhancement

  • Add support for allowing TransactionType::Deposit when performing a TransactionManager::startPayment on terminals that support the capability.

PSDK-1925

Enhancement

  • Added support for negotiating login for EPAS terminals.

PSDK-1960

Enhancement

  • Fixes issue where merchant and acquirer information wasn’t present when requesting the device information asynchronously via TransactionManager.getDeviceInformation.

PSDK-1963

Enhancement

  • Add support for InputRequest when connected to Ocius application version 2.9 and above.

ESAMDOCS-21902

Bug fix

  • Added APIs for adding/removing CommerceListener2 listeners.

ESAMDOCS-21924

Bug fix

  • Added functionality to generate an error if CreateSession was called multiple times in a transaction.

  • Updated the iOS Reference App so it only allows the user to click one button at a time eliminating the possibility of calling the same api multiple times.

PSDK-1947

Bug fix

  • Added localization support for error condition when presented in event message.

PSDK-1975

Bug fix

  • Remove DEVICE_PORT_KEY when PaymentSdk::UseDevice is called to forget the device.

PSDK-1979

Bug fix

  • Corrected API documentation for ReportManager::getTotalsForGroup.

  • Corrected following ReportManager apis to pass optional values to match API documentation, getTotalsForGroup, closePeriodAndReconcile ,reconcileWithAcquirers.

PSDK-1980

Bug fix

  • Corrected cases where the Payment.AccountType was not being set.

PSDK-1984

Bug fix

  • Corrected where PresentationMethod::CTLS_MAG_STRIPE resolved to PresentationMethod::MAG_STRIPE in certain situations.

PSDK-1992

Bug fix

  • Allowing pre-auth completion, if original POI transaction has payment app data.

PSDK-2002

Bug fix

  • Corrects ReportManager::closePeriod when using VIM terminal.

PSDK-2004

Bug fix

  • Implemented retrieval of currency locale information via JNI on Android (NDK does not provide a way to get locale data).

PSDK-2010

Bug fix

  • Corrected NEXO LoginRequest to request for CP trigger support from payment application.

PSDK_3.25.0

Ticket

Type

Description

PSDK-1836

Enhancement

  • Adds support for requesting Apple/Android VAS data when requesting card data with terminals that support this feature. A new PresentationMethod.VAS has been added for passing when TransactionManager.requestCardData is called. Accessing the VAS information is through the CardInformation.setVasData and CardInformation.getVasData. VAS data will be in base64 encoded form.

PSDK-1929

Enhancement

  • Added support for new commerce platform trigger TECH_ALT_PAYMENT

PSDK-1933

Enhancement

  • Added new API TransactionManager.requestCardDataWithAids to request card data for only cards matching the passed in AIDs.

PSDK-1818

Enhancement

  • Enabled the BasketAdjustedEvent with terminals including the CM5, M440, and T650 devices.

PSDK-1911

Enhancement

  • Added constant PsdkDeviceInformation.ACCEPT_ANY_DEVICE_VALUE, configuring the PSDK to accept the first connection to any terminal, ignoring the most recently connected terminal, during initialization. This is generally used when the network has configured devices statically, there’s no need to verify that the device ID matches the previous connection on this type of network, but this can also be useful with other connection types.

PSDK-1943

Enhancement

  • More efficiently read the data from the terminal during discovery/initialization using the Initialized EventNotification from the Terminal. This also resolves an issue with two Login Completed Events being sent.

PSDK-1955

Enhancement

  • Enables the Invoice ID to be included in stored value request and responses.

PSDK-1957

Enhancement

  • Added getExpiryDate() method to Payment object, enabling the POS to know when a pre-auth or deferred payment will expire.

PSDK-1959

Enhancement

  • Added a new PaymentOperation.CREATED enum, returned in the Payment.getOperationsHistory() list to indicate when the payment was first created.

PSDK-1960

Enhancement

  • Fixes issue where merchant and acquirer information wasn’t present when requesting the device information through PaymentSdk.getDeviceInformation.

ESAMDOCS-21993

Enhancement

  • Added “Diners Club” as a new PaymentBrand.

PSDK-1942

Bug fix

  • Double login events during initialization has been fixed by handling the terminal’s initialized event notification more efficiently.

PSDK-1977

Bug fix

  • Fix a bug where during initialization if the port number to connect a terminal is sent in the config parameters for initializeWithValues() API that port number was not being honored by PSDK.

PSDK-1895

Bug fix

  • Added missing header for DeviceManagementActions to the library package.

PSDK-1771

Bug fix

  • Resolved possible deadlock during connection recovery which could prevent timeout notification from being sent to the user code.

PSDK-1956

Bug fix

  • Fixes Window’s issue where BasketManager.getBasket or BasketManager.getAmountTotals could fail.

PSDK_3.24.0

Ticket

Type

Description

PSDK-1912

Documentation

  • Updated the documentation section on Server Mode initialization to configure “TcpIpConnection” as the connection type and “*” as the device serial number in the parameter map passed into IntializeFromValues().

PSDK-1892

Documentation

  • Swift examples in the documentation has been updated with correct syntax.

PSDK-1910

Documentation

  • Updated migration section of PSDK documentation to document that TearDown() has been deprecated from the TransactionManager API.

PSDK-1872

Documentation

  • Updates to migration from 2.x section in PSDK documentation.

PSDK-506

Enhancement

  • Added optional amount breakdown to transaction context to allow CP applications to accumulate shift/ transaction totals. Added below fields to transaction context.

    • CashBack_Amount

    • Gratuity_Amount

    • Tax_Amount

    • Surcharge_Amount

PSDK-1883

Enhancement

  • PaymentSdk artifacts are packaged in to zip files with names following a standardized naming convention.

PSDK-1915

Enhancement

  • The transaction reports now include reversals. There is now a Payment object with appropriate fields populate for each reversal returned by the terminal in TransactionReportResponse

PSDK-1900

Enhancement

  • For basket operations If amount totals is passed as null or unset, send event back with INVALID_ARGUMENTS and message as “Unable to perform basket operation with invalid amount totals”.

  • Updated basket manager api’s and basket flow documentation about amount totals as required field.

PSDK-1917

Bug fix

  • Resolved a defect where querying for pre-auth transactions wasn’t working correctly.

PSDK-1771

Bug fix

  • Resolved possible deadlock during connection recovery which could prevent timeout notification from being sent to the user code

PSDK_3.23.0

Ticket

Type

Description

PSDK-1881

Documentation

  • Added code examples for the print event which require sending a response to the event. Also integrated the code samples into the pay at the table flow for printing a receipt.

PSDK-1901

Documentation

  • Updates to the ReportManager documentation for capabilities checking with isCapable().

PSDK-1703

API Change

  • Updated the Windows API to make it consistent across all platforms.

  • Changes to the Android, iOS, and Linux APIs:

    • Removed unused AccessibilityError enum.

    • Removed deprecated constants SESSION_START_FAILED, SESSION_RESUME_FAILED, and SESSION_END_FAILED from TransactionManager.

    • Changed RequestParameters.setIsFromRightToLeft to setFromRightToLeft

    • Changed MenuEntry.setIsSelectedByDefault to setSelectedByDefault.

  • For Windows, enabled the PerformDeviceManagement API, consistently use UWP properties for fields, fixed some constant and API names to be consistent with the documentation and the other platforms.

PSDK-1828

Enhancement

  • Updated the iOS build process to follow the latest recommendations from apple to generate a Universal Binary that support OS64 and SIM64.

  • The documentation has been updated to reflect the updated name of the framework “PaymentSdk.xcframework”. If you have a previous version of the PaymentSdk.framework, you will have to remove it from your codebase, remove it from the project settings (Embedded Framework), and add the new PaymentSdk.xcframework.

PSDK-1894

Enhancement

  • Adding a new API to Payment class for querying the payment operation history:

    const getOperationsHistory(): list<PaymentOperationHistory>

    This new call allows to get history of operations performed on a payment, including, but not limited to pre-authorizations. The new PaymentOperationHistory type provides the following fields via getters appropriate for your platform:

    //The operation amount
    amount: optional<Decimal>;
    //Whether operation was authorized
    authorized: optional<bool>;
    //Operation timestamp
    timestamp: string;
    //Operation type
    payment_operation: PaymentOperation;

PSDK-1807

Bug fix

  • Fix for a bug where an incorrect item amount may be shown on the terminal when modifying basket items with the BasketManager.

PSDK-1886

Bug fix

  • Fix a bug where during a refund the Payment.getReferencePaymentId and Payment.getReferencePaymentId were populated incorrectly.

PSDK-1890

Bug fix

  • Error was discovered in the iOS Reference Application during launching the popup to get the IP address of the terminal. This issue is fixed by performing this task in the main thread.

PSDK_3.22.0

Ticket

Type

Description

PSDK-1880

Documentation

  • Improvements to the presentation of the release notes

  • Improvements to the presentation of the integration diagrams.

PSDK-1857

Documentation

  • Added CommerceListener2 & CommerceListenerAdapter migration guide to documentation.

  • Updated the code examples to use the CommerceListenerAdapter.

PSDK-1800

Documentation

  • Updated documentation to document server (listening mode) and client mode initializations, which encompass first time connection, connect to previous device, and change device.

PSDK-1868

Enhancement

  • Improvements to writing currency amounts in NEXO and SCI protocol.

PSDK-1838

Enhancement

  • For Windows we removed a dependency on Pthreads.

PSDK-1803

Enhancement

  • Enhanced query operations on pre-auth transactions to provide allowed follow on transactions. Requires a change in terminal payment application as well.

PSDK-1826

Bug fix

  • Fixed bug where ReportManager::isCapable wasn’t reporting reconciliation capabilities correctly. Requires a change on the terminal payment application as well.

PSDK_3.21.0

Ticket

Type

Description

PSDK_1878

Documentation

  • Added release notes to documentation

PSDK-1841

Documentation

  • Added documentation to describe the semi-integrated, slim-integrated, and fully-integrated integration modes.

PSDK-1815

API Change

Bug fix

  • Windows we removed the PaymentSdk::sendEventResponse method. This method only existed on the Windows platform and is redundant to TransactionManager::sendEventResponse.

  • Windows we fixed handling print events.

PSDK-1807

Bug fix

  • Fixes a bug when updating the basket with Merchandise when the Merchandise has a different reference than the one in the basket. Merchandise are compared against their basket item ID and then merged.

PSDK-1735

Bug fix

  • Fixes bug when the DEVICE_HOST_AUTHENTICATION_KEY is not cleared when PaymentSdk::UseDevice is called to clear the previous paired device.

PSDK-1831

Enhancement

  • Improvement on how decimal values are parsed in the NEXO protocol.

PSDK-1821

Enhancement

  • Code optimization for how the PaymentSDK manages the old and new commerce listener.

PSDK-1783

Enhancement

  • The PsdkDeviceInformation object now contains the list of merchants that can be accessed on the terminal, supporting multi-merchant configurations.

PSDK-1745

Enhancement

  • Improvements to SCI terminal registration.

PSDK-1730

Enhancement

  • Localized strings used in the common PSDK code has been moved to its own file to improve build process.

PSDK-1702

Enhancement

  • The registered CommerceListener now receives all errors, not just the ones that happen after sending the message to the terminal.