Skip to content

Commit

Permalink
Release 4.3.3
Browse files Browse the repository at this point in the history
* [IMPROVEMENT] Tip on Card Reader (TCR) feature, allowing tips to optionally be prompted-for on supported card readers' displays instead of on the iPhone/iPad display.
* [IMPROVEMENT] Connecting and disconnecting multiple times to a Solo card reader from the Checkout Preferences screen could cause it to get into a state where connection was not possible anymore. This issue has been fixed.
* [IMPROVEMENT] Solo card reader support in the SDK has left beta phase.
* [BUGFIX] Removed internal use of UIAppearance to override colors of navigation bars. This caused issues with host apps.
  • Loading branch information
jadeburton-sumup committed Mar 23, 2023
1 parent f704bf5 commit 7459529
Show file tree
Hide file tree
Showing 143 changed files with 728 additions and 14 deletions.
7 changes: 7 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,12 @@
# SumUp iOS SDK Changelog

## Version 4.3.3

* [IMPROVEMENT] Tip on Card Reader (TCR) feature, allowing tips to optionally be prompted-for on supported card readers' displays instead of on the iPhone/iPad display.
* [IMPROVEMENT] Connecting and disconnecting multiple times to a Solo card reader from the Checkout Preferences screen could cause it to get into a state where connection was not possible anymore. This issue has been fixed.
* [IMPROVEMENT] Solo card reader support in the SDK has left beta phase.
* [BUGFIX] Removed internal use of UIAppearance to override colors of navigation bars. This caused issues with host apps.

## Version 4.3.1

