Awesome
Braintree iOS SDK
Welcome to Braintree's iOS SDK. This library will help you accept card and alternative payments in your iOS app.
📣 Announcements
-
Upgrade your integration to continue accepting Braintree payments 📣 The SSL certificates for current iOS SDK versions (v5 and v6) are set to expire by June 31, 2025. Upgrade to v5.26.0+ and v6.17.0+, respectively, to continue using the Braintree SDK.
-
v6 is the latest major version of Braintree iOS. To update from v5, see the v6 migration guide. If you have not yet migrated to v5, see the v5 migration guide
The Braintree iOS SDK permits a deployment target of iOS 14.0 or higher. It requires Xcode 15.0+ and Swift 5.9+.
Supported Payment Methods
Installation
We recommend using Swift Package Manager, CocoaPods, or Carthage to integrate the Braintree SDK with your project.
Swift Package Manager
This feature is only available in v5+.
To add the Braintree
package to your Xcode project, select File > Swift Packages > Add Package Dependency and enter https://github.com/braintree/braintree_ios
as the repository URL. Tick the checkboxes for the specific Braintree libraries you wish to include.
If you look at your app target, you will see that the Braintree libraries you chose are automatically linked as a frameworks to your app (see General > Frameworks, Libraries, and Embedded Content).
BraintreePayPal
and BraintreePaymentFlow
also require the inclusion of the PayPalDataCollector
module.
In your app's source code files, use the following import syntax to include Braintree's libraries:
import BraintreeCore
import BraintreeCard
import BraintreeApplePay
import BraintreePayPal
CocoaPods
# Includes Cards and PayPal
pod 'Braintree'
# Optionally include additional Pods
pod 'Braintree/DataCollector'
pod 'Braintree/Venmo'
Carthage
Braintree 6.0.0+ requires Carthage 0.38.0+ and the --use-xcframeworks
option when running carthage update
.
Add github "braintree/braintree_ios"
to your Cartfile
, and add the frameworks to your project.
Note: Long term support for Carthage is not guaranteed. Please update to SPM, if possible. If there are concerns, please comment on this Discussion thread.
Documentation
Start with 'Hello, Client!' for instructions on basic setup and usage.
Next, read the full documentation for information about integrating with additional payment methods, such as PayPal and Venmo, as well as explore our pre-built Drop-In UI offering.
Upgrade Your SDK Version
If you're looking to update to a newer version of our SDK, please see our recommended approach below.
Using Swift Package Manager
To update using Swift Package Manager, select File→ Packages → Update to Latest Package Versions.
Using Cocoapods
You can either update all pods listed within your Podfile using pod update
or specific pods as needed using pod update PODNAME
. For additional details, see the Cocoapods guidelines.
Using Carthage
To update to the latest versions of each framework, simply run the carthage update
command. For more details, check out the Carthage guidelines.
Versions
This SDK abides by our Client SDK Deprecation Policy. For more information on the potential statuses of an SDK check our developer docs.
Major version number | Status | Released | Deprecated | Unsupported |
---|---|---|---|---|
6.x.x | Active | June 2023 | TBA | TBA |
5.x.x | Inactive | February 2021 | June 2024 | June 2025 |
4.x.x | Unsupported | November 2015 | February 2022 | February 2023 |
Versions 4.9.6 and below use outdated SSL certificates and are unsupported.
Demo
- Our Xcode project uses SwiftLint. To ensure you have it installed see DEVELOPMENT.md
- Run
pod install
- There is a known M1 mac issue with CocoaPods. See this solution to resolve
ffi
dependency issues.
- There is a known M1 mac issue with CocoaPods. See this solution to resolve
- Resolve the Swift Package Manager packages if needed:
File
>Packages
>Resolve Package Versions
or by runningswift package resolve
in Terminal - Open
Braintree.xcworkspace
in Xcode - Select the
Demo
scheme, and then run
Xcode 15.0+ is required to run the demo app.
Contributing
We welcome PRs to this repo. See our development doc.
Feedback
The Braintree iOS SDK is in active development, we welcome your feedback!
Here are a few ways to get in touch:
- GitHub Issues - For generally applicable issues and feedback
- Braintree Support / support@braintreepayments.com - for personal support at any phase of integration
Help
- Read the Braintree docs
- Check out the reference docs
- Find a bug? Open an issue
- Want to contribute? Check out contributing guidelines and submit a pull request.
License
The Braintree iOS SDK is open source and available under the MIT license. See the LICENSE file for more info.