zhcz / braintree_ios

Braintree SDK for iOS

Home Page:https://developers.braintreepayments.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Braintree iOS SDK

CocoaPods compatible Swift Package Manager compatible Carthage compatible

GitHub Actions CI

Welcome to Braintree's iOS SDK. This library will help you accept card and alternative payments in your iOS app.

A new major version of the SDK is available in beta. See the v5 migration guide for details.

The Braintree iOS SDK requires Xcode 11+. It permits a Deployment Target of iOS 8.0 or higher.

Supported Payment Methods

Installation

We recommend using Swift Package Manager, CocoaPods, or Carthage to integrate the Braintree SDK with your project.

Swift Package Manager (v5 Beta)

This feature is only available in v5.0.0-beta1.

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).

In your app's source code files, use the following import syntax to include Braintree's libraries. For example:

import BraintreeCore
import BraintreeCard
import BraintreeApplePay
import BraintreePayPal

The following Braintree libraries offer official Swift Package Manager support:

  • BraintreeAmericanExpress
  • BraintreeApplePay
  • BraintreeCard
  • BraintreeCore
  • BraintreePaymentFlow
  • BraintreePayPal
  • BraintreeUnionPay
  • BraintreeVenmo
  • PayPalDataCollector

Note: The BraintreeThreeDSecure and BraintreeDataCollector libraries do not currently support Swift Package Manager. These both rely on third party frameworks which we do not yet have in the .xcframework format.

If you would like to use SPM as your sole package manager, you can manually include the .xcframework versions of the BraintreeThreeDSecure or BraintreeDataCollector libraries. These are attached to recent GitHub releases as Braintree-xcframeworks.zip.

In order to use the BraintreeThreeDSecure.xcframework, you must manually include the CardinalMobile.framework located in the Frameworks dir. You must also include BraintreeCore, BraintreeCard, and BraintreePaymentFlow either via SPM or via manual integration.

Manually including a framework

  1. Drag and drop the framework from Finder into your Xcode project
    • Select Copy items if needed
    • Click Finish. The result should look like:

      image
  2. Open your project's settings by selecting your app target in the General tab
    • Under the Frameworks, Libraries, and Embedded Content section, make sure each framework is set to “Embed & Sign” image
  3. Go to the Build Phases tab. Under Link Binary With Libraries, make sure the frameworks are listed. This should be taken care of by step #2 above, but if not, add the frameworks manually via the + button.

CocoaPods

# Includes Cards and PayPal
pod 'Braintree'

# Optionally include additional Pods
pod 'Braintree/DataCollector'
pod 'Braintree/Venmo'

Note: If you are using version 4.x.x of the Braintree iOS SDK in Xcode 12, you may see the warning The iOS Simulator deployment target is set to 8.0, but the range of supported deployment target versions is 9.0 to 14.0.99. This will not prevent your app from compiling. This is a CocoaPods issue with a known workaround.

Carthage

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. Open a GitHub issue if there are concerns.

Documentation

Start with 'Hello, Client!' for instructions on basic setup and usage.

Next, read the full documentation for information about integration options, such as Drop-In UI, PayPal, and credit card tokenization.

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
5.x.x Beta December 2020 TBA TBA
4.x.x Active November 2015 TBA TBA

Demo

A demo app is included in the project. To run it, run pod install and then open Braintree.xcworkspace in Xcode.

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:

Help

License

The Braintree iOS SDK is open source and available under the MIT license. See the LICENSE file for more info.

About

Braintree SDK for iOS

https://developers.braintreepayments.com

License:MIT License


Languages

Language:Objective-C 67.6%Language:Swift 30.8%Language:Ruby 1.4%Language:Shell 0.1%Language:C++ 0.1%