Releases: stripe/stripe-terminal-ios
Releases · stripe/stripe-terminal-ios
4.7.3
4.7.2
4.7.2 2025-09-15
Fixes
- Fixes an issue where
connectReader
for Tap to Pay on iPhone would incorrectly report success if an Apple-provided reader software upate was interrupted by the app moving to the background.
4.7.1
4.7.0
4.7.0 2025-09-04
New
- Support for PayNow, a popular payment method in Singapore, is now available for Terminal smart readers in public preview.
- Support for PayPay, a popular digital wallet in Japan, is now available for Terminal smart readers in private preview.
- If you are interested in joining this preview, please contact Stripe support.
Fixes
- Fixes #355: SDK will now correctly report
SCPErrorOfflineEncryptionKeysUnavailable
instead ofSCPErrorUnexpectedSdkError
when the iOS device is locked and the offline encryption keys are unavailable.
4.6.1
4.6.1 2025-08-07
- Built with Xcode 16.0 Swift version 6.0.
Fixes
- Fixed issue with connecting to a reader for the first time while offline
4.6.0
4.6.0 2025-08-04
- Built with Xcode 16.0 Swift version 6.0.
New
- Improved error handling when device is tampered. Connecting to a tampered reader will now fail with the
SCPErrorReaderTampered
error code. - Preview: Added
ConfirmConfiguration.surcharge
andSurchargeConfiguration
to configure surcharging onconfirmPaymentIntent
.- If you are interested in joining the preview, please contact Stripe support.
- Preview: Added a
print
method to enable printing images on the Verifone V660p reader.- If you are interested in joining the preview, please contact Stripe support.
Updates
- Preview: The
ConfirmConfiguration.amountSurcharge
field has been renamed toConfirmConfiguration.surcharge.amount
.- If you are interested in joining this preview, please contact Stripe support.
4.5.0
- Built with Xcode 16.0 Swift version 6.0.
New
- New: Added
cardholderVerificationMethod
toSCPReceiptDetails
.- See
cardholder_verification_method
for the list of supported verification methods.
- See
Updates
- iOS Location permission is no longer enforced when discovering readers, and will instead only be enforced when confirming payment intents.
Fixes
- Fixed issue with issuing Interac refunds when
onBehalfOf
parameter is provided. - Fixed issue where
SCPCardPresentParameters
fields were dropped. - Fixed issue where calling
discoverReaders
while a mobile reader is connected would cause the SDK to enter an unexpected state preventing subsequentcollectPaymentMethod
requests from responding.
4.4.0
- Built with Xcode 16.0 Swift version 6.0.
New
- Added simulated Internet reader support for collecting inputs. See the updated
SCPSimulatorConfiguration
for usage. - Added
TapToPayInternalNetworkError
error code for network errors surfaced in Tap to Pay on iPhone and changed related errors fromInternalNetworkError
toTapToPayInternalNetworkError
. - Added new mobile reader disconnect reasons:
bluetoothSignalLost
,usbDisconnected
, andidlePowerDown
toSCPDisconnectReason
.
Fixes
- Fixed an issue where calling
collectPaymentMethod
when no reader was connected to the SDK falsely returnedSCPErrorFeatureNotAvailableWithConnectedReader
. This error is now correctly reported asSCPErrorNotConnectedToReader
. - Fixed an issue where the auto-reconnect feature would attempt to reconnect after a reader disconnected due to critically low battery and then disconnect again. Auto-reconnect is no longer attempted in this scenario.
- Fixed an issue where connection attempt to a reader incorrectly returned
SCPErrorNotConnectedToInternet
if fetching the connection token failed. The correct errorSCPErrorConnectionTokenProviderCompletedWithError
is now reported instead. - Fixed an issue where the WisePad 3 reader would remain on the processing screen for 30 seconds when a collectPaymentMethod request with
updatePaymentIntent
applied fails. The reader now exits the processing screen immediately.
4.3.0
- Built with Xcode 16.0 Swift version 6.0.
- New: Added field
requestPartialAuthorization
toSCPCardPresentParameters
.- If you are interested in joining this preview, please email stripe-terminal-betas@stripe.com.
- New: Added field
cardDetails
toSCPPaymentMethodDetails
.- Note for internet reader integrations, this feature requires reader software version
2.31
or later to be installed on your internet reader.
- Note for internet reader integrations, this feature requires reader software version
- Update: If the
fetchConnectionToken
completion block is called with an empty string for the token the SDK will fail the command withSCPErrorConnectionTokenProviderCompletedWithNothing
. - Fix: Resolved an issue where the SDK could be left in an unexpected state if
discoverReaders
was called while an existingdiscoverReaders
was already in progress. - Preview: CollectInputs now requires a unique
id
for eachSelectionButton
.- If you are interested in joining this preview, please email stripe-terminal-betas@stripe.com.
- Fix: Auto reconnect now reports
SCPErrorBluetoothConnectTimedOut
if it times out reconnecting to a reader instead ofSCPErrorCanceled
. - Fix: Auto reconnect will continue trying to reconnect while the app is in the background. When the app becomes active the reconnect timer will give another 60 seconds for reconnect to succeed before timing out.
- Fix: Resolved an issue where the
allowRedisplay
parameter was not correctly applied when usingupdatePaymentIntent
withcollectPaymentMethod
4.2.0
4.2.0 2024-02-14
- Built with Xcode 16.0 Swift version 6.0.
- New: Added
collectionReason
toSCPSetupIntentConfiguration
.- This field can only be changed for Tap To Pay readers. The default value is saveCard.
- Added a new
Terminal.stringFromError
method to convert anSCPError
to a non-localized string of the enum values name. - Update: updatePaymentIntent is now supported when offline mode is enabled.
- Update: Validation of location services has been added to Tap to Pay and mobile readers during
collectPaymentMethod
,collectSetupIntent
, andcollectRefund
. This validation was already being enforced byconfirmPaymentIntent
,confirmSetupIntent
, andconfirmRefund
, and is now extended to return the error earlier in the payment process. - Update: Added support for operating offline with simulated Bluetooth and Internet readers.
- Fix: Resolved a rare deadlock crash during the Bluetooth scan discovery process.
- Fix: Prevented a minor memory leak each time the SDK connects to a reader.