A high-performance, native implementation of the Braintree SDK for React Native and Expo.
Note: This package is the successor to react-native-paypal-reborn. The name change reflects the addition of first-class Expo support. All future updates and features will be released under react-native-expo-braintree.
- Native Rewrite (v2.x.x+): Starting from version 2.0.0, the core was rewritten in Kotlin (Android) and Swift (iOS) to ensure modern compatibility and Expo support.
- Support Status: Only version 3.x.x is actively supported. Support for 2.x.x has been discontinued due to breaking changes in the Braintree Android integration. All ongoing fixes target the 3.x.x line exclusively.
- Issues: If you encounter problems, please report them via the Issues panel.
| Package Version | Braintree Android | Braintree iOS | Min Android SDK | Min iOS |
|---|---|---|---|---|
| 3.4.0 | v5.19.0 | v6.41.0 | 23 | 15.1 |
| 3.3.0 | v5.19.0 | v6.41.0 | 23 | 15.1 |
| 3.2.0 - 3.2.2 | v5.19.0 | v6.41.0 | 23 | 15.1 |
| 3.1.0 | v5.9.x | v6.31.0 | 23 | 14.0 |
| 3.0.1 - 3.0.5 | v5.2.x | v6.23.3 | 23 | 14.0 |
| 2.2.0 - 2.4.0 | v4.41.x | v6.17.0 | 21 | 14.0 |
| Package Version | Supported Expo SDK |
|---|---|
| 3.2.1+ | 53 |
| 3.0.3 - 3.1.0 | 50, 51, 52 |
| 3.0.1 - 3.0.2 | 50, 51 |
| 2.5.0 | 50, 51, 52 |
| 2.2.0 - 2.4.0 | 50, 51 |
| Package Version | Supported Expo SDK |
|---|---|
| 3.4.0 | Google Pay Feature Added |
| 3.3.0 | 3D Secure Feature Added |
Important: Version 3.x.x uses Braintree Android SDK v5, which introduces a breaking change: shifting from Custom Scheme Deep Links to Android App Links (HTTPS).
To ensure PayPal and browser-based flows work, you must transition to App Links.
- Official Guide: Braintree Android App Link Setup
- Migration Context: Braintree Android v4.x.x is supported until Q3 2025. After that, SDK v5 is mandatory.
Symptom: You receive a TOKENIZE_VAULT_PAYMENT_ERROR on Android during requestBillingAgreement.
The Cause: Even with App Links, the SDK requires a Fallback URL Scheme for specific browser-switch flows.
The Fix (Expo): Pass the addFallbackUrlScheme property into your Expo config plugin
Important: The fallbackUrlScheme must match the one used in your runtime calls and must end with .braintree (e.g., com.your.app.braintree). This suffix is a requirement of the Braintree Android SDK to correctly identify the return intent.
"plugins": [
["react-native-expo-braintree", {
"host": "your-domain.com",
"pathPrefix": "/payments",
"addFallbackUrlScheme": "true"
}]
]Android must verify your domain. Run:
adb -d shell pm get-app-links <YOUR_PACKAGE_NAME>
Required Output:
your-braintree-domain.com: verified
CAUTION: If the state is legacy_failure or ask, the OS has rejected your assetlinks.json configuration. Check your SHA-256 fingerprints and HTTPS accessibility.
Your web domain must host a valid association file at:
https://your-domain.com/.well-known/assetlinks.json
- Fingerprints: Ensure the
sha256_cert_fingerprintsmatches your app's signing certificate. - Reference: Braintree Example assetlinks.json
Symptom: You receive a a crash during initializing 3DSecure or some layout issues
The Cause: If you are using Android 14 (API 34) or higher, you might encounter layout issues where the 3DSecure verification screen (Cardinal SDK) is rendered behind system bars or has unclickable buttons. This is caused by the new "Edge-to-Edge" enforcement in newer Android versions. Or you got just a crash when you start a 3DSecure window.
The Fix (rn-cli-bare): You must ensure your project uses at least version 1.8.0 of the androidx.activity library to properly handle window insets for 3DSecure activities. Add the following to your android/app/build.gradle (in the dependencies block):
dependencies {
// ... other dependencies
// 3DSecure EdgeToEdge Fix
api "androidx.activity:activity:1.8.0"
}If you continue to experience issues after verifying the App Link state and the Fallback Scheme, please create an Issue on the GitHub repository: GitHub Issues
Please follow the correct integration guide for your project type:
You can find implementation details in the Example App or in the dedicated usage page:
- iacop0 — For introducing Venmo Integration and Android Version Bump.
- Venmo Integration
- 3D-Secure (Implemented in 3.3.0)
- Google Pay (Implemented in 3.4.0)
- Apple Pay (TBD)

