Skip to content

Releases: clover/remote-pay-ios

Remote Pay SDK for iOS v4.0.0

24 Sep 19:40
17a3844
Compare
Choose a tag to compare

Clover Connector SDK 4.0 Release

Surcharge

Updated the AdditionalCharge.rate field to explicitly support larger values and changed the AdditionalCharge.type field from a type of String to AdditionalChargeType to support new surcharge types.

Invalid State Transition

Added InvalidStateTransitionResponse. This will be sent by the Clover device when it cannot make a requested transiton due the state of its payment flow.

Incremental Preauthorization

Added a new request/response pair: IncrementPreauthRequest and IncrementPreauthResponse. This can be sent on an open preauthorization to request an increase in the authorized amount.

Tip Suggestions

Added a new amount field to the TipSuggestion object.

Swift 5 Support

This version moves to Swift 5.3.

Other Misc Updates

Pulled in some minor updates to dependencies and other minor bug fixes.

Remote Pay SDK for iOS v3.0.3

31 Jul 23:12
3d609b7
Compare
Choose a tag to compare

Bug Fix

Remote Application ID (RAID) Enforcement

Resolved an issue where a valid Remote App ID still caused the "No Clover application found" warning to be displayed when the application connected or started a payment.

Improvements

Messaging validation

Enhanced validation checks for the messages sent to the Clover device.

3.0.2

19 Mar 22:29
Compare
Choose a tag to compare

Remote Pay SDK for iOS v3.0.2

Added tipSuggestions transaction setting

The SDK now allows each transaction to include tip suggestions (amounts and text) that override the default and merchant-configured tips.

Improved messages for onTxStartResponse and onAuthTipAdjustedResponse failures

Instead of a basic “Failure” indicator, the SDK now passes complete failure messages back to consuming apps.

Improved Interac card support

Added Interac to the list of supported card types to ensure transactions with these cards process correctly.

Updated example app

The example POS now shows errors when the user tries to partially refund an auth that has not been closed. Custom per-transaction tip suggestions can also be configured using the app.

Bug fixes

Allow zero-amount tips on tip adjust

The SDK now allows tips of zero for tip adjusts.

Fixed closeoutResponse to allow nil batches

In previous versions, a closeout containing a nil batch object did not pass the expected response back to the listener. Closeout responses are now passed as expected to consumers.

Remote Pay SDK for iOS v3.0.1

08 Feb 21:12
Compare
Choose a tag to compare

3.0.1 Release Change Highlights

New language and locale information

The SDK now receives and passes a language indicator from the customer’s card. This information can be used by an integrated point of sale to print a transaction receipt in the customer’s preferred language.

Regional enhancements for Argentina

The SDK now supports transaction processing for Argentine merchants. The example point-of-sale app has been updated to show how regional parameters can be set.

New displayReceiptOptions method

The displayReceiptOptions method shows the receipt options screen for a credit, refund, or payment. This addition enhances the SDK by deprecating the displayPaymentReceiptOptions method that only worked with payments.

Vaulted card data included in transaction responses

The CardTransaction response object now includes vaultedCard data. This data can be stored and used for recurring transactions if the merchant is set up to use tokenized cards.

Bug fixes

Corrected RefundPaymentRequest logic

The fullRefund variable of RefundPaymentRequest no longer defaults to true. Previously, unless the fullRefund value was explicitly set to false, a full refund would be processed even if a specific amount less than full was provided.

The new functionality allows the user to provide a specific refund amount. That amount will be processed unless the fullRefund flag is explicitly set to true.

Corrected failed transaction logic

In previous versions, a failed transaction would restart even if the disableRestartTransactionOnFail property was set to true. The value of this property is now passed correctly and transactions will fail and not restart.

Added deviceId to openCashDrawer() method

The openCashDrawer() method now passes the OpenCashDrawerRequest.deviceId instead of nil.

3.0.0

02 Nov 22:55
Compare
Choose a tag to compare

3.0.0 Release Change Highlights

The iOS 3.0.0 release contains support for Canadian payment flows, the new Loyalty API, and Swift 4.2. We follow semantic versioning, so you didn’t miss the 2.0.0 release - we didn’t release it. This update includes all the major changes you’ll find in our other platform SDKs for both 2.0.0 and 3.0.0.

Full support of version 3.0.0 requires version 208 or higher of the Pay Display app.

New features and improvements

Regional support for Canada

We now support Canadian payment flows and Interac cards.

Loyalty API

Clover now supports loyalty services by providing the ability to recognize customers using unique identifiers. An identifier can be the customer’s name, phone number, or email address; their loyalty card with a barcode or stripe; or an Apple Pass or Google SmartTap NFC payload from the customer’s phone. The API has been updated with methods to request and retrieve this customer loyalty information.

Both the point-of-sale software and custom activities on the Clover device can access the data to perform database lookups and then customize the customer experience using the data.

Moved example apps

The iOS SDK and its example app have been split into separate repositories. This change allows for bug fixes in the example apps without affecting the SDK. This will facilitate faster iteration and improvements to the examples.

You can find the example app here: github.com/clover/remote-pay-ios-examples

Swift 4.2

The SDK has been updated to the latest Swift 4.2 language standards, in order to provide the longest runway for this version for language level support from Apple’s toolchain.

