msasinowski / react-native-expo-braintree

React Native library that implements PayPal(Braintree) checkout, vault, and tokenize card flow using Braintree SDK, and pure native code using swift and kotlin. And add possibility to integrate the braintree sdk with expo based project.
MIT License
6 stars 4 forks source link

react-native-expo-braintree

This package is a continuation of https://www.npmjs.com/package/react-native-paypal-reborn , the name change happened because of adding expo support, and all of future updates will be done under react-native-expo-braintree

Read This Before Usage

Getting started

React Native Expo Braintree package is a pure native implementation of Braintree SDK https://developer.paypal.com/braintree/docs/start/overview

React Native Expo Braintree Version Braintree Android SDK Braintree IOS SDK Minimum SDK Android Minimum SDK IOS
2.2.0 v4.41.x v6.17.0 21 14.0
2.2.1 v4.41.x v6.17.0 21 14.0
2.2.2 v4.41.x v6.17.0 21 14.0
2.3.0 v4.41.x v6.23.3 21 14.0
2.4.0 v4.41.x v6.23.3 21 14.0
3.0.1 v5.2.x v6.23.3 23 14.0
React Native Expo Braintree Version Expo SDK
2.2.0 50 or 51
2.2.1 50 or 51
2.2.2 50 or 51
2.4.0 50 or 51
2.5.0 50 or 51 or 52
3.0.1 50 or 51
3.0.2 50 or 51
3.0.3 50 or 51 or 52

!!! Important Information Only For Package Version Above 3.x.x^ !!!

Package Version 3.x.x, introduce breaking change for the whole Android Integration, long story short Braintree SDK For Android, from version 5.X.X , change a way of handling deep link and context switch from the PayPal (Browser) to the App, instead using custom schema Deep Link, SDK Version 5.x.x introduces usage of AppLinks for Android, with https schema.

Please check official Migration Guide from v4 to v5, most likely you do not need to do anything with that, the package itself already handles that. MIgration Guide v4 to v5

Required Setup For 3.x.x^

This step is required, to finalize if you want to upgrade this package to the newest version 3.x.x^.

Please follow, the official Set Up App Links Guide, and make sure that all the steps was completed.

Troubleshooting for 3.x.x^

Command:

adb -d shell pm get-app-links com.expobraintreeexample

Output:

    ID: b3a3a2ff-0148-4bc0-b0d0-dfcaaf047a4b
    Signatures: [FA:C6:17:45:DC:09:03:78:6F:B9:ED:E6:2A:96:2B:39:9F:73:48:F0:BB:6F:89:9B:83:32:66:75:91:03:3B:9C]
    Domain verification state:
      braintree-example-app.web.app: verified

Integration

Since package, currently is supporting two versions tracks 2.x.x and 3.x.x, which had a bit different integration steps, the documentation about that is separated based on version and based on if your project is using expo or react-native-cli. Please follow the correct integration guide before you will start a new issue.

EXPO Based Project (EXPO SDK 50 and EXPO SDK 51)

Package Version 2.x.x

Integration Expo Based Project Package Version 2.x.x

Package Version 3.x.x

Integration Expo Based Project Package Version 3.x.x

React Native Bare Project (react-native-cli)

Package Version 2.x.x

React Native CLI Based Project Package Version 2.x.x

Package Version 3.x.x

React Native CLI Based Project Package Version 3.x.x

Usage and Examples

You can find it in Example App or in dedicated, usage pages:

Special Thanks

TODO