SCPError
Objective-C
enum SCPError : NSInteger {}
                Swift
typealias ErrorCode.Code._ErrorType = ErrorCode
                Possible error codes for NSError objects under the SCPErrorDomain domain.
- 
                  
                  
Canceling a command failed because the command already completed.
Declaration
Objective-C
SCPErrorCancelFailedAlreadyCompleted = 1010Swift
static var cancelFailedAlreadyCompleted: ErrorCode.Code { get } - 
                  
                  
Canceling a command failed because the command cannot currently be canceled.
Declaration
Objective-C
SCPErrorCancelFailedUnavailable = 1011Swift
static var cancelFailedUnavailable: ErrorCode.Code { get } - 
                  
                  
No reader is connected. Connect to a reader before trying again.
Declaration
Objective-C
SCPErrorNotConnectedToReader = 1100Swift
static var notConnectedToReader: ErrorCode.Code { get } - 
                  
                  
Already connected to a reader.
Declaration
Objective-C
SCPErrorAlreadyConnectedToReader = 1110Swift
static var alreadyConnectedToReader: ErrorCode.Code { get } - 
                  
                  
Your implementation of
fetchConnectionTokencalled the completion block with(nil, nil). Please make sure your integration completes with either a connection token or an error.Declaration
Objective-C
SCPErrorConnectionTokenProviderCompletedWithNothing = 1510Swift
static var connectionTokenProviderCompletedWithNothing: ErrorCode.Code { get } - 
                  
                  
Error reported while forwarding offline payments when the connection token provider neither returns a token nor an error.
Declaration
Objective-C
SCPErrorConnectionTokenProviderCompletedWithNothingWhileForwarding = 1511Swift
static var connectionTokenProviderCompletedWithNothingWhileForwarding: ErrorCode.Code { get } - 
                  
                  
confirmPaymentIntentwas called with an unknown or invalid PaymentIntent. You must confirm a payment immediately after collecting a payment method.Declaration
Objective-C
SCPErrorConfirmInvalidPaymentIntent = 1530Swift
static var confirmInvalidPaymentIntent: ErrorCode.Code { get } - 
                  
                  
collectPaymentMethodorconfirmPaymentIntentwas called with anilPaymentIntent.Declaration
Objective-C
SCPErrorNilPaymentIntent = 1540Swift
static var nilPaymentIntent: ErrorCode.Code { get } - 
                  
                  
collectSetupIntentPaymentMethodorconfirmSetupIntentwas called with anilSetupIntent.Declaration
Objective-C
SCPErrorNilSetupIntent = 1542Swift
static var nilSetupIntent: ErrorCode.Code { get } - 
                  
                  
confirmRefundwas called without callingcollectRefundPaymentMethodbeforehand.Declaration
Objective-C
SCPErrorNilRefundPaymentMethod = 1550Swift
static var nilRefundPaymentMethod: ErrorCode.Code { get } - 
                  
                  
The RefundParameters object has invalid values. The Charge ID (ch_123abc) or PaymentIntent ID (pi_123abc) can be found on the
PaymentIntentobject, which you should get from your backend. You must have only one of a charge or payment intent ID set.Declaration
Objective-C
SCPErrorInvalidRefundParameters = 1555Swift
static var invalidRefundParameters: ErrorCode.Code { get } - 
                  
                  
A PaymentIntent or SetupIntent was referenced using an invalid client secret.
Declaration
Objective-C
SCPErrorInvalidClientSecret = 1560Swift
static var invalidClientSecret: ErrorCode.Code { get } - 
                  
                  
discoverReaderswas called using an invalidSCPDiscoveryConfiguration. Your app selected a discovery method that is either incompatible with the selected device type or attemped to usesimulatedorlocationIdwith a reader which does not supportsimulatedorlocationId. Currentlychipper2Xis the only reader which supportssimulatedandverifoneP400is the only reader which supports use oflocationIdfor location filtering.See
SCPDiscoveryConfigurationfor valid configurations.Declaration
Objective-C
SCPErrorInvalidDiscoveryConfiguration = 1590Swift
static var invalidDiscoveryConfiguration: ErrorCode.Code { get } - 
                  
                  
connectReaderwas called using an invalidSCPConnectionConfiguration. Your app provided a connection configuration that is incompatible with the selected reader.See
SCPConnectionConfigurationfor valid configurations.Declaration
Objective-C
SCPErrorInvalidConnectionConfiguration = 1591Swift
static var invalidConnectionConfiguration: ErrorCode.Code { get } - 
                  
                  
installUpdatewas passed an update that is for a different reader. Updates can only be installed on the reader that was connected when the update was announced.Declaration
Objective-C
SCPErrorInvalidReaderForUpdate = 1861Swift
static var invalidReaderForUpdate: ErrorCode.Code { get } - 
                  
                  
-[SCPTerminal connectReader:completion:]was called from an unsupported version of the SDK. In order to fix this you will need to update your app to the most recent version of the SDK. We suggest you prompt your user to update their app, assuming there is an update app version with a supported version of our SDK.Declaration
Objective-C
SCPErrorUnsupportedSDK = 1870Swift
static var unsupportedSDK: ErrorCode.Code { get } - 
                  
                  
This feature is currently not available for the selected reader.
Declaration
Objective-C
SCPErrorFeatureNotAvailableWithConnectedReader = 1880Swift
static var featureNotAvailableWithConnectedReader: ErrorCode.Code { get } - 
                  
                  
This feature is not currently available. More details available in the error’s
userInfoin theSCPErrorKeyMessagekeyDeclaration
Objective-C
SCPErrorFeatureNotAvailable = 1890Swift
static var featureNotAvailable: ErrorCode.Code { get } - 
                  
                  
The ListLocationsParameters object has invalid values.
Declaration
Objective-C
SCPErrorInvalidListLocationsLimitParameter = 1900Swift
static var invalidListLocationsLimitParameter: ErrorCode.Code { get } - 
                  
                  
The locationId parameter to BluetoothConnectionConfiguration is required but a valid one was not provided.
Declaration
Objective-C
SCPErrorBluetoothConnectionInvalidLocationIdParameter = 1910Swift
static var bluetoothConnectionInvalidLocationIdParameter: ErrorCode.Code { get } - 
                  
                  
A required parameter was invalid or missing.
Declaration
Objective-C
SCPErrorInvalidRequiredParameter = 1920Swift
static var invalidRequiredParameter: ErrorCode.Code { get } - 
                  
                  
The PaymentIntent uses
on_behalf_ofbut the Connected Account ID was not set in SCPTapToPayConnectionConfiguration: https://stripe.com/docs/terminal/payments/connect-reader?terminal-sdk-platform=ios&reader-type=tap-to-pay#connect-readerDeclaration
Objective-C
SCPErrorInvalidRequiredParameterOnBehalfOf = 1921Swift
static var invalidRequiredParameterOnBehalfOf: ErrorCode.Code { get } - 
                  
                  
Error reported when forwarding stored offline payments. The fetched connection token was generated with a different account ID than the stored payment.
Declaration
Objective-C
SCPErrorAccountIdMismatchWhileForwarding = 1930Swift
static var accountIdMismatchWhileForwarding: ErrorCode.Code { get } - 
                  
                  
Error reported when calling collectPaymentMethod with an offline PaymentIntent and a CollectConfiguration with updatePaymentIntent set to true.
Declaration
Objective-C
SCPErrorUpdatePaymentIntentUnavailableWhileOffline = 1935Swift
static var updatePaymentIntentUnavailableWhileOffline: ErrorCode.Code { get } - 
                  
                  
Error reported when calling collectPaymentMethod with offline mode enabled and a CollectConfiguration with updatePaymentIntent set to true.
Declaration
Objective-C
SCPErrorUpdatePaymentIntentUnavailableWhileOfflineModeEnabled = 1936Swift
static var updatePaymentIntentUnavailableWhileOfflineModeEnabled: ErrorCode.Code { get } - 
                  
                  
Error reported when a test payment attempted to forward while operating in livemode. The testmode transaction will be deleted.
Declaration
Objective-C
SCPErrorForwardingTestModePaymentInLiveMode = 1937Swift
static var forwardingTestModePaymentInLiveMode: ErrorCode.Code { get } - 
                  
                  
Error reported when a live payment attempted to forward while operating in testmode. Reconnect to this account with livemode keys to resume forwarding livemode transactions.
Declaration
Objective-C
SCPErrorForwardingLiveModePaymentInTestMode = 1938Swift
static var forwardingLiveModePaymentInTestMode: ErrorCode.Code { get } - 
                  
                  
An invalid ConnectionConfiguration was passed through
connect.Declaration
Objective-C
SCPErrorReaderConnectionConfigurationInvalid = 1940Swift
static var readerConnectionConfigurationInvalid: ErrorCode.Code { get } - 
                  
                  
Error reported when calling collectPaymentMethod with request dynamic currency conversion and a CollectConfiguration with updatePaymentIntent set to false.
Declaration
Objective-C
SCPErrorRequestDynamicCurrencyConversionRequiresUpdatePaymentIntent = 1941Swift
static var requestDynamicCurrencyConversionRequiresUpdatePaymentIntent: ErrorCode.Code { get } - 
                  
                  
Dynamic Currency Conversion is not currently available.
Declaration
Objective-C
SCPErrorDynamicCurrencyConversionNotAvailable = 1942Swift
static var dynamicCurrencyConversionNotAvailable: ErrorCode.Code { get } - 
                  
                  
Surcharging is not currently available.
Declaration
Objective-C
SCPErrorSurchargingNotAvailable = 1943Swift
static var surchargingNotAvailable: ErrorCode.Code { get } - 
                  
                  
Surcharge Consent requires
amountSurchargeto be set.Declaration
Objective-C
SCPErrorSurchargeConsentRequiresAmountSurcharge = 1944Swift
static var surchargeConsentRequiresAmountSurcharge: ErrorCode.Code { get } - 
                  
                  
Surcharge Consent Notice requires
amountSurchargeandcollectConsentto be set.Declaration
Objective-C
SCPErrorSurchargeConsentNoticeRequiresAmountSurchargeAndCollectConsent = 1945Swift
static var surchargeConsentNoticeRequiresAmountSurchargeAndCollectConsent: ErrorCode.Code { get } - 
                  
                  
Surcharge consent requires a supported reader type
Declaration
Objective-C
SCPErrorSurchargeConsentRequestedForUnsupportedReader = 1946Swift
static var surchargeConsentRequestedForUnsupportedReader: ErrorCode.Code { get } - 
                  
                  
Surcharge consent was declined by the cardholder.
Declaration
Objective-C
SCPErrorSurchargeConsentDeclined = 1947Swift
static var surchargeConsentDeclined: ErrorCode.Code { get } - 
                  
                  
Surcharge consent timed out.
Declaration
Objective-C
SCPErrorSurchargeConsentTimeout = 1948Swift
static var surchargeConsentTimeout: ErrorCode.Code { get } - 
                  
                  
An invalid usage of
eligibleAmountorskipTippingwas passed intocollect.Declaration
Objective-C
SCPErrorReaderTippingParameterInvalid = 1950Swift
static var readerTippingParameterInvalid: ErrorCode.Code { get } - 
                  
                  
surchargeNoticewas specified with a CollectConfiguration with updatePaymentIntent set to false.Declaration
Objective-C
SCPErrorSurchargeNoticeRequiresUpdatePaymentIntent = 1951Swift
static var surchargeNoticeRequiresUpdatePaymentIntent: ErrorCode.Code { get } - 
                  
                  
Surcharging was attempted while also using dynamic currency conversion.
Declaration
Objective-C
SCPErrorSurchargeUnavailableWithDynamicCurrencyConversion = 1952Swift
static var surchargeUnavailableWithDynamicCurrencyConversion: ErrorCode.Code { get } - 
                  
                  
The provided location ID parameter was invalid.
Declaration
Objective-C
SCPErrorInvalidLocationIdParameter = 1960Swift
static var invalidLocationIdParameter: ErrorCode.Code { get } - 
                  
                  
The operation was cancelled due to an integration error.
Declaration
Objective-C
SCPErrorCanceledDueToIntegrationError = 1961Swift
static var canceledDueToIntegrationError: ErrorCode.Code { get } - 
                  
                  
An invalid parameter was used to start a collect inputs operation.
Declaration
Objective-C
SCPErrorCollectInputsInvalidParameter = 1997Swift
static var collectInputsInvalidParameter: ErrorCode.Code { get } - 
                  
                  
Error reported when the connected account does not have access to this feature, or the reader/SDK version is not compatible with the collect inputs operation.
Declaration
Objective-C
SCPErrorCollectInputsUnsupported = 1998Swift
static var collectInputsUnsupported: ErrorCode.Code { get } - 
                  
                  
The command was canceled by your app.
Declaration
Objective-C
SCPErrorCanceled = 2020Swift
static var canceled: ErrorCode.Code { get } - 
                  
                  
Access to location services is currently disabled. This may be because:
- The user disabled location services in the system settings.
 - The user denied access to location services for your app.
 - The user’s device is in Airplane Mode and unable to gather location data.
 