* [BUGFIX] Podspec fix. The release v4.3.0 does not work with Cocoapods due to an issue in the Podspec file. All changes mentioned in v4.3.0 are available in this release.
Expand Down
23 changes: 22 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
[![Platform](https://img.shields.io/badge/Platform-iOS-lightgrey.svg?style=flat-square)](#prerequisites)
[![Created](https://img.shields.io/badge/Made%20by-SumUp-blue.svg?style=flat-square)](https://sumup.com)
[![Supports](https://img.shields.io/badge/Requires-iOS%2010+-red.svg?style=flat-square)]()
[![Version](https://img.shields.io/badge/Version-4.3.1-yellowgreen.svg?style=flat-square)](CHANGELOG.md)
[![Version](https://img.shields.io/badge/Version-4.3.3-yellowgreen.svg?style=flat-square)](CHANGELOG.md)
[![License](https://img.shields.io/badge/License-SumUp-brightgreen.svg?style=flat-square)](LICENSE)
[![CocoaPods](https://img.shields.io/cocoapods/v/SumUpSDK.svg?style=flat-square)]()
[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage)
Expand Down Expand Up @@ -36,6 +36,27 @@ For more information, please refer to

* Starting with firmware version 1.0.1.84, Air card readers with serial numbers starting with 108, 109 or later require iOS SDK 4.3.0 and later. Please update to the latest iOS SDK version if you need to support these readers.


### Tip on Card Reader (TCR)

There are three modes for tipping:

1. No tipping. Leave tipAmount set to nil when creating the SMPCheckoutRequest object.

2. Programmatic tipping via the tipAmount property. Ask the user in your own UI for an appropriate tip amount and then set the tipAmount property on SMPCheckoutRequest. This will be added to the total amount, but will be displayed to the user separately during checkout.

3. Tip on Card Reader. TCR prompts the customer directly on the card reader's display for a tip amount, rather than prompting for a tip amount on the iPhone or iPad display.

Important: Not all card readers support this feature. To find out if the feature is supported for the last-used card reader, you should always check SMPSumUpSDK.isTipOnCardReaderAvailable. You must handle this case yourself in order to avoid no tip from being prompted.

To do this:

Before calling SMPSumUpSDK checkoutWithRequest:fromViewController:completion:, check SMPSumUpSDK.isTipOnCardReaderAvailable:

- If NO, you should prompt the user for a tip amount yourself and set tipAmount on SMPCheckoutRequest

- If YES, you may set tipOnCardReaderIfAvailable on SMPCheckoutRequest to YES. Do not prompt the user for a tip amount or set tipAmount if you do this.

### Table of Contents
* [Installation](#installation)
* [Manual Integration](#manual-integration)
Expand Down
4 changes: 2 additions & 2 deletions SampleApp/SumUpSDKSampleApp.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -448,7 +448,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MARKETING_VERSION = 4.2.1;
MARKETING_VERSION = 4.3.3;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_VERSION = 5.0;
Expand Down Expand Up @@ -496,7 +496,7 @@
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
MARKETING_VERSION = 4.2.1;
MARKETING_VERSION = 4.3.3;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
Expand Down
2 changes: 1 addition & 1 deletion SumUpSDK.podspec
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Pod::Spec.new do |s|
s.cocoapods_version = '>= 1.9'

s.name = "SumUpSDK"
s.version = "4.3.1"
s.version = "4.3.3"
s.summary = "This SDK enables you to integrate SumUp's proprietary card terminal(s) and its payment platform to accept credit and debit card payments."

s.description = <<-DESC
Expand Down
12 changes: 6 additions & 6 deletions SumUpSDK.xcframework/Info.plist
Original file line number Diff line number Diff line change
Expand Up @@ -6,29 +6,29 @@
<array>
<dict>
<key>LibraryIdentifier</key>
<string>ios-arm64</string>
<string>ios-x86_64-simulator</string>
<key>LibraryPath</key>
<string>SumUpSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>arm64</string>
<string>x86_64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
<dict>
<key>LibraryIdentifier</key>
<string>ios-x86_64-simulator</string>
<string>ios-arm64</string>
<key>LibraryPath</key>
<string>SumUpSDK.framework</string>
<key>SupportedArchitectures</key>
<array>
<string>x86_64</string>
<string>arm64</string>
</array>
<key>SupportedPlatform</key>
<string>ios</string>
<key>SupportedPlatformVariant</key>
<string>simulator</string>
</dict>
</array>
<key>CFBundlePackageType</key>
Expand Down
Binary file modified SumUpSDK.xcframework/ios-arm64/SumUpSDK.framework/Assets.car
Binary file not shown.
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
Expand Up @@ -89,14 +89,43 @@ NS_SWIFT_NAME(CheckoutRequest)
*/
@property (nonatomic, copy, nullable) NSString *foreignTransactionID;


/**
* An optional additional tip amount to be charged to a customer.
*
* @note Will be added to the totalAmount. Must be greater zero if passed.
* @note This property will be ignored if the connected card reader supports the
* Tip on Card Reader (TCR) feature and if it is enabled by setting
* tipOnCardReaderIfAvailable to YES.
*
* Important: the customer may use a reader that does not support TCR.
* You must handle this case yourself in order to avoid no tip from being prompted.
*
* To do this:
*
* Before calling SMPSumUpSDK checkoutWithRequest:fromViewController:completion:,
* check SMPSumUpSDK.isTipOnCardReaderAvailable:
*
* - If NO, you should prompt the user for a tip amount yourself and set tipAmount
*
* - If YES, you may set tipOnCardReaderIfAvailable to YES.
* Do not prompt the user for a tip amount or set tipAmount if you do this.
*
* Will be added to the totalAmount. Must be greater than zero if set.
*/
@property (nonatomic, copy, nullable) NSDecimalNumber *tipAmount;

/**
* Enables Tip on Card Reader (TCR), if the feature is available.
*
* @note TCR prompts the customer directly on the card reader's display for a tip amount,
* rather than prompting for a tip amount on the iPhone or iPad display.
*
* Not all card readers support this feature. To find out if the feature is supported for the
* last-used card reader, check SMPSumUpSDK.isTipOnCardReaderAvailable.
*
* Setting this property to YES when the feature is not available will do nothing.
*/
@property (nonatomic) BOOL tipOnCardReaderIfAvailable;

/**
* An optional count for the display of the number of sale items throughout the checkout process.
* Default is zero which will hide the display of the item count.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -177,6 +177,18 @@ typedef NS_ENUM(NSInteger, SMPSumUpSDKError) {
SMPSumUpSDKErrorInvalidAmountDecimals = 55,
} NS_SWIFT_NAME(SumUpSDKError);

#pragma mark - Features

/**
Returns YES if the last-used card reader, if any, supports the Tip on Card Reader feature (TCR).
TCR prompts the customer directly on the card reader's display for a tip amount, rather than
prompting for a tip amount on the iPhone or iPad display.
This property will equal NO if no card reader has been used before. You can optionally present
the Checkout Preferences screen to configure a card reader before the first transaction occurs
to avoid this.
*/
@property (class, readonly) BOOL isTipOnCardReaderAvailable;

#pragma mark - SDK Integration

/**
Expand Down
Loading

0 comments on commit 7459529

Please sign in to comment.