diff --git a/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift b/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift index b33b8ce1..0381d433 100644 --- a/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift +++ b/Demo/Demo/SwiftUIComponents/PayPalWebPayments/PayPalWebViewModel.swift @@ -73,7 +73,7 @@ class PayPalWebViewModel: ObservableObject { let payPalRequest = PayPalWebCheckoutRequest(orderID: orderID, fundingSource: funding) payPalWebCheckoutClient.start(request: payPalRequest) { result, error in if let error { - if PayPalError.isCheckoutCanceled(error) { + if error == PayPalError.checkoutCanceledError { print("Canceled") self.updateState(.idle) } else { diff --git a/Demo/Demo/ViewModels/CardPaymentViewModel.swift b/Demo/Demo/ViewModels/CardPaymentViewModel.swift index d18aa001..9c58e83f 100644 --- a/Demo/Demo/ViewModels/CardPaymentViewModel.swift +++ b/Demo/Demo/ViewModels/CardPaymentViewModel.swift @@ -120,7 +120,7 @@ class CardPaymentViewModel: ObservableObject { let cardRequest = CardRequest(orderID: orderID, card: card, sca: sca) cardClient?.approveOrder(request: cardRequest) { result, error in if let error { - if CardError.isThreeDSecureCanceled(error) { + if error == CardError.threeDSecureCanceledError { self.setApprovalCancelResult() } else { self.setApprovalFailureResult(vaultError: error) diff --git a/Demo/Demo/ViewModels/CardVaultViewModel.swift b/Demo/Demo/ViewModels/CardVaultViewModel.swift index 562d59e7..6d3a6ecc 100644 --- a/Demo/Demo/ViewModels/CardVaultViewModel.swift +++ b/Demo/Demo/ViewModels/CardVaultViewModel.swift @@ -47,7 +47,7 @@ class CardVaultViewModel: VaultViewModel { ) ) } else if let vaultError { - if CardError.isThreeDSecureCanceled(vaultError) { + if let error = vaultError as? CoreSDKError, error == CardError.threeDSecureCanceledError { print("Canceled") self.state.updateSetupTokenResponse = .idle } else { diff --git a/Demo/Demo/ViewModels/PayPalVaultViewModel.swift b/Demo/Demo/ViewModels/PayPalVaultViewModel.swift index f796330e..aebf4c65 100644 --- a/Demo/Demo/ViewModels/PayPalVaultViewModel.swift +++ b/Demo/Demo/ViewModels/PayPalVaultViewModel.swift @@ -16,7 +16,7 @@ class PayPalVaultViewModel: VaultViewModel { let vaultRequest = PayPalVaultRequest(setupTokenID: setupTokenID) paypalClient.vault(vaultRequest) { result, error in if let error { - if PayPalError.isVaultCanceled(error) { + if error == PayPalError.vaultCanceledError { DispatchQueue.main.async { print("Canceled") self.state.paypalVaultTokenResponse = .idle diff --git a/Sources/CardPayments/CardError.swift b/Sources/CardPayments/CardError.swift index f296e754..79051171 100644 --- a/Sources/CardPayments/CardError.swift +++ b/Sources/CardPayments/CardError.swift @@ -42,19 +42,19 @@ public enum CardError { case threeDSecureCanceledError } - static let unknownError = CoreSDKError( + public static let unknownError = CoreSDKError( code: Code.unknown.rawValue, domain: domain, errorDescription: "An unknown error has occured. Contact developer.paypal.com/support." ) - static let encodingError = CoreSDKError( + public static let encodingError = CoreSDKError( code: Code.encodingError.rawValue, domain: domain, errorDescription: "An error occured encoding HTTP request body data. Contact developer.paypal.com/support." ) - static let threeDSecureError: (Error) -> CoreSDKError = { error in + public static let threeDSecureError: (Error) -> CoreSDKError = { error in CoreSDKError( code: Code.threeDSecureError.rawValue, domain: domain, @@ -62,13 +62,13 @@ public enum CardError { ) } - static let threeDSecureURLError = CoreSDKError( + public static let threeDSecureURLError = CoreSDKError( code: Code.threeDSecureURLError.rawValue, domain: domain, errorDescription: "An invalid 3DS URL was returned. Contact developer.paypal.com/support." ) - static let threeDSecureCanceledError = CoreSDKError( + public static let threeDSecureCanceledError = CoreSDKError( code: Code.threeDSecureCanceledError.rawValue, domain: domain, errorDescription: "3DS verification has been canceled by the user." diff --git a/Sources/CorePayments/CoreSDKError.swift b/Sources/CorePayments/CoreSDKError.swift index 28c115e8..e550c438 100644 --- a/Sources/CorePayments/CoreSDKError.swift +++ b/Sources/CorePayments/CoreSDKError.swift @@ -1,7 +1,7 @@ import Foundation /// Error structure that SDK errors conform to -public struct CoreSDKError: Error, LocalizedError { +public struct CoreSDKError: Error, LocalizedError, Equatable { /// The error code. public let code: Int? diff --git a/Sources/PayPalWebPayments/PayPalError.swift b/Sources/PayPalWebPayments/PayPalError.swift index a46674eb..246eceaf 100644 --- a/Sources/PayPalWebPayments/PayPalError.swift +++ b/Sources/PayPalWebPayments/PayPalError.swift @@ -31,7 +31,7 @@ public enum PayPalError { case vaultCanceledError } - static let webSessionError: (Error) -> CoreSDKError = { error in + public static let webSessionError: (Error) -> CoreSDKError = { error in CoreSDKError( code: Code.webSessionError.rawValue, domain: domain, @@ -39,31 +39,31 @@ public enum PayPalError { ) } - static let payPalURLError = CoreSDKError( + public static let payPalURLError = CoreSDKError( code: Code.payPalURLError.rawValue, domain: domain, errorDescription: "Error constructing URL for PayPal request." ) - static let malformedResultError = CoreSDKError( + public static let malformedResultError = CoreSDKError( code: Code.malformedResultError.rawValue, domain: domain, errorDescription: "Result did not contain the expected data." ) - static let payPalVaultResponseError = CoreSDKError( + public static let payPalVaultResponseError = CoreSDKError( code: Code.payPalVaultResponseError.rawValue, domain: domain, errorDescription: "Error parsing PayPal vault response" ) - static let checkoutCanceledError = CoreSDKError( + public static let checkoutCanceledError = CoreSDKError( code: Code.checkoutCanceledError.rawValue, domain: domain, errorDescription: "PayPal checkout has been canceled by the user" ) - static let vaultCanceledError = CoreSDKError( + public static let vaultCanceledError = CoreSDKError( code: Code.vaultCanceledError.rawValue, domain: domain, errorDescription: "PayPal vault has been canceled by the user"