Protocols

The following protocols are available globally.

  • This protocol is used by a container that holds content views in a paysheet to determine the available functionality of its rows

    See more

    Declaration

    Swift

    protocol ActionableRow
  • Undocumented

    See more

    Declaration

    Swift

    protocol AlignableImageView : UIImageView, ContentView
  • The metadata for a particular bank account

    See more

    Declaration

    Swift

    protocol BankAccount
  • Bank Account Beneficiary Information

    See more

    Declaration

    Swift

    protocol BankAccountBeneficiary
  • The attributes of an individual bank account’s creditor (the settler of the transaction)

    See more

    Declaration

    Swift

    protocol BankAccountCreditor
  • The attributes of an individual bank account’s issuer

    See more

    Declaration

    Swift

    protocol BankAccountIssuer
  • A Cart

    See more

    Declaration

    Swift

    protocol Cart
  • Undocumented

    See more

    Declaration

    Swift

    protocol CartAddress : CoarseAddress
  • A Cart Item

    See more

    Declaration

    Swift

    protocol CartItem
  • Protocol describing public API to private Checkout process class that provides ability to customize items of the process

    See more

    Declaration

    Swift

    protocol CheckoutProcess
  • Container protocol that holds references to all checkout processes.

    See more

    Declaration

    Swift

    protocol CheckoutProcesses
  • Checkout Session

    See more

    Declaration

    Swift

    protocol CheckoutSession
  • A Checkout session’s application data flags. Average SLA response time - 40ms

    See more

    Declaration

    Swift

    protocol CheckoutSessionFlags
  • A protocol that defines the properties that a coarse address needs to have. Note: Coarse addresses are going to be deprecated soon, in favor of portable addresses. We still need to keep this protocol and some of its implementations around because some GQL responses coming from the server haven’t migrated to portable format yet.

    See more

    Declaration

    Swift

    protocol CoarseAddress
  • Encapsulates the cvv data that will be returned when a confirm credit card cvv payment contingency is surfaced by PAPS

    See more

    Declaration

    Swift

    protocol ConfirmCreditCardCvvContingency
  • Undocumented

    See more

    Declaration

    Swift

    protocol ContentView : AnyObject, StaticIdentifiable
  • Cryptocurrency Holdings Details contained within Funding Instrument

    See more

    Declaration

    Swift

    protocol CryptocurrencyHoldingDetails
  • This is a protocol that encapsulates the data that will be returned when we get back from GQL query CheckoutSession.cryptocurrencyQuotes. It is a quote of the live value of a given crypto funding instrument, valid for 30 seconds. Values returned are based on the amount of crypto the user has for that holding, and the amount that the user is using in the purchase.

    See more

    Declaration

    Swift

    protocol CryptocurrencyQuote
  • Currency Conversion

    See more

    Declaration

    Swift

    protocol CurrencyConversion
  • The base properties that describe a financial instrument

    See more

    Declaration

    Swift

    protocol FIModelBase
  • Conforming types will fade out and back in during height changes.

    Declaration

    Swift

    protocol FadingContentView : UIView, ContentView
  • A structure that groups Firebase-related callbacks

    See more

    Declaration

    Swift

    protocol FirebaseCallbacks
  • Funding Instrument

    See more

    Declaration

    Swift

    protocol FundingInstrument
  • Funding Option

    See more

    Declaration

    Swift

    protocol FundingOption
  • Funding Source

    See more

    Declaration

    Swift

    protocol FundingSource
  • Protocol for String Masking behavior

    See more

    Declaration

    Swift

    protocol Masking
  • Merchant

    See more

    Declaration

    Swift

    protocol Merchant
  • NetworkInput objects contain the data we plan to pass to an invocation of of NetworkOperation.operation() closures.

    The base class codifies no data itself, but the pattern is to provide a var input of whatever main type of data the subclass is providing.

    See more

    Declaration

    Swift

    protocol NetworkInput : AnyObject
  • This protocol defines the default layout of the NetworkResult after a NetworkOperation has completed. It allows for room to grow and any custom implementation to be provided

    See more

    Declaration

    Swift

    protocol NetworkResult
  • Encapsulates all properties related to open banking contingency

    See more

    Declaration

    Swift

    protocol OpenBankingContingency
  • Content returned from MORS

    See more

    Declaration

    Swift

    protocol PPCOffersContent
  • PaymentButtonContainerDelegate for managing native Smart Payment Button container eligibility and ui status

    See more

    Declaration

    Swift

    @objc(PPCPaymentButtonContainerDelegate)
    protocol PaymentButtonContainerDelegate
  • Delegation for PaymentButton which includes hooks to respond to button events.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "Use PaymentButtonContainer(﹚ instead.")
    protocol PaymentButtonDelegate : AnyObject
  • A PaymentButtonProvider allows a customized SDK setup for a transaction sequence with the PaymentButton.

    See more

    Declaration

    Swift

    @available(*, deprecated, message: "Use PaymentButtonContainer(﹚ instead.")
    protocol PaymentButtonProvider : AnyObject
  • Encapsulates all data related to a Checkout session’s payment contingencies Ex: threeDomainSecure, cvvConfirm, etc.

    See more

    Declaration

    Swift

    protocol PaymentContingencies
  • Plan

    See more

    Declaration

    Swift

    protocol Plan
  • PlanTypes Option

    See more

    Declaration

    Swift

    protocol PlanTypes
  • A protocol that defines the properties of a portable address. A portable address contains general fields such as administrative areas. Depending on the country, each fields may represent a different thing. For instance: adminArea1 corresponds to state in the US, while it means county in GB. In order to support address globally, portable addresses are preferred, as we move on to deprecate the older coarse format (where there were specific fixed properties like state and city).

    See more

    Declaration

    Swift

    protocol PortableAddress
  • Provider Credit Offer via. PayPal, Venmo, etc.

    See more

    Declaration

    Swift

    protocol ProviderCreditOffer
  • A protocol that defines the properties needed to describe a Shipping Address. It inherits all the properties defined in the PortableAddress protocol, and adds other properties such as the owner’s full name and some shipping-related flags.

    See more

    Declaration

    Swift

    protocol ShippingAddress : PortableAddress
  • This protocol ensures that anything that conforms to it should be able to somewhat uniquely identify itself in code without an instance of the type on hand.

    See more

    Declaration

    Swift

    protocol StaticIdentifiable
  • Data required to resolve the Strong Customer Authentication (SCA) Contingency. Before completing checkout or updating any account related info, user needs to complete another auth flow.

    See more

    Declaration

    Swift

    protocol StrongCustomerAuthenticationRequiredContingency
  • Used to display a list of suggestions, usually for something like autocomplete.

    See more

    Declaration

    Swift

    protocol Suggestion
  • Encapsulates all properties related to a ThreeDSContingencyContextData type

    See more

    Declaration

    Swift

    protocol ThreeDSContingencyContextData
  • Encapsulates our device data collection url this is for risk purposes.

    See more

    Declaration

    Swift

    protocol ThreeDSDeviceDataCollectionURL
  • Encapsulates all properties related to a ThreeDSJwtSpecification which include the issuer and validity algorithem & etc

    See more

    Declaration

    Swift

    protocol ThreeDSJwtSpecification
  • Encapsulates all properties related to a ThreeDSPaymentCardData type

    See more

    Declaration

    Swift

    protocol ThreeDSPaymentCardData
  • Encapsulates all properties related to a ThreeDSResolution type

    See more

    Declaration

    Swift

    protocol ThreeDSResolution
  • Encapsulates all properties related to ACS Data Ex: redirectUrl, method, status, etc.

    See more

    Declaration

    Swift

    protocol ThreeDomainSecureContingency
  • Encapsulates all properties related to a ThreeDomainSecureResolutionContingency type

    See more

    Declaration

    Swift

    protocol ThreeDomainSecureResolutionContingency
  • Allows you to conform to transitionable which can provide a static id for the transition you require.

    See more

    Declaration

    Swift

    protocol Transitionable
  • User

    See more

    Declaration

    Swift

    protocol User
  • The payload result for a User/Checkout Query

    See more

    Declaration

    Swift

    protocol UserCheckoutPayload
  • All view models should conform to this base protocol

    Declaration

    Swift

    protocol ViewModel : AnyObject
  • All view model views should conform to this base protocol

    See more

    Declaration

    Swift

    protocol ViewModelView : AnyObject