The Braintree iOS SDK is organized into a family of frameworks.
- Frameworks and Carthage support
- Client key and JWT instead of client token
BTAPIClient
instead ofBTClient
BTTokenized
instead ofBTPaymentMethod
- Refactored tests and added tests in Swift
This is the core set of models and networking needed to use Braintree in an app or extension. All other frameworks depend on this.
PRIMARY CLASS:
- Authentication with client key / JWT
- Access configuration from gateway
- Analytics
- HTTP methods on Braintree API endpoints
BTAppSwitch
: Class and protocol for authentication via app switchBTJSON
: JSON parser
The Braintree iOS SDK currently supports 6 payment options.
BraintreeCard
: Credit and debit card
- No dependencies other than
BraintreeCore
BraintreeApplePay
: Apple Pay
- Depends on
PassKit
BraintreePayPal
: PayPal
- No dependencies other than
BraintreeCore
- Use
BTPaymentDriverDelegate
to receive app switch lifecycle events
BraintreeVenmo
: Venmo
- Depends on
BraintreeCard
Braintree3DSecure
: 3D Secure
- Depends on
BraintreeCard
- Use
BTViewControllerPresentingDelegate
(required) for cases when a view controller must be presented for buyer verification
BraintreeCoinbase
: Coinbase
- No dependencies other than
BraintreeCore
Tokenizes credit or debit cards.
PRIMARY CLASS:
BTCardTokenizationRequest
: Raw credit or debit card data provided by the customerBTTokenizedCard
: A tokenized card that contains a payment method nonce
A pre-built payment form and payment button.
Optionally uses these payment option frameworks, if present: BraintreeCard
, BraintreePayPal
, BraintreeVenmo
, BraintreeCoinbase
.
- UI
- Card form
- Drop-in
Accept payments with PayPal app via PayPal One Touch.
BTPayPalDriver
: Coordinates paying with PayPal by switching to the PayPal app or the web browser- Future payments via
-authorizeAccount...
BTTokenizedPayPalAccount
: A tokenized PayPal account that contains a payment method nonce
- Single payments via
-checkoutWithCheckoutRequest...
BTTokenizedPayPalCheckout
: A tokenized PayPal checkout that contains a payment method nonce
BTPayPalCheckoutRequest
: Options for a PayPal checkout flow
Depends on BraintreeCard.
Accept payments with a credit or debit card from the Venmo app via Venmo One Touch.
BTVenmoDriver
: Coordinates switching to the Venmo app for the buyer to select a cardBTVenmoTokenizedCard
: A tokenized card from Venmo that contains a payment method nonce
Accept bitcoin payments via Coinbase.
BTCoinbaseDriver
: Coordinates paying with Coinbase by switching to the Coinbase app or the web browserBTTokenizedCoinbaseAccount
: A tokenized Coinbase account that contains a payment method nonce
Depends on PassKit
.
Accept Apple Pay by using Braintree to process payments.
BTApplePayTokenizationClient
: Performs tokenization of aPKPayment
and returns a tokenized Apple Pay payment instrumentBTTokenizedApplePayPayment
: A tokenized Apple Pay payment that contains a payment method nonce
Depends on BraintreeCard
.
Perform 3D Secure verification.
BTThreeDSecureDriver
: Coordinates 3D Secure verification via in-app web viewBTThreeDSecureVerification
: Card/transactions details to be verifiedBTThreeDSecureTokenizedCard
: A tokenized card that contains a payment method nonceliabilityShifted
: 3D Secure worked and authentication succeeded. This will also be true if the issuing bank does not support 3D Secure, but the payment method doesliabilityShiftPossible
: The payment method was eligible for 3D Secure- These parameters pass through the client-side first and should not be trusted for your server-side risk assessment