Void Payment Messaging

Added a new callback in CloverDeviceObserver for onPaymentVoided, which will be called with the void response message when communicating with remote pay vXXX and higher. In older versions of remote pay, you will receive a void response message immediately upon sending the request, while in vXXX and higher you will receive the void response message after the void has been processed and the response is sent back from the Clover Device.

SendDebugLog

Added a message to request that the Clover device send its debug logs to the Clover servers.

Fixed bugs

Tip Mode Settings

If provided, the tipMode will be sent to remote pay during a transaction. If not provided, tipMode will be set to NO_TIP if disableTipOnScreen is set, or nil if not set.

Discovery Response

The DiscoveryResponseMessage returned is now saved to CloverTransport.lastDiscoveryResponseMessage.

Signature Entry Location

signatureEntryLocation is now mapped properly in a TransactionRequest

1.4.4

24 Sep 16:42
Compare
Choose a tag to compare

1.4.4 Release Change Highlights

Support for Xcode 10

To provide compatibility with Xcode 10, the ObjectMapper dependency was updated to version 3.3.0.

NOTES

Full support of version 1.4.4 features requires version 143 or higher of the Pay Display app.

1.4.3

10 May 22:38
Compare
Choose a tag to compare

NOTES

Full support of version 1.4.3 features requires version 143 or higher of the Pay Display app.

NEW

No new features in this release.

FIXES

The PreAuth Capture flow was reverted to the V1 (pre-existing) flow by default.

1.4.2

19 Apr 21:39
e1adfdc
Compare
Choose a tag to compare

WARNING

  • This version 1.4.2 introduced a behavior change with the new PreAuth Capture flow. We realize that this should have waited until version 2.0.0 to avoid impacting existing integrations. Please use version 1.4.3 instead, which defaults the PreAuth Capture flow to the existing implementation.

NOTES

  • Full support of version 1.4.2 features requires version 169 or higher of the Pay Display app.
  • Only the updated version 2 Pre-Auth capture flow requires version 169 or higher of the Pay Display App, all other features require version 143 or higher of the Pay Display app. Version 1 Pre-Auth capture flow is still supported in version 169 and higher and by this framework.

NEW

  • Added support for the updated Pre-Auth capture flow that includes CVM verification (Requires Pay Display 169 or higher)

FIXES

  • Calling dispose() will now cleanup the websocket prior to broadcasting the disconnect to all listeners, rather than after.
  • Added Pre-Auth Capture example code to the Example App.
  • When a ReadCard operation is cancelled, the ReadCardDataResponse object will now include a reason.
  • Transaction Settings Signature Threshold is now populated in the sent message.
  • CloverConnectorBroadcaster’s listeners array was moved to private access with accessors for thread safety.

1.4.1 Swift 2.3

27 Jan 04:31
Compare
Choose a tag to compare

NOTES

  • Full support of version 1.4 features requires version 138 or higher of the Pay Display app.
  • This is the Swift 2.3 compatible version of this library.
  • A Swift 4 compatible version of this library is available under the 1.4.1 release.

NEW

  • Added the ability to query a print job status to the Print API. The new functionality is exercised in the Example app.
  • PrintImage now downloads the image locally before requesting the Clover Device to print the downloaded image. Previous behavior was for the Clover Device to download the image and print it.

FIXES

  • Example App MiscViewController's status and query payment buttons function headers now correct.
  • CloverConnectorDeviceObserver.lastRequest is now being cleared during a reset device.
  • The Example app now properly caches the auth token for pairing.
  • Added to UiStateMessage: CUSTOM_ACTIVITY and STARTING_CUSTOM_ACTIVITY, so that custom activity states are properly reported to the host application.
  • Manually disposing of a CloverConnector now fires the onDisconnect notification.
  • Example App displayed order will now be correct upon removing the last item for a particular type.

1.4.1

27 Jan 04:35
Compare
Choose a tag to compare

NOTES

  • Full support of version 1.4 features requires version 138 or higher of the Pay Display app.
  • This is the Swift 4 compatible version of this library.
  • A Swift 2.3 compatible version of this library is available under the 1.4.1-swift2.3 release.

NEW

  • Added the ability to query a print job status to the Print API. The new functionality is exercised in the Example app.
  • PrintImage now downloads the image locally before requesting the Clover Device to print the downloaded image. Previous behavior was for the Clover Device to download the image and print it.

FIXES

  • Example App MiscViewController's status and query payment buttons function headers now correct.
  • CloverDeviceEvent.DeviceEventState - the cases in this class were incorrectly named during the Swift 4 conversion. These cases have been corrected to the proper values. NOTE Swift 4 Users - this change may require a code change to rename these enums to be in line with what is the new definition.
  • onRetrieveDeviceStatusResponse - the name of the parameter was incorrectly named during the Swift 4 conversion, and is now corrected.
  • CloverConnectorDeviceObserver.lastRequest is now being cleared during a reset device.
  • The Example app now properly caches the auth token for pairing.
  • Added to UiStateMessage: CUSTOM_ACTIVITY and STARTING_CUSTOM_ACTIVITY, so that custom activity states are properly reported to the host application.
  • Manually disposing of a CloverConnector now fires the onDisconnect notification.
  • Example App displayed order will now be correct upon removing the last item for a particular type.