- Built with Xcode 14.3, Swift version 5.8.
- New: Private beta support for offline payments.
- See Collect payments while offline for details.
- Update: Minimum deployment target updated from iOS 11.0 to iOS 13.0.
- Update:
SCPPaymentIntent.stripeId
is now nullable to support offline payments. - Update:
Terminal.processPayment
has been renamed toTerminal.confirmPaymentIntent
. - Update:
Terminal.processRefund
has been renamed toTerminal.confirmRefund
. - Update:
ReconnectionDelegate
methods now provide the instance of theReader
that is being reconnected to instead of theTerminal
instance. - Update: Removed the
SCPErrorBusy
error. The SDK will now queue incoming commands if another command is already running. - Update: Removed
SCPErrorCannotConnectToUndiscoveredReader
andSCPErrorMustBeDiscoveringToConnect
errors. The SDK now supports connecting to anSCPReader
instance that was previously discovered without needing to restart discovery. - Update: Removed
Terminal.readReusableCard
. This functionality is replaced by SetupIntents. - Update:
discoverReaders
is now completed whenconnectReader
is called. This is a behavior change from 2.x wherediscoverReaders
would continue running until connect succeeded. If connect fails you can retry connecting to a previously discoveredSCPReader
or restartdiscoverReaders
. - Update: Canceling
discoverReaders
now completes with anSCPErrorCanceled
error. Previously no error was provided when canceled. - Update:
DiscoveryConfiguration
is now a protocol with concrete classes for each discovery method:BluetoothScanDiscoveryConfiguration
,BluetoothProximityDiscoveryConfiguration
,InternetDiscoveryConfiguration
, andLocalMobileDiscoveryConfiguration
. Each class has aBuilder
exposing only the configuration values that apply to that discovery method. - Update: Configuration and parameter classes are now immutable and need to be built with builders. Example: To create
SCPPaymentIntentParameters
useSCPPaymentIntentParametersBuilder
which has setters for all the parameters and abuild:
method to create theSCPPaymentIntentParameters
instance. - Update: Removed
CardDetails.fingerprint
andCardPresentDetails.fingerprint
. You will still be able to access the fingerprint server-side using Stripe server-side SDKs. - Fixes #240:
SCPDiscoveryConfiguration.timeout
is now respected when using simulated Bluetooth scan.