The Braintree iOS SDK helps you accept payments in your iOS app.
It goes without saying, but we’ll say it anyway: we always recommend using the latest versions of our SDKs. In order to communicate securely with the Braintree gateway, you must use at least version 4.10.0 of the iOS SDK.
There are multiple ways to include Braintree in your project. See the
Installation section of our README.
- In Xcode, click on your project in the Project Navigator and navigate to App Target > Info > URL Types
- Click [+] to add a new URL type
- Under URL Schemes, enter your app switch return URL scheme. This scheme must start with your app's Bundle ID and be dedicated to Braintree app switch returns. For example, if the app bundle ID is
com.your-company.your-app, then your URL scheme could be
You can test out your new URL scheme by opening up a URL that starts with it (e.g.
com.your-company.your-app.payments://test) in Mobile Safari on your iOS Device or Simulator.
In addition, always test your app switching on a real device.
In your AppDelegate's
application:didFinishLaunchingWithOptions: implementation, use
setReturnURLScheme: with the value you set above.
Then pass the payment authorization URL to Braintree for finalization.
If you're using
UISceneDelegate (introduced in iOS 13), call
handleOpenURLContext method from within the
scene:openURLContexts scene delegate method.
Otherwise, if you aren't using
handleOpenURL method from within the
application:openURL:options app delegate method.
The Braintree iOS SDK uses device and browser location data for fraud detection when available (i.e. when location permissions have already been requested by your app and granted by the user). While you do not need to request location data from users in order to use Braintree, Apple requires a
NSLocationWhenInUseUsageDescription key in your Info.plist if your app contains code referencing location APIs. If your app does not request location data, you will still need to include a
NSLocationWhenInUseUsageDescription plist entry.