Declaration
Objective-C
SCPErrorLocationServicesDisabled = 2200Swift
static var locationServicesDisabled: ErrorCode.Code { get } - 
                  
                  
This error indicates that Bluetooth is turned off, and the user should use Settings to turn Bluetooth on.
If Bluetooth is on but the app does not have permission to use it, a different error (
SCPErrorBluetoothError) occurs.Declaration
Objective-C
SCPErrorBluetoothDisabled = 2320Swift
static var bluetoothDisabled: ErrorCode.Code { get } - 
                  
                  
Bluetooth is turned on on the device, but access to Bluetooth has been denied for your app. The user needs to go to Settings > Your App > and enable Bluetooth
Declaration
Objective-C
SCPErrorBluetoothAccessDenied = 2321Swift
static var bluetoothAccessDenied: ErrorCode.Code { get } - 
                  
                  
Scanning for bluetooth devices timed out.
See
SCPDiscoveryConfiguration.timeoutDeclaration
Objective-C
SCPErrorBluetoothScanTimedOut = 2330Swift
static var bluetoothScanTimedOut: ErrorCode.Code { get } - 
                  
                  
Bluetooth Low Energy is unsupported on this iOS device. Use a different iOS device that supports BLE (also known as Bluetooth 4.0)
Declaration
Objective-C
SCPErrorBluetoothLowEnergyUnsupported = 2340Swift
static var bluetoothLowEnergyUnsupported: ErrorCode.Code { get } - 
                  
                  
Updating the reader software failed because the reader’s battery is too low. Charge the reader before trying again.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailedBatteryLow = 2650Swift
static var readerSoftwareUpdateFailedBatteryLow: ErrorCode.Code { get } - 
                  
                  
Updating the reader software failed because the update was interrupted.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailedInterrupted = 2660Swift
static var readerSoftwareUpdateFailedInterrupted: ErrorCode.Code { get } - 
                  
                  
Updating the reader software failed because the update has expired. Please disconnect and reconnect from the reader to retrieve a new update.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailedExpiredUpdate = 2670Swift
static var readerSoftwareUpdateFailedExpiredUpdate: ErrorCode.Code { get } - 
                  
                  
The reader has a critically low battery and cannot connect to the iOS device. Charge the reader before trying again.
Declaration
Objective-C
SCPErrorBluetoothConnectionFailedBatteryCriticallyLow = 2680Swift
static var bluetoothConnectionFailedBatteryCriticallyLow: ErrorCode.Code { get } - 
                  
                  
The card is not a chip card.
Declaration
Objective-C
SCPErrorCardInsertNotRead = 2810Swift
static var cardInsertNotRead: ErrorCode.Code { get } - 
                  
                  
The swipe could not be read.
Declaration
Objective-C
SCPErrorCardSwipeNotRead = 2820Swift
static var cardSwipeNotRead: ErrorCode.Code { get } - 
                  
                  
Reading a card timed out.
Declaration
Objective-C
SCPErrorCardReadTimedOut = 2830Swift
static var cardReadTimedOut: ErrorCode.Code { get } - 
                  
                  
The card was removed during the transaction.
Declaration
Objective-C
SCPErrorCardRemoved = 2840Swift
static var cardRemoved: ErrorCode.Code { get } - 
                  
                  
A card can only be used for one transaction, and must be removed after being read. Otherwise, subsequent
collectPaymentMethodattempts will fail with this error.Your terminal delegate will receive
-[SCPTerminalDelegate terminal:didReportReaderEvent:info:]withSCPReaderEventCardRemovedwhen the card is removed.The Chipper 2x and WisePad 3 will beep until the card is removed.
Declaration
Objective-C
SCPErrorCardLeftInReader = 2850Swift
static var cardLeftInReader: ErrorCode.Code { get } - 
                  
                  
Error reported when the offline payments database has too many records.
The offline device should be brought back online to sync payments before collecting more.
Declaration
Objective-C
SCPErrorOfflinePaymentsDatabaseTooLarge = 2860Swift
static var offlinePaymentsDatabaseTooLarge: ErrorCode.Code { get } - 
                  
                  
Connecting to the reader failed because the most recently connected account hasn’t connected to a reader of this type while online. To connect to a reader offline, the SDK must have connected to a reader of the same type and location within the past 30 days.
Declaration
Objective-C
SCPErrorReaderConnectionNotAvailableOffline = 2870Swift
static var readerConnectionNotAvailableOffline: ErrorCode.Code { get } - 
                  
                  
Connecting to the reader failed because the reader was most recently connected to a different location while online.
Declaration
Objective-C
SCPErrorReaderConnectionOfflineLocationMismatch = 2871Swift
static var readerConnectionOfflineLocationMismatch: ErrorCode.Code { get } - 
                  
                  
The device software version running on this reader is out of date. You must connect to this reader while online to install required updates before this reader can be used for offline payments.
Declaration
Objective-C
SCPErrorReaderConnectionOfflineNeedsUpdate = 2872Swift
static var readerConnectionOfflineNeedsUpdate: ErrorCode.Code { get } - 
                  
                  
Connecting to unseen readers offline is disabled. You must connect to this reader at this location while online before it can be used for offline payments.
Declaration
Objective-C
SCPErrorReaderConnectionOfflinePairingUnseenDisabled = 2873Swift
static var readerConnectionOfflinePairingUnseenDisabled: ErrorCode.Code { get } - 
                  
                  
The SDK has not activated a reader online yet, meaning there is no account with which the SDK can associate offline operations.
Declaration
Objective-C
SCPErrorNoLastSeenAccount = 2880Swift
static var noLastSeenAccount: ErrorCode.Code { get } - 
                  
                  
Error reported when the PaymentIntent’s amount exceeds the configured allowable maximum amount for offline transactions.
Declaration
Objective-C
SCPErrorAmountExceedsMaxOfflineAmount = 2890Swift
static var amountExceedsMaxOfflineAmount: ErrorCode.Code { get } - 
                  
                  
Error reported when the PaymentIntent’s currency is not configured as a valid currency for offline transactions.
Declaration
Objective-C
SCPErrorInvalidOfflineCurrency = 2891Swift
static var invalidOfflineCurrency: ErrorCode.Code { get } - 
                  
                  
The reader failed to read the data from the presented payment method. If you encounter this error repeatedly, the reader may be faulty.
Declaration
Objective-C
SCPErrorMissingEMVData = 2892Swift
static var missingEMVData: ErrorCode.Code { get } - 
                  
                  
The command was not permitted to execute by the operating system. This can happen for a number of reasons, but most commonly:
- Your application does not have the necessary entitlements.
 - Your application bundle is invalid.
 
Declaration
Objective-C
SCPErrorCommandNotAllowed = 2900Swift
static var commandNotAllowed: ErrorCode.Code { get } - 
                  
                  
The mobile device on which the app is running is in an unsupported configuration. Verify that the device is running a supported version of iOS and that the mobile device has the capability you are attempting to use.
Declaration
Objective-C
SCPErrorUnsupportedMobileDeviceConfiguration = 2910Swift
static var unsupportedMobileDeviceConfiguration: ErrorCode.Code { get } - 
                  
                  
The mobile device on which the app is running must have a passcode set.
Declaration
Objective-C
SCPErrorPasscodeNotEnabled = 2920Swift
static var passcodeNotEnabled: ErrorCode.Code { get } - 
                  
                  
The card reader cannot be used while a phone call is active.
Declaration
Objective-C
SCPErrorCommandNotAllowedDuringCall = 2930Swift
static var commandNotAllowedDuringCall: ErrorCode.Code { get } - 
                  
                  
An attempt was made to charge an amount not supported by the reader.
Declaration
Objective-C
SCPErrorInvalidAmount = 2940Swift
static var invalidAmount: ErrorCode.Code { get } - 
                  
                  
An attempt was made to charge an amount in a currency not supported by the reader.
Declaration
Objective-C
SCPErrorInvalidCurrency = 2950Swift
static var invalidCurrency: ErrorCode.Code { get } - 
                  
                  
Failed to accept reader-specific terms of service because there is no iCloud user signed in. Direct the user to sign into an appropriate iCloud account via iOS Settings and try again.
Declaration
Objective-C
SCPErrorTapToPayReaderTOSAcceptanceRequiresiCloudSignIn = 2960Swift
static var tapToPayReaderTOSAcceptanceRequiresiCloudSignIn: ErrorCode.Code { get } - 
                  
                  
The user cancelled reader-specific terms of service acceptance.
Declaration
Objective-C
SCPErrorTapToPayReaderTOSAcceptanceCanceled = 2970Swift
static var tapToPayReaderTOSAcceptanceCanceled: ErrorCode.Code { get } - 
                  
                  
A timeout occurred while processing a collect inputs operation.
Declaration
Objective-C
SCPErrorCollectInputsTimedOut = 2971Swift
static var collectInputsTimedOut: ErrorCode.Code { get } - 
                  
                  
Scanning for USB devices timed out.
See
SCPUsbDiscoveryConfiguration.timeoutDeclaration
Objective-C
SCPErrorUsbDiscoveryTimedOut = 2972Swift
static var usbDiscoveryTimedOut: ErrorCode.Code { get } - 
                  
                  
Offline payments unavailable while the iOS device is locked. Unlock to restore functionality.
Declaration
Objective-C
SCPErrorOfflineEncryptionKeysUnavailable = 2973Swift
static var offlineEncryptionKeysUnavailable: ErrorCode.Code { get } - 
                  
                  
The reader is busy.
Declaration
Objective-C
SCPErrorReaderBusy = 3010Swift
static var readerBusy: ErrorCode.Code { get } - 
                  
                  
An incompatible reader was detected. You can only use the Stripe Terminal iOS SDK with one of Stripe’s pre-certified readers.
Declaration
Objective-C
SCPErrorIncompatibleReader = 3030Swift
static var incompatibleReader: ErrorCode.Code { get } - 
                  
                  
Could not communicate with the reader.
Declaration
Objective-C
SCPErrorReaderCommunicationError = 3060Swift
static var readerCommunicationError: ErrorCode.Code { get } - 
                  
                  
NFC functionality is disabled. Among other things, it may indicate that the app does not have permission to use NFC.
Declaration
Objective-C
SCPErrorNFCDisabled = 3100Swift
static var nfcDisabled: ErrorCode.Code { get } - 
                  
                  
Generic Bluetooth error.
Among other things, it may indicate that the app does not have permission to use Bluetooth (iOS 13+).
Declaration
Objective-C
SCPErrorBluetoothError = 3200Swift
static var bluetoothError: ErrorCode.Code { get } - 
                  
                  
Connecting to the bluetooth device timed out. Make sure the device is powered on, in range, and not connected to another app or device. If this error continues to occur, you may need to charge the device.
Declaration
Objective-C
SCPErrorBluetoothConnectTimedOut = 3210Swift
static var bluetoothConnectTimedOut: ErrorCode.Code { get } - 
                  
                  
The Bluetooth device was disconnected unexpectedly.
Declaration
Objective-C
SCPErrorBluetoothDisconnected = 3230Swift
static var bluetoothDisconnected: ErrorCode.Code { get } - 
                  
                  
Bluetooth pairing error, the reader has removed this device pairing information. Forget the reader in iOS Settings.
Declaration
Objective-C
SCPErrorBluetoothPeerRemovedPairingInformation = 3240Swift
static var bluetoothPeerRemovedPairingInformation: ErrorCode.Code { get } - 
                  
                  
The Bluetooth reader is already paired to another device. The Bluetooth reader must have its pairing reset to connect to this device.
Declaration
Objective-C
SCPErrorBluetoothAlreadyPairedWithAnotherDevice = 3241Swift
static var bluetoothAlreadyPairedWithAnotherDevice: ErrorCode.Code { get } - 
                  
                  
Generic reader software update error.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailed = 3800Swift
static var readerSoftwareUpdateFailed: ErrorCode.Code { get } - 
                  
                  
Updating the reader software failed because there was an error communicating with the reader.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailedReaderError = 3830Swift
static var readerSoftwareUpdateFailedReaderError: ErrorCode.Code { get } - 
                  
                  
Updating the reader software failed because there was an error communicating with the update server.
Declaration
Objective-C
SCPErrorReaderSoftwareUpdateFailedServerError = 3840Swift
static var readerSoftwareUpdateFailedServerError: ErrorCode.Code { get } - 
                  
                  
confirmPaymentIntentwas called from a reader with an unsupported reader version. You will need to update your reader to the most recent version in order to accept payments. We suggest you prompt your user to disconnect and reconnect their reader in order to update the reader.Declaration
Objective-C
SCPErrorUnsupportedReaderVersion = 3850Swift
static var unsupportedReaderVersion: ErrorCode.Code { get } - 
                  
                  
The reader returned from discovery does not have an IP address and cannot be connected to. The IP address should have been set by the SDK during registration of the reader. Try registering the reader again.
Declaration
Objective-C
SCPErrorUnknownReaderIpAddress = 3860Swift
static var unknownReaderIpAddress: ErrorCode.Code { get } - 
                  
                  
Connecting to reader over the internet timed out. Make sure your device and reader are on the same Wifi network and your reader is connected to the Wifi network.
Declaration
Objective-C
SCPErrorInternetConnectTimeOut = 3870Swift
static var internetConnectTimeOut: ErrorCode.Code { get } - 
                  
                  
Connecting to the reader failed because it is currently in use and
SCPConnectionConfiguration.failIfInUsewas set totrue.Try to connect again with
failIfInUse = false, or choose a different reader.A reader is in use while it’s collecting a payment.
Declaration
Objective-C
SCPErrorConnectFailedReaderIsInUse = 3880Swift
static var connectFailedReaderIsInUse: ErrorCode.Code { get } - 
                  
                  
The Bluetooth reader has disconnected and we are attempting to reconnect.
Declaration
Objective-C
SCPErrorBluetoothReconnectStarted = 3890Swift
static var bluetoothReconnectStarted: ErrorCode.Code { get } - 
                  
                  
An attempt was made to interact with the reader while the the app is in the background.
Declaration
Objective-C
SCPErrorReaderNotAccessibleInBackground = 3900Swift
static var readerNotAccessibleInBackground: ErrorCode.Code { get } - 
                  
                  
The app went to background before a reader request completed.
Declaration
Objective-C
SCPErrorTapToPayReaderRequestInterrupted = 3905Swift
static var tapToPayReaderRequestInterrupted: ErrorCode.Code { get } - 
                  
                  
Preparing the Tap To Pay reader to collect payments failed. Try connecting again.
Declaration
Objective-C
SCPErrorTapToPayReaderFailedToPrepare = 3910Swift
static var tapToPayReaderFailedToPrepare: ErrorCode.Code { get } - 
                  
                  
This device cannot be used to process using the Tap To Pay reader as it has been banned.
Declaration
Objective-C
SCPErrorTapToPayReaderDeviceBanned = 3920Swift
static var tapToPayReaderDeviceBanned: ErrorCode.Code { get } - 
                  
                  
The operation could not be completed because the reader-specific terms of service have not yet been accepted. Try connecting again.
Declaration
Objective-C
SCPErrorTapToPayReaderTOSNotYetAccepted = 3930Swift
static var tapToPayReaderTOSNotYetAccepted: ErrorCode.Code { get } - 
                  
                  
Failed to accept reader-specific terms of service using the signed-in Apple ID. Ensure the Apple ID is still active and in a good standing and try again.
Declaration
Objective-C
SCPErrorTapToPayReaderTOSAcceptanceFailed = 3940Swift
static var tapToPayReaderTOSAcceptanceFailed: ErrorCode.Code { get } - 
                  
                  
This merchant account cannot be used with Tap To Pay reader as it has been blocked.
Declaration
Objective-C
SCPErrorTapToPayReaderMerchantBlocked = 3950Swift
static var tapToPayReaderMerchantBlocked: ErrorCode.Code { get } - 
                  
                  
This merchant account cannot be used with the Tap To Pay reader as it is invalid.
Declaration
Objective-C
SCPErrorTapToPayReaderInvalidMerchant = 3960Swift
static var tapToPayReaderInvalidMerchant: ErrorCode.Code { get } - 
                  
                  
An error that indicates the linked Apple ID account has been deactivated by the merchant.
Declaration
Objective-C
SCPErrorTapToPayReaderAccountDeactivated = 3970Swift
static var tapToPayReaderAccountDeactivated: ErrorCode.Code { get } - 
                  
                  
The reader is missing encryption keys required for taking payments and has disconnected and rebooted. Reconnect to the reader to attempt to re-install the keys. If the error persists, contact support.
Declaration
Objective-C
SCPErrorReaderMissingEncryptionKeys = 3980Swift
static var readerMissingEncryptionKeys: ErrorCode.Code { get } - 
                  
                  
The USB device was disconnected unexpectedly.
Declaration
Objective-C
SCPErrorUsbDisconnected = 3990Swift
static var usbDisconnected: ErrorCode.Code { get } - 
                  
                  
The printer is currently busy.
Declaration
Objective-C
SCPErrorPrinterBusy = 4000Swift
static var printerBusy: ErrorCode.Code { get } - 
                  
                  
The printer has a paper jam.
Declaration
Objective-C
SCPErrorPrinterPaperJam = 4001Swift
static var printerPaperJam: ErrorCode.Code { get } - 
                  
                  
The printer is out of paper.
Declaration
Objective-C
SCPErrorPrinterOutOfPaper = 4002Swift
static var printerOutOfPaper: ErrorCode.Code { get } - 
                  
                  
The printer’s cover or head assembly is open.
Declaration
Objective-C
SCPErrorPrinterCoverOpen = 4003Swift
static var printerCoverOpen: ErrorCode.Code { get } - 
                  
                  
The reader does not have a printer.
Declaration
Objective-C
SCPErrorPrinterAbsent = 4004Swift
static var printerAbsent: ErrorCode.Code { get } - 
                  
                  
The reader has a printer but it is currently unavailable.
Declaration
Objective-C
SCPErrorPrinterUnavailable = 4005Swift
static var printerUnavailable: ErrorCode.Code { get } - 
                  
                  
Generic printer error. See error message for more details.
Declaration
Objective-C
SCPErrorPrinterError = 4006Swift
static var printerError: ErrorCode.Code { get } - 
                  
                  
The reader cannot be connected to because it is already connected to a different device.
Declaration
Objective-C
SCPErrorReaderConnectedToAnotherDevice = 4020Swift
static var readerConnectedToAnotherDevice: ErrorCode.Code { get } - 
                  
                  
The reader has been tampered.
Declaration
Objective-C
SCPErrorReaderTampered = 4100Swift
static var readerTampered: ErrorCode.Code { get } - 
                  
                  
Unexpected SDK error.
Declaration
Objective-C
SCPErrorUnexpectedSdkError = 5000Swift
static var unexpectedSdkError: ErrorCode.Code { get } - 
                  
                  
Unexpected reader error.
Declaration
Objective-C
SCPErrorUnexpectedReaderError = 5001Swift
static var unexpectedReaderError: ErrorCode.Code { get } - 
                  
                  
Encryption key failed to initialize. Offline payments not available.
The encryption key needed to decrypt the payment records is not available. This can happen if an iOS backup that included offline payment records was restored on a new device. Those records must be forwarded from the original device and the records must be deleted from this device.
Please contact support at https://support.stripe.com/ for more help.
Declaration
Objective-C
SCPErrorEncryptionKeyFailure = 5002Swift
static var encryptionKeyFailure: ErrorCode.Code { get } - 
                  
                  
Encryption key still initializing. Offline payments are not yet available, please try again.
Declaration
Objective-C
SCPErrorEncryptionKeyStillInitializing = 5003Swift
static var encryptionKeyStillInitializing: ErrorCode.Code { get } - 
                  
                  
An unexpected error occurred while processing a collectInputs operation.
Declaration
Objective-C
SCPErrorCollectInputsApplicationError = 5004Swift
static var collectInputsApplicationError: ErrorCode.Code { get } - 
                  
                  
A generic reader error is returned when a reader returns an error code that is not yet known to this version of the Terminal SDK. Please update to the newest SDK version to receive a specific error; or consult user info keys
SCPErrorKeyReaderMessageandSCPErrorKeyStripeAPIErrorCodeto get more details using your current SDK.Declaration
Objective-C
SCPErrorGenericReaderError = 5005Swift
static var genericReaderError: ErrorCode.Code { get } - 
                  
                  
An error occurred while processing a collect data operation.
Declaration
Objective-C
SCPErrorCollectDataApplicationError = 5006Swift
static var collectDataApplicationError: ErrorCode.Code { get } - 
                  
                  
An error occurred while processing a display surcharge consent request.
Declaration
Objective-C
SCPErrorDisplaySurchargeConsentApplicationError = 5007Swift
static var displaySurchargeConsentApplicationError: ErrorCode.Code { get } - 
                  
                  
The Terminal operation shouldn’t have been called at this time.
Declaration
Objective-C
SCPErrorUnexpectedOperationError = 5008Swift
static var unexpectedOperationError: ErrorCode.Code { get } - 
                  
                  
The Stripe API declined the transaction. Inspect the error’s
requestErrorproperty for more information about the decline, including the decline code.Declaration
Objective-C
SCPErrorDeclinedByStripeAPI = 6000Swift
static var declinedByStripeAPI: ErrorCode.Code { get } - 
                  
                  
The reader declined the transaction. Try another card.
Declaration
Objective-C
SCPErrorDeclinedByReader = 6500Swift
static var declinedByReader: ErrorCode.Code { get } - 
                  
                  
The card is not supported by the current reader’s configuration.
Declaration
Objective-C
SCPErrorCardNotSupported = 6510Swift
static var cardNotSupported: ErrorCode.Code { get } - 
                  
                  
The cardholder must give consent in order for this operation to succeed.
Declaration
Objective-C
SCPErrorCommandRequiresCardholderConsent = 6700Swift
static var commandRequiresCardholderConsent: ErrorCode.Code { get } - 
                  
                  
Customer consent is required to set allow redisplay to
ALWAYSorLIMITEDfor this operation.Declaration
Objective-C
SCPErrorCommandInvalidAllowRedisplay = 6701Swift
static var commandInvalidAllowRedisplay: ErrorCode.Code { get } - 
                  
                  
The refund failed. The customer’s bank or card issuer was unable to process it correctly (e.g., a closed bank account or a problem with the card)
Declaration
Objective-C
SCPErrorRefundFailed = 6800Swift
static var refundFailed: ErrorCode.Code { get } - 
                  
                  
Error reported when collectPaymentMethod or confirmPaymentIntent was called while offline and the card was read using the swipe method.
Payment method data collected using the Swipe card read method cannot be processed online.
Retry the payment by calling
collectPaymentMethod()again.Declaration
Objective-C
SCPErrorCardSwipeNotAvailable = 6900Swift
static var cardSwipeNotAvailable: ErrorCode.Code { get } - 
                  
                  
Error reported when collectPaymentMethod or confirmPaymentIntent was called while offline and the presented card was an Interac card.
Retry the payment by calling
collectPaymentMethod()again.Declaration
Objective-C
SCPErrorInteracNotSupportedOffline = 6901Swift
static var interacNotSupportedOffline: ErrorCode.Code { get } - 
                  
                  
Confirming a payment while offline and the card was identified as being expired.
Declaration
Objective-C
SCPErrorOfflineAndCardExpired = 6902Swift
static var offlineAndCardExpired: ErrorCode.Code { get } - 
                  
                  
Confirming a payment while offline and the card’s verification failed.
Retry the payment by calling
collectPaymentMethod()again and try a different card if the error persists.Declaration
Objective-C
SCPErrorOfflineTransactionDeclined = 6903Swift
static var offlineTransactionDeclined: ErrorCode.Code { get } - 
                  
                  
Error reported when collectPaymentMethod was called while online and confirmPaymentIntent was called while offline.
Retry the payment by calling
collectPaymentMethod()again.Declaration
Objective-C
SCPErrorOfflineCollectAndConfirmMismatch = 6904Swift
static var offlineCollectAndConfirmMismatch: ErrorCode.Code { get } - 
                  
                  
Error reported when confirmPaymentIntent was called while offline and the presented card was authenticated with an online PIN. Retry the payment with another card.
Declaration
Objective-C
SCPErrorOnlinePinNotSupportedOffline = 6905Swift
static var onlinePinNotSupportedOffline: ErrorCode.Code { get } - 
                  
                  
Error reported when the card used is a known test card and the SDK is operating in livemode.
Declaration
Objective-C
SCPErrorOfflineTestCardInLivemode = 6906Swift
static var offlineTestCardInLivemode: ErrorCode.Code { get } - 
                  
                  
The SDK is not connected to the internet.
Declaration
Objective-C
SCPErrorNotConnectedToInternet = 9000Swift
static var notConnectedToInternet: ErrorCode.Code { get } - 
                  
                  
The underlying request timed out.
Declaration
Objective-C
SCPErrorRequestTimedOut = 9010Swift
static var requestTimedOut: ErrorCode.Code { get } - 
                  
                  
The underlying request returned an API error.
Declaration
Objective-C
SCPErrorStripeAPIError = 9020Swift
static var stripeAPIError: ErrorCode.Code { get } - 
                  
                  
The API response from Stripe could not be decoded.
Declaration
Objective-C
SCPErrorStripeAPIResponseDecodingError = 9030Swift
static var stripeAPIResponseDecodingError: ErrorCode.Code { get } - 
                  
                  
Generic network error
Declaration
Objective-C
SCPErrorInternalNetworkError = 9040Swift
static var internalNetworkError: ErrorCode.Code { get } - 
                  
                  
Tap to Pay network error
Declaration
Objective-C
SCPErrorTapToPayInternalNetworkError = 9041Swift
static var tapToPayInternalNetworkError: ErrorCode.Code { get } - 
                  
                  
Your implementation of
-[SCPConnectionTokenProvider fetchConnectionToken:]called the completion block with an error.Declaration
Objective-C
SCPErrorConnectionTokenProviderCompletedWithError = 9050Swift
static var connectionTokenProviderCompletedWithError: ErrorCode.Code { get } - 
                  
                  
Error reported while forwarding offline payments when the connection token provider returns an error.
Declaration
Objective-C
SCPErrorConnectionTokenProviderCompletedWithErrorWhileForwarding = 9051Swift
static var connectionTokenProviderCompletedWithErrorWhileForwarding: ErrorCode.Code { get } - 
                  
                  
Your implementation of
-[SCPConnectionTokenProvider fetchConnectionToken:]did not call the provided completion block within 60 seconds.Declaration
Objective-C
SCPErrorConnectionTokenProviderTimedOut = 9052Swift
static var connectionTokenProviderTimedOut: ErrorCode.Code { get } - 
                  
                  
The current session has expired and the reader must be disconnected and reconnected. The SDK will attempt to auto-disconnect for you and you should instruct your user to reconnect it.
-[SCPReaderDelegate reader:didDisconnect:]will be called if the SDK is able to successfully auto-disconnect. If it does not successfully auto-disconnect (didDisconnect:will not be called andSCPTerminal.connectionStatuswill still beSCPConnectionStatusConnected) you can attempt again via-[SCPTerminal disconnectReader:]or you can instruct your user to disconnect manually by turning the reader off.Note this error will only occur in one of the following calls:
-[SCPTerminal createPaymentIntent:completion:]-[SCPTerminal retrievePaymentIntent:completion:]-[SCPTerminal collectPaymentMethod:delegate:completion:]if connected to an Internet reader-[SCPTerminal confirmPaymentIntent:completion:]-[SCPTerminal cancelPaymentIntent:completion:]-[SCPTerminal collectRefundMethod:parameters]if connected to an Internet reader-[SCPTerminal confirmRefund:completion]-[SCPTerminal createSetupIntent:completion:]-[SCPTerminal collectSetupIntentPaymentMethod:customerConsentCollected:completion:]if connected to an Internet reader-[SCPTerminal confirmSetupIntent:completion:]-[SCPTerminal cancelSetupIntent:completion:]-[SCPTerminal collectInputs:completion:]
Declaration
Objective-C
SCPErrorSessionExpired = 9060Swift
static var sessionExpired: ErrorCode.Code { get } - 
                  
                  
Error reported when the iOS device is offline and the PaymentIntent was created with
offlineBehaviorset torequireOnline.Declaration
Objective-C
SCPErrorNotConnectedToInternetAndOfflineBehaviorRequireOnline = 10106Swift
static var notConnectedToInternetAndOfflineBehaviorRequireOnline: ErrorCode.Code { get } - 
                  
                  
Error reported when a
SCPPaymentIntentwas created withSCPOfflineBehaviorForceOfflineand the reader in use is not configured to operate offline. Use the Terminal Configuration API to enable the functionality or retry with another value forSCPOfflineBehavior.Declaration
Objective-C
SCPErrorOfflineBehaviorForceOfflineWithFeatureDisabled = 10107Swift
static var offlineBehaviorForceOfflineWithFeatureDisabled: ErrorCode.Code { get }