[X] I have read an installation guide
[X] I know that for an iOS I need to install pods because I've read the installation guide
[X] I have read a linking guide and checked that everything is OK like in manual linking guide
[X] I know that before using tipsi-stripe I need to set options for my app as described in usage guide
Tipsi-stripe installs and runs fine (linking automatically) on its own with react-native 0.60.0. The issue only seems to be present in combination with react-native-maps (react-native-maps also seems to run fine on its own).
A fresh React-Native project at 0.60.0 with react-native-maps on the latest version (0.25.0) and tipsi-stripe on the latest version (7.5.0) fails to build with the following error. A fresh project with either package on its own seems to work fine.
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:transformClassesWithDexBuilderForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.dexing.DexArchiveBuilderException: com.android.builder.dexing.DexArchiveBuilderException: Failed to process C:\Users\cherb\.gradle\caches\transforms-2\files-2.1\8e9a36921623b25c921be84cb9af8f17\jars\classes.jar
There's quite a lot of warnings and errors on the way - full log here:
https://pastebin.com/Q7TY6UWm
All of the below are the defaults for react-native 0.60.0.
React native info output:
System:
OS: Windows 10
CPU: (12) x64 Intel(R) Core(TM) i7-8750H CPU @ 2.20GHz
Memory: 707.21 MB / 7.82 GB
Binaries:
Node: 10.15.2 - C:\Program Files\nodejs\node.EXE
npm: 6.4.1 - C:\Program Files\nodejs\npm.CMD
Watchman: 4.9.4 - C:\Users\cherb\AppData\Roaming\npm\watchman.EXE
IDEs:
Android Studio: Version 3.3.0.0 AI-182.5107.16.33.5264788
Library version: 7.5.0
react-native init BugDemo --version [email protected]cd BugDemo && npm install --save tipsi-stripe react-native-mapsmaven { url "https://jitpack.io" } to the root build.gradle in allprojects { repositories { ... (for tipsi-stripe)npm i && react-native run-androidDescribe what you expected to happen:
On the way.
@dancherb even a RN 59.8 project with react-native-maps and tipsi-stript 7.5.0 , also fails to build. Did you came up with any solution ?
````
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find com.google.firebase:firebase-core:17.6.0.
Searched in the following locations:
- file:/..../Library/Android/sdk/extras/m2repository/com/google/firebase/firebase-core/17.6.0/firebase-core-17.6.0.pom
- file:/..../Library/Android/sdk/extras/m2repository/com/google/firebase/firebase-core/17.6.0/firebase-core-17.6.0.jar
````
I haven't solved it yet - though for your error, have you definitely added jitpack correctly and checked firebase-core has a version 17.6.0 if this is something you've customly defined? (I had a similar issue with firebase wallet)
---- On Mon, 15 Jul 2019 13:50:10 +0200 [email protected] wrote ----
@dancherb even a RN 59.8 project with react-native-maps and tipsi-stript 7.5.0 , also fails to build. Did you came up with any solution ?
mine is
Could not resolve all files for configuration ':app:debugRuntimeClasspath'.
Could not find com.google.firebase:firebase-core:17.6.0.
Searched in the following locations:
- file:/..../Library/Android/sdk/extras/m2repository/com/google/firebase/firebase-core/17.6.0/firebase-core-17.6.0.pom
- file:/..../Library/Android/sdk/extras/m2repository/com/google/firebase/firebase-core/17.6.0/firebase-core-17.6.0.jar
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.
I also have this problem, did you manage to solve it?
React-Native 60 requires you to implement Jetifier to auto upgrade all Android-native dependencies that don't support React-Native 60 directly at this time.
Conversely, if we start directly supporting React-Native 60, then all users trying to run on < 60 will need to integrate Jetifier to downgrade our Android dependencies.
As a result I recommend you downgrade your React-Native version until more libraries have support. (The issues you see logged above are coming from Firebase, and not tipsi-stripe)
Is it impossible to use tipsi-stripe on Android RN60.0.4?
Error: Command failed: node_modules/tipsi-stripe/scripts/pre-link.sh
@dancherb https://tipsi.github.io/tipsi-stripe/docs/linking.html

It won't work on Windows if you want to contribute fix - feel free
@dancherb https://tipsi.github.io/tipsi-stripe/docs/linking.html
It won't work on Windows if you want to contribute fix - feel free
React Native 0.60.0 handles linking automatically. Additionally, the package works fine on its own - there are only problems in combination with react-native-maps.
React-Native 60 requires you to implement Jetifier to auto upgrade all Android-native dependencies that don't support React-Native 60 directly at this time.
Conversely, if we start directly supporting React-Native 60, then all users trying to run on < 60 will need to integrate Jetifier to _downgrade_ our Android dependencies.
As a result I recommend you downgrade your React-Native version until more libraries have support. (The issues you see logged above are coming from Firebase, and not tipsi-stripe)
I had the impression all React Native apps had to be upgraded to 0.60.0 in order to support 64-bit to be able to publish further updates after August 2019. I think you technically may be able to achieve this with React Native 0.59.x but I felt it was a priority to get all my apps updates to 0.60.0 now.
Do you know if the issue here actually relates to 0.60.0 and Android X? Maybe it could "support" 0.60.0 (fixing this issue) but still require jetify, which seems to work pretty well.
@dancherb yep, if this is required for 64 builds we will update. Also we will update to support AndroidX but right I cannot give any ETA
Has anyone been able to get past this? Im using react-native-maps as well. Im on RN 0.59.5
Is there anyway these two work together? Is the solution to not use androidX?
Hello guys,
to fix this we made the manual link as is said in the docs.
Also we added to android/app/build.gradle
implementation 'com.android.support:design:27.1.0'
compile (project(':tipsi-stripe')) {
exclude group: 'com.google.android.gms'
exclude group: 'com.google.firebase'
}
and finally added a file called react-native.config.js to the root of our project with this code:
module.exports = {
dependencies: {
'tipsi-stripe':Â {
platforms: {
android: null,
ios: null,
}
}
},
};
This way we avoid autolinking of tipsi-stripe.
I hope it works for you
Hello guys,
to fix this we made the manual link as is said in the docs.
Also we added to android/app/build.gradleimplementation 'com.android.support:design:27.1.0' compile (project(':tipsi-stripe')) { exclude group: 'com.google.android.gms' exclude group: 'com.google.firebase' }and finally added a file called react-native.config.js to the root of our project with this code:
dependencies: { 'tipsi-stripe': { platforms: { android: null, ios: null, } } }, };This way we avoid autolinking of tipsi-stripe.
I hope it works for you
Amazing, this did the job - thank you.
For those unfamiliar with react-native.config.js files, the first line (missed out above) should be:
module.exports = {
Hello guys,
to fix this we made the manual link as is said in the docs.
Also we added to android/app/build.gradleimplementation 'com.android.support:design:27.1.0' compile (project(':tipsi-stripe')) { exclude group: 'com.google.android.gms' exclude group: 'com.google.firebase' }and finally added a file called react-native.config.js to the root of our project with this code:
dependencies: { 'tipsi-stripe':Â { platforms: { android: null, ios: null, } } }, };This way we avoid autolinking of tipsi-stripe.
I hope it works for you
The second part should be:
module.exports = {
dependencies: {
'tipsi-stripe': {
platforms: {
android: null,
ios: null,
}
}
},
};
If was running into the same issue, for me none of the above fixed the issue. However setting the correct firebaseVersio, googlePlayServicesVersion and playServicesVersion did.
In android/app/build.gradle
ext {
...
playServicesVersion = "16.0.0"
firebaseVersion = "16.0.0"
googlePlayServicesVersion = "16.0.0"
}
With these settings configured correctly the autolinking is working in combination with jetifier and no other steps are required to take after the installation
I was able to get tipsi-stripe with react-native-maps working on RN: 0.61.2
Using the following Android Sdk and tools:
```
buildToolsVersion = "28.0.3"
minSdkVersion = 19
compileSdkVersion = 28
targetSdkVersion = 28
supportLibVersion = "28.0.0"
### YourRnProjectDirectory/android/app/build.gradle:
dependencies: {
...
+implementation (project(':tipsi-stripe')){
+exclude group: 'com.google.android.gms'
+exclude group: 'com.google.firebase'
}
### YourRnProjectDirectory/android/settings.gradle:
...
+include ':tipsi-stripe'
+project(':tipsi-stripe').projectDir = new File(rootProject.projectDir, '../node_modules/tipsi-stripe/android')
### YourRnProjectDirectory/android/build.gradle:
...
allprojects {
repositories {
...
### YourRnProjectDirectory/android/app/src/main/java/YourRnProject/MainApplication.java:
...
import com.gettipsi.stripe.StripeReactPackage;
...
@Override
protected List
@SuppressWarnings("UnnecessaryLocalVariable")
List
// Packages that cannot be autolinked yet can be added manually here, for example:
// packages.add(new MyReactNativePackage());
+packages.add(new StripeReactPackage());
return packages;
}
### YourRnProjectDirectory/node_modules/tipsi-stripe/android/build.gradle:
def DEFAULT_COMPILE_SDK_VERSION = 28 (your default compile sdk version)
def DEFAULT_TARGET_SDK_VERSION = 28 (your default target sdk version)
def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3' (your default build tools version)
def DEFAULT_GOOGLE_PLAY_SERVICES_VERSION = '16.0.0' (I tried to use 20.1.04 and didn't work so I used 16.0.0 as mentioned above and it worked)
def DEFAULT_FIREBASE_MESSAGING_VERSION = '11.8.0' (not using Firebase so I left this the same)
### YourRnProjectDirectory/react-native.config.js (I had to create this file)###
module.exports = {
dependencies: {
'tipsi-stripe':
{
platforms: { android: null, ios: null, }
}
},
};
```
After following these steps, I was able to successfully build my react-native project with tipsi-stripe and react-native-maps and able to use:
stripe.setOptions({publishableKey:'MY TEST KEYDSFDSFSEWSDFSDF'})
without receiving the following error:
TypeError: null is not an object (evaluating 'StripeModule.init')
Hope that this helped!
Whoever still has this problem, I solved it by adding this as dependency:
dependency {
.
.
implementation 'com.google.firebase:firebase-core:16.0.7'
.
.
.
}
I was able to get tipsi-stripe with react-native-maps working on RN: 0.61.2
Using the following Android Sdk and tools:buildToolsVersion = "28.0.3" minSdkVersion = 19 compileSdkVersion = 28 targetSdkVersion = 28 supportLibVersion = "28.0.0"YourRnProjectDirectory/android/app/build.gradle:
dependencies: { ... +implementation (project(':tipsi-stripe')){ +exclude group: 'com.google.android.gms' +exclude group: 'com.google.firebase' }YourRnProjectDirectory/android/settings.gradle:
... +include ':tipsi-stripe' +project(':tipsi-stripe').projectDir = new File(rootProject.projectDir, '../node_modules/tipsi-stripe/android')YourRnProjectDirectory/android/build.gradle:
... allprojects { repositories { ... + maven { url "https://jitpack.io" } } }YourRnProjectDirectory/android/app/src/main/java/YourRnProject/MainApplication.java:
... import com.gettipsi.stripe.StripeReactPackage; ... @Override protected List<ReactPackage> getPackages() { @SuppressWarnings("UnnecessaryLocalVariable") List<ReactPackage> packages = new PackageList(this).getPackages(); // Packages that cannot be autolinked yet can be added manually here, for example: // packages.add(new MyReactNativePackage()); +packages.add(new StripeReactPackage()); return packages; }YourRnProjectDirectory/node_modules/tipsi-stripe/android/build.gradle:
def DEFAULT_COMPILE_SDK_VERSION = 28 (your default compile sdk version) def DEFAULT_TARGET_SDK_VERSION = 28 (your default target sdk version) def DEFAULT_BUILD_TOOLS_VERSION = '28.0.3' (your default build tools version) def DEFAULT_GOOGLE_PLAY_SERVICES_VERSION = '16.0.0' (I tried to use 20.1.04 and didn't work so I used 16.0.0 as mentioned above and it worked) def DEFAULT_FIREBASE_MESSAGING_VERSION = '11.8.0' (not using Firebase so I left this the same)YourRnProjectDirectory/react-native.config.js (I had to create this file)
module.exports = { dependencies: { 'tipsi-stripe': { platforms: { android: null, ios: null, } } }, };After following these steps, I was able to successfully build my react-native project with tipsi-stripe and react-native-maps and able to use:
stripe.setOptions({publishableKey:'MY TEST KEYDSFDSFSEWSDFSDF'})
without receiving the following error:
TypeError: null is not an object (evaluating 'StripeModule.init')Hope that this helped!
Hey man..I followed your instructions...the build is green but the app doesn't start. I get the following error:

I don't think that this is an issue with tipsi-stripe @elvispap . This seems to be an issue with react-native-unimodules. I found this issue on a stack overflow question perhaps there is a solution in the link they attach.
Does anyone know how adding 'tipsi-stripe' as a dependency in the file react-native.config.js solves this issue?
If was running into the same issue, for me none of the above fixed the issue. However setting the correct firebaseVersio, googlePlayServicesVersion and playServicesVersion did.
In
android/app/build.gradleext { ... playServicesVersion = "16.0.0" firebaseVersion = "16.0.0" googlePlayServicesVersion = "16.0.0" }With these settings configured correctly the autolinking is working in combination with jetifier and no other steps are required to take after the installation
ext {
...
playServicesVersion = "16.0.0"
firebaseVersion = "16.0.0"
googlePlayServicesVersion = "16.0.0"
}
what is the further exact place in android\app\build.gradel.js to put this ext @dylanmoerland
Whoever still has this problem, I solved it by adding this as dependency:
dependency { . . implementation 'com.google.firebase:firebase-core:16.0.7' . . . }
in which file i have to add this
If was running into the same issue, for me none of the above fixed the issue. However setting the correct firebaseVersio, googlePlayServicesVersion and playServicesVersion did.
In
android/app/build.gradleext { ... playServicesVersion = "16.0.0" firebaseVersion = "16.0.0" googlePlayServicesVersion = "16.0.0" }With these settings configured correctly the autolinking is working in combination with jetifier and no other steps are required to take after the installation
This worked for me. Thanks!
"react-native": "0.61.5",
"tipsi-stripe": "8.0.0-beta.9"
"react-native-maps": "0.27.0",
@Sanglepp where did you get ext in android/app/build.gradle ? because on that file there is no ext, i get ext in android/build.gradle
@hariantara -- is suspect that was a typo in the file name. -- ext is normally located in android/build.gradle
@hariantara I added it to android/build.gradle file.
Whoever still has this problem, I solved it by adding this as dependency:
dependency { . . implementation 'com.google.firebase:firebase-core:16.0.7' . . . }it worked for me thanks a lot
Most helpful comment
Hello guys,
to fix this we made the manual link as is said in the docs.
Also we added to android/app/build.gradle
and finally added a file called react-native.config.js to the root of our project with this code:
module.exports = { dependencies: { 'tipsi-stripe':Â { platforms: { android: null, ios: null, } } }, };This way we avoid autolinking of tipsi-stripe.
I hope it works for you