Client-Side Implementation

SetupAnchorIcon

Before you can add PayPal:

  1. Integrate the Braintree iOS SDK into your app
  2. Create, verify, and link your PayPal account in the Braintree Control Panel

Get the SDKAnchorIcon

CocoaPodsAnchorIcon

Include Braintree in your podfile:
  1. Ruby
pod 'Braintree'

Swift Package ManagerAnchorIcon

Include the BraintreePayPal and PayPalDataCollector frameworks.

CarthageAnchorIcon

Include the BraintreeCore,BraintreePayPal, BraintreeDataCollector, and PPRiskMagnes frameworks.

Showing a PayPal buttonAnchorIcon

Initiaiting the PayPal authorization flow will present and dismiss an ASWebAuthenticationSession from your top-most view.

Using our Drop-in UIAnchorIcon

When using the Drop-in UI, a PayPal payment option will be shown alongside any other payment methods you've enabled.

For more details, see the Drop-in UI guide.

Using a custom UIAnchorIcon

You can implement a custom UI, such as your own PayPal button.
  1. Swift
var braintreeClient: BTAPIClient!

override func viewDidLoad() {
    super.viewDidLoad()

    self.braintreeClient = BTAPIClient(authorization: "<#CLIENT_AUTHORIZATION#>")

    let customPayPalButton = UIButton(frame: CGRect(x: 0, y: 0, width: 60, height: 120))
    customPayPalButton.addTarget(self, action: #selector(customPayPalButtonTapped(button:)), for: UIControlEvents.touchUpInside)
    self.view.addSubview(customPayPalButton)
}

func customPayPalButtonTapped(button: UIButton) {
    let payPalClient = BTPayPalClient(apiClient: self.braintreeClient)

    // Important! Choose either Vault or Checkout flow
    // Start the Vault flow, or...
    let vaultRequest = BTPayPalVaultRequest()
    payPalClient.tokenize(vaultRequest) { (tokenizedPayPalAccount, error) in
        // ...
    }

    // ...start the Checkout flow
    let checkoutRequest = BTPayPalCheckoutRequest(amount: "1.00")
    payPalClient.tokenize(checkoutRequest) { (tokenizedPayPalAccount, error) in
        // ...
    }
}

Collecting additional dataAnchorIcon

You can gather additional data about your customers as they complete the payment process.

Next: Choose your integrationAnchorIcon

The rest of your configuration will be determined by how you'd like to use PayPal.

See a detailed comparison of Vault vs. Checkout.