Classes
The following classes are available globally.
-
This class acts as the entry point for accessing the Braintree APIs via common HTTP methods performed on API endpoints.
Note
It also manages authentication via tokenization key and provides access to a merchant’s gateway configuration.Declaration
Swift
@objcMembers public class BTAPIClient : NSObject, BTHTTPNetworkTiming
-
Handles return URLs when returning from app context switch and routes the return URL to the correct app context switch client class.
Note
returnURLScheme
must contain your app’s registered URL Type that starts with the app’s bundle ID. When your app returns from app switch, the app delegate should callhandleOpenURL
(orhandleOpen
if not using SceneDelegate)Declaration
Swift
@objcMembers public class BTAppContextSwitcher : NSObject
-
Contains the bin data associated with a payment method
See moreDeclaration
Swift
@objcMembers public class BTBinData : NSObject
-
BTPaymentMethodNonce is for generic tokenized payment information.
For example, if a customer’s vaulted payment methods contains a type that’s not recognized or supported by the Braintree SDK or the client-side integration (e.g. the vault contains a PayPal account but the client-side integration does not include the PayPal component), this type can act as a fallback.
The payment method nonce is a public token that acts as a placeholder for sensitive payments data that has been uploaded to Braintree for subsequent processing. The nonce is safe to access on the client and can be used on your server to reference the data in Braintree operations, such as Transaction.sale.
See moreDeclaration
Swift
@objcMembers open class BTPaymentMethodNonce : NSObject
-
A JSON parser that parses
BTJSON
into concreteBTPaymentMethodNonce
objects. It supports registration of parsers at runtime.
See moreBTPaymentMethodNonceParser
provides access to JSON parsing for different payment options without introducing compile-time dependencies on payment option frameworks and their symbols.Declaration
Swift
@objcMembers public class BTPaymentMethodNonceParser : NSObject
-
Generic postal address
See moreDeclaration
Swift
@objcMembers public class BTPostalAddress : NSObject
-
Contains information about a PayPal payment method.
See moreDeclaration
Swift
@objcMembers public class BTPayPalNativeCheckoutAccountNonce : BTPaymentMethodNonce
-
Client used to collect PayPal payment methods. If possible, this client will present a native flow; otherwise, it will fall back to a web flow.
See moreDeclaration
Swift
@objc public class BTPayPalNativeCheckoutClient : NSObject
-
Options for the PayPal Checkout flow.
See moreDeclaration
Swift
@objcMembers public class BTPayPalNativeCheckoutRequest : BTPayPalCheckoutRequest
-
Options for the PayPal Vault flow.
See moreDeclaration
Swift
@objcMembers public class BTPayPalNativeVaultRequest : BTPayPalVaultBaseRequest
-
Used to integrate with SEPA Direct Debit.
See moreDeclaration
Swift
@objc @MainActor public class BTSEPADirectDebitClient : BTWebAuthenticationSessionClient
-
A payment method nonce representing a SEPA Direct Debit payment.
See moreDeclaration
Swift
@objcMembers public class BTSEPADirectDebitNonce : BTPaymentMethodNonce
-
Parameters for creating a SEPA Direct Debit tokenization request.
See moreDeclaration
Swift
@objcMembers public class BTSEPADirectDebitRequest : NSObject
-
See moreBTAmericanExpressClient
enables you to look up the rewards balance of American Express cards.Declaration
Swift
@objc public class BTAmericanExpressClient : NSObject
-
Contains information about an American Express rewards balance.
See moreDeclaration
Swift
@objcMembers public class BTAmericanExpressRewardsBalance : NSObject
-
Braintree’s advanced fraud protection solution.
See moreDeclaration
Swift
@objc public class BTDataCollector : NSObject
-
Contains information about a tokenized Apple Pay card.
See moreDeclaration
Swift
@objcMembers public class BTApplePayCardNonce : BTPaymentMethodNonce
-
Used to process Apple Pay payments
See moreDeclaration
Swift
@objc public class BTApplePayClient : NSObject
-
Declaration
Swift
@objcMembers @MainActor public class BTLocalPaymentClient : BTWebAuthenticationSessionClient
-
Used to initialize a local payment flow
See moreDeclaration
Swift
@objcMembers public class BTLocalPaymentRequest : NSObject
-
Declaration
Swift
@objcMembers public class BTLocalPaymentResult : NSObject
-
Additional information for a 3DS lookup. Used in 3DS 2.0+ flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureAdditionalInformation : NSObject
-
Declaration
Swift
@objcMembers public class BTThreeDSecureClient : NSObject
-
The result of a 3DS lookup. Contains liability shift and challenge information.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureLookup : NSObject
-
Postal address for 3D Secure flows
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecurePostalAddress : NSObject
-
Render types that the device supports for displaying specific challenge user interfaces within the 3D Secure challenge.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureRenderType : NSObject, OptionSet
-
Used to initialize a 3D Secure payment flow
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureRequest : NSObject
-
The result of a 3D Secure payment flow
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureResult : NSObject
-
Base customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2BaseCustomization : NSObject
-
Button customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2ButtonCustomization : BTThreeDSecureV2BaseCustomization
-
Label customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2LabelCustomization : BTThreeDSecureV2BaseCustomization
-
Text box customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2TextBoxCustomization : BTThreeDSecureV2BaseCustomization
-
Toolbar customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2ToolbarCustomization : BTThreeDSecureV2BaseCustomization
-
UI customization options for 3D Secure 2 flows.
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureV2UICustomization : NSObject
-
Information pertaining to the regulatory environment for a credit card if authentication insight is requested during tokenization.
See moreDeclaration
Swift
@objcMembers public class BTAuthenticationInsight : NSObject
-
The card tokenization request represents raw credit or debit card data provided by the customer. Its main purpose is to serve as the input for tokenization.
See moreDeclaration
Swift
@objcMembers public class BTCard : NSObject
-
Used to process cards
See moreDeclaration
Swift
@objc public class BTCardClient : NSObject
-
Contains information about a tokenized card.
See moreDeclaration
Swift
@objcMembers public class BTCardNonce : BTPaymentMethodNonce
-
Contains information about a card to tokenize
See moreDeclaration
Swift
@available(*, deprecated, message: "Use BTCard directly instead") @objcMembers public class BTCardRequest : NSObject
-
Contains information about the 3D Secure status of a payment method
See moreDeclaration
Swift
@objcMembers public class BTThreeDSecureInfo : NSObject
-
Contains information about a PayPal payment method
See moreDeclaration
Swift
@objcMembers public class BTPayPalAccountNonce : BTPaymentMethodNonce
-
Options for the PayPal Checkout flow.
See moreDeclaration
Swift
@objcMembers open class BTPayPalCheckoutRequest : BTPayPalRequest
-
Declaration
Swift
@objc @MainActor public class BTPayPalClient : BTWebAuthenticationSessionClient
extension BTPayPalClient: BTAppContextSwitchClient
-
Contains information about a PayPal credit financing option
See moreDeclaration
Swift
@objcMembers public class BTPayPalCreditFinancing : NSObject
-
Contains information about a PayPal credit amount
See moreDeclaration
Swift
@objcMembers public class BTPayPalCreditFinancingAmount : NSObject
-
A PayPal line item to be displayed in the PayPal checkout flow.
See moreDeclaration
Swift
@objcMembers public class BTPayPalLineItem : NSObject
-
Base options for PayPal Checkout and PayPal Vault flows.
Note
Do not instantiate this class directly. Instead, use BTPayPalCheckoutRequest or BTPayPalVaultRequest.Declaration
Swift
@objcMembers open class BTPayPalRequest : NSObject
-
Options for the PayPal Vault flow.
See moreDeclaration
Swift
@objcMembers open class BTPayPalVaultBaseRequest : BTPayPalRequest
-
Options for the PayPal Vault flow.
See moreDeclaration
Swift
@objcMembers public class BTPayPalVaultRequest : BTPayPalVaultBaseRequest
-
Contains information about a Venmo Account payment method
See moreDeclaration
Swift
@objcMembers public class BTVenmoAccountNonce : BTPaymentMethodNonce
-
Used to process Venmo payments
See moreDeclaration
Swift
@objc public class BTVenmoClient : NSObject
extension BTVenmoClient: BTAppContextSwitchClient
-
A Venmo line item to be displayed in the Venmo Paysheet.
See moreDeclaration
Swift
@objcMembers public class BTVenmoLineItem : NSObject
-
A BTVenmoRequest specifies options that contribute to the Venmo flow
See moreDeclaration
Swift
@objcMembers public class BTVenmoRequest : NSObject
-
Use
BTPayPalMessagingView
to display PayPal messages to promote offers such as Pay Later and PayPal Credit to customers.Warning
This module is in beta. It’s public API may change or be removed in future releases.Declaration
Swift
@MainActor public class BTPayPalMessagingView : UIView
extension BTPayPalMessagingView: PayPalMessageViewEventDelegate, PayPalMessageViewStateDelegate
-
Use
BTShopperInsightsClient
to optimize your checkout experience by prioritizing the customer’s preferred payment methods in your UI. By customizing each customer’s checkout experience, you can improve conversion, increase sales/repeat buys and boost user retention/loyalty.Warning
This feature is in beta. It’s public API may change or be removed in future releases.Declaration
Swift
public class BTShopperInsightsClient