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 to Terminal.confirmPaymentIntent.
Update: Terminal.processRefund has been renamed to Terminal.confirmRefund.
Update: ReconnectionDelegate methods now provide the instance of the Reader that is being reconnected to instead of the Terminal instance.
Update: Removed the SCPErrorBusy error. The SDK will now queue incoming commands if another command is already running.
Update: Removed SCPErrorCannotConnectToUndiscoveredReader and SCPErrorMustBeDiscoveringToConnect errors. The SDK now supports connecting to an SCPReader 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 when connectReader is called. This is a behavior change from 2.x where discoverReaders would continue running until connect succeeded. If connect fails you can retry connecting to a previously discovered SCPReader or restart discoverReaders.
Update: Canceling discoverReaders now completes with an SCPErrorCanceled error. Previously no error was provided when canceled.
Update: DiscoveryConfiguration is now a protocol with concrete classes for each discovery method: BluetoothScanDiscoveryConfiguration, BluetoothProximityDiscoveryConfiguration, InternetDiscoveryConfiguration, and LocalMobileDiscoveryConfiguration. Each class has a Builder 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 use SCPPaymentIntentParametersBuilder which has setters for all the parameters and a build: method to create the SCPPaymentIntentParameters instance.
Update: Removed CardDetails.fingerprint and CardPresentDetails.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.
SCPPaymentIntent.stripeId
is now nullable to support offline payments.Terminal.processPayment
has been renamed toTerminal.confirmPaymentIntent
.Terminal.processRefund
has been renamed toTerminal.confirmRefund
.ReconnectionDelegate
methods now provide the instance of theReader
that is being reconnected to instead of theTerminal
instance.SCPErrorBusy
error. The SDK will now queue incoming commands if another command is already running.SCPErrorCannotConnectToUndiscoveredReader
andSCPErrorMustBeDiscoveringToConnect
errors. The SDK now supports connecting to anSCPReader
instance that was previously discovered without needing to restart discovery.Terminal.readReusableCard
. This functionality is replaced by SetupIntents.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
.discoverReaders
now completes with anSCPErrorCanceled
error. Previously no error was provided when canceled.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.SCPPaymentIntentParameters
useSCPPaymentIntentParametersBuilder
which has setters for all the parameters and abuild:
method to create theSCPPaymentIntentParameters
instance.CardDetails.fingerprint
andCardPresentDetails.fingerprint
. You will still be able to access the fingerprint server-side using Stripe server-side SDKs.SCPDiscoveryConfiguration.timeout
is now respected when using simulated Bluetooth scan.