5.5.0 2026-05-04
New
- Preview: Surcharging - Refactored the surcharge API surface.
- Added new
SCPSurchargeDetailsclass withamount,maximumAmount, andstatusonSCPAmountDetails.surcharge. - Breaking:
SCPSurchargeclass (underSCPCardPresentParameters) has been removed. UseSCPSurchargeDetailsformaximumAmountandstatus.statusis now aSCPSurchargeStatusenum instead ofNSString. - Breaking:
SCPPaymentIntent.amountSurcharge(top-level) has been removed. UseSCPAmountDetails.surcharge.amountinstead. - To request access to this feature, please contact Stripe Support.
- Added new
- Tap to Pay: Added method
isTapToPayAccountLinked, which checks if the current Stripe account has a linked Tap to Pay on iPhone account that has accepted the Apple Tap to Pay Terms of Service. - Added simulated offline mode support for testing offline payment flows without a physical network disruption. The simulation capability is currently in preview.
- Added
simulatedOfflineModeConfigurationproperty andsetSimulatedOfflineModeConfiguration:error:method toSCPTerminal. - Added
SCPSimulatedOfflineModeConfigurationandSCPSimulatedOfflineModeConfigurationBuilderto configure SDK and reader offline behavior independently. - Added
SCPSimulatedOfflineModeenum with values:disabled,offlineImmediate,offlineTimeout, andofflineIntermittent. - Returns
SCPErrorSimulatedOfflineModeNotAvailableForAccountif you do not have access, andSCPErrorSimulatedOfflineModeNotAvailableInLivemodeif connected to a livemode reader. - To request access to this feature, please contact Stripe Support.
- Added
- Added support for simulating software update scenarios on physical mobile readers in test mode.
- Added
SCPTestReaderUpdateandSCPTestReaderUpdateTypewith scenarios: available, required, required-for-offline, and low battery. - Set
testReaderUpdateonSCPBluetoothConnectionConfigurationorSCPUsbConnectionConfigurationbefore connecting. SCPSimulatorConfiguration.availableReaderUpdateis deprecated in favor of this new per-connection API.
- Added
Updates
- When offline mode is enabled, the SDK now falls back to offline processing faster when the device can't reach Stripe. Previously, the SDK waited up to 15 seconds before falling back. Now, timeouts are optimized per request type, reducing wait times for common operations like payment creation.
- Tap to Pay: Generic or unknown errors from the Tap to Pay on iPhone reader will now return
SCPErrorGenericReaderErrorinstead ofSCPErrorUnexpectedSdkError.
Fixes
- Fixes #374: Fixed a race condition that could cause a crash during mobile reader discovery over Bluetooth.