ExtendedCheckoutConfig
class ExtendedCheckoutConfig : CheckoutConfig
extension ExtendedCheckoutConfig : CVarArg, CustomDebugStringConvertible, CustomStringConvertible, Equatable, Hashable, NSCopying, NSObjectProtocol
This class should contain all the extended featurs privy to first party or implicity trusted host applications. Those not explicity validated to be on the whitelist for the PayPal iOS Checkout SDK will find that all extended features in this class are ignored.
-
The closure format for upgrading auth state of the user in order to complete the Add Card flow
Declaration
Swift
typealias AddCardStepUpCallback = (@escaping (AuthToken?, Error?) -> Void) -> Void
-
The closure format for analytics entry
Declaration
Swift
typealias AnalyticsEntryCallback = (FPTIEntry) -> Void
-
The closure format for analytics event
Declaration
Swift
typealias AnalyticsEventCallback = (FPTIEvent) -> Void
-
Communication from SDK to 1st or 2nd party consumer to allow them to handle these contingencies themselves.
Declaration
Swift
typealias ResolveContingenciesCallback = (Contingencies, CheckoutSessionFlags?, @escaping (ResolveContingenciesResponse) -> Void) -> Void
-
The id required for the SCA contingency callback
Declaration
Swift
typealias SCAContextID = String
-
The closure format for running an SCAContingency. The completion expects optionals of access token, ID token, and error. It will either be the first two or the last one
Declaration
Swift
typealias SCAContingencyCallback = (ExtendedCheckoutConfig.SCAContextID, @escaping ((SCAStepUpResponse) -> Void)) -> Void
-
The app guid is passed from consumer app, stored in Keychain. It is utilized as a way to tie together events from different components when triaging issues on the server-side.
Declaration
Swift
var appGuid: String?
-
Our background configurations for specifying
ContentBackground
s on pages.Declaration
Swift
var backgroundConfigs: [BackgroundConfig]
-
Undocumented
Declaration
Swift
@available(*, deprecated, message: "Use the backgrounds member to define BackgroundConfigs") var brandedBackgroundCheckoutConfig: BrandedBackgroundConfig? { get set }
-
The button session id associated with the merchant from SPB (web to app).
Declaration
Swift
var buttonSessionID: String?
-
Information about the channel used to start the checkout flow (native, mobile web, desktop web, etc)
Declaration
Swift
var channel: Channel
-
A closure that allows apps to configure different processes such as startup and shutdown
Declaration
Swift
var configureProcess: ProcessConfigurator?
-
A closure that allows apps to configure different views such as shipping view
Declaration
Swift
var configureView: PageConfigurator?
-
The device id is passed from the consumer app, stored in Keychain. It is utilized as a way to tie together events from different components when triaging issues on the server side.
Declaration
Swift
var deviceId: String?
-
Merchant’s domain
Declaration
Swift
var domain: String?
-
Determines if SDK should skip updating any functionality/process that depends on a returned experiment and treatment value and defaults the functionality/process to its control state
Declaration
Swift
var elmoExperimentsToSkip: [String]?
-
Allows merchants to force an experience on, for example Venmo (passed from SPB)
Declaration
Swift
var enableFunding: [String]
-
External Logging
Declaration
Swift
var externalLogs: [ExternalTracking]?
-
Merchant’s client ID
Declaration
Swift
var facilitatorClientID: String?
-
Undocumented
Declaration
Swift
var fundingSource: FundingProvider
-
This list of tuples defining any custom network traffic to handled during SDK operations for inbound and outbound traffic can be specified here.
The tuple has three values, the first value is usually a
String
but can be any type ofAnyHashable
that uniquely identifies the NetworkOperation. The second value is the type of network action to perform; this can be any of.Inbound
,.Outbound
, or.InboundOutbound
. The.InboundOutbound
type gets invoked for both scenarios, but otherwise the suppliedNetworkOperation
closure, which is the third parameter, gets invoked either at the beginning (Inbound) or at the end (Outbound) of the SDK usage.Declaration
Swift
var networkOperations: [NetworkOperation]
-
Called right after a user clicks to Add Card natively. We need to upgrade the auth state of the user so that we can perform the Add Card action server side.
Declaration
Swift
var onAddCardStepUp: ExtendedCheckoutConfig.AddCardStepUpCallback?
-
Called when SDK logs an analytics entry
Declaration
Swift
var onAnalyticsEntry: ExtendedCheckoutConfig.AnalyticsEntryCallback?
-
Called when SDK logs an analytics event
Declaration
Swift
var onAnalyticsEvent: ExtendedCheckoutConfig.AnalyticsEventCallback?
-
Callback to allow 1st or 2nd party consumer to handle contingencies themselves.
Declaration
Swift
var onResolveContingencies: ExtendedCheckoutConfig.ResolveContingenciesCallback?
-
Called when Secure Customer Authentication is required at the end of a checkout. The token it uses will have been specified in the SCA section of the payload, and is not our normal auth/merchant token
Declaration
Swift
var onSCAContingency: ExtendedCheckoutConfig.SCAContingencyCallback?
-
Undocumented
Declaration
Swift
var pageUrl: String?
-
Presentation mode defines how pay sheet will be presented in the host app
Declaration
Swift
var presentationMode: PresentationMode
-
A session ID generated from the Smart Payment Button will be required to authenticate the Firebase App. The sessionUID is retrieved from the merchant and then used with PayPal’s GraphQL to generate a sessionToken.
Declaration
Swift
var sessionUID: String?
-
When transaction requires a shipping address and a user does not have one SDK cannot proceed and falls back to web. Setting this property to
true
allows SDK to proceed with responsibility to collect a shipping address and provide it to SDK moving to the host app.Declaration
Swift
var skipsShippingAddressContingency: Bool
-
The stickiness id associated passed from SPB
Declaration
Swift
var stickinessID: String?
-
Indicates whether Billing Agreements are supported by a host or not. If not, the checkout flow will fallback to web if this is supported (see
supportsWebFallbacks
).Declaration
Swift
var supportsBillingAgreements: Bool
-
Indicates whether or not web fallbacks are supported
Declaration
Swift
var supportsWebFallbacks: Bool
-
Used to determine whether we’re using Firebase in the current lifecycle
Declaration
Swift
var usesFirebase: Bool { get }