capacitor-stripe-terminal
capacitor-stripe-terminal copied to clipboard
Unable to retrieve the payment intent via the BBPOS Chipper 2X BT reader with an Android after generating and deploying either an Android App Bundle or an APK
Describe the bug
I am unable to retrieve the payment intent via the BBPOS Chipper 2X BT reader with an Android after generating and deploying either an Android App Bundle or an APK. It works fine when I plugin my Android to Android Studio and deploy it with the "Run app" button. Because of this it makes it extremely difficult to test. It is able to discover and connect to the reader but not able to retrieve the payment intent...
const paymentIntent: any = await this.stripeTerminalPlugin.retrievePaymentIntent(clientSecret);
.
It just simply stays on a solid blue light.
To Reproduce
- Deploy an existing capacitor app with the capacitor-stripe-terminal plugin to internal testing on Google play store
- Discover and connect to the reader with an Android
- Attempt to retrieve payment intent with clientSecret
Expected behavior It should work just like it does on iOS as well as with Android Studio via the "Run app" button.
Smartphone (please complete the following information):
- Device: Google Pixel 2
- OS: Android v11
Additional context Is there any way for me to log any possible errors via Android Studio without running the app locally and instead from the app that's downloaded via the Google play store since that's where my issue is?
WORKAROUND (edit by @nprail)
This plugin does not seem to work correctly when minifyEnabled
is true
. For now, set it to false
in your build.gradle
android {
buildTypes {
release {
minifyEnabled false
...
}
}
}
Hmm, without debug mode enabled, it is rather difficult to determine what the error is... Do you use anything like Sentry for error logging? I'll try to reproduce the issue with Sentry enabled but if you already have something like that setup, that'd be even better :)
I do not unfortunately. Is there no other way to log data from an app downloaded via the Google Play Store?
Not that I am aware of. I just tested with my app and it seems to work.
Does retrievePaymentIntent
throw an error or does it just never resolve? Or does it resolve with no data?
It doesn't throw an error in my try catch, it just never resolves. Even if I then cancel the payment it just spins and nothing ever happens. It never moves from a solid blue light to the 2 color blinking light indicating that it's ready for a payment method to be provided.
With that said both this.stripeTerminalPlugin.retrievePaymentIntent(clientSecret)
and this.stripeTerminalPlugin.abortCollectPaymentMethod()
aren't working when deployed to the Google Play Store.
Because I'm not getting any error with either of these promises I'm going to assume it has something to do with the plugin which I'm unfortunately not able to log.
Yeah, I agree. That's very odd that they work in debug mode but not release. Just to be sure, can you verify that clientSecret
has a value? I would think an error would be thrown if it didn't, but want to rule that out.
Yea, since I can't see anything in the console I'll try to place some different alerts along the way so I can confirm where it gets hung up.
Here is something else you can do as well:
Open node_modules/capacitor-stripe-terminal/android/src/main/java/io/event1/capacitorstripeterminal/StripeTerminal.java
and replace the entire retrievePaymentIntent
method (lines 351-383) with the following:
@PluginMethod
public void retrievePaymentIntent(final PluginCall call) {
String clientSecret = call.getString("clientSecret");
JSObject log1 = new JSObject();
log1.put("value", "retrievePaymentIntent");
notifyListeners("logger", log1);
if (clientSecret != null) {
Terminal
.getInstance()
.retrievePaymentIntent(
clientSecret,
new PaymentIntentCallback() {
@Override
public void onSuccess(@Nonnull PaymentIntent paymentIntent) {
JSObject log2 = new JSObject();
log2.put("value", "onSuccess");
notifyListeners("logger", log2);
currentPaymentIntent = paymentIntent;
JSObject ret = new JSObject();
ret.put(
"intent",
TerminalUtils.serializePaymentIntent(paymentIntent, "")
);
call.resolve(ret);
}
@Override
public void onFailure(@Nonnull TerminalException e) {
JSObject log3 = new JSObject();
log3.put("value", "onFailure");
notifyListeners("logger", log3);
currentPaymentIntent = null;
call.error(e.getErrorMessage(), e);
}
}
);
} else {
JSObject log4 = new JSObject();
log4.put("value", "clientSecret null");
notifyListeners("logger", log4);
call.reject("Client secret cannot be null");
}
}
Then add this somewhere in your JS before you fetch the payment intent.
Plugins.StripeTerminal.addListener('logger', (info: any) => {
this.toastController
.create({
message: info.value
})
.then(toast => {
toast.present()
})
})
Also, make sure you add private toastController: ToastController
to the constructor if you don't already have it.
Once you have run the app, let me know which logs show up as toasts.
Okay thanks for that but just from my initial test I can confirm that it's getting hung up on retrievePaymentIntent(clientSecret)
and there is indeed a clientSecret
being passed to it
Here is my build log when I generate an Android App Bundle for release incase this helps:
Starting Gradle Daemon...
Gradle Daemon started in 968 ms
> Configure project :app
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed in version 5.0 of the Android Gradle plugin.
For more information, see http://d.android.com/r/tools/update-dependency-configurations.html.
> Configure project :capacitor-cordova-android-plugins
WARNING: Configuration 'compile' is obsolete and has been replaced with 'implementation' and 'api'.
It will be removed in version 5.0 of the Android Gradle plugin.
For more information, see http://d.android.com/r/tools/update-dependency-configurations.html.
> Task :app:preBuild UP-TO-DATE
> Task :app:extractProguardFiles UP-TO-DATE
> Task :app:preReleaseBuild UP-TO-DATE
> Task :capacitor-android:preBuild UP-TO-DATE
> Task :capacitor-android:preReleaseBuild UP-TO-DATE
> Task :capacitor-android:packageReleaseRenderscript NO-SOURCE
> Task :capacitor-community-apple-sign-in:preBuild UP-TO-DATE
> Task :capacitor-community-apple-sign-in:preReleaseBuild UP-TO-DATE
> Task :capacitor-community-apple-sign-in:packageReleaseRenderscript NO-SOURCE
> Task :capacitor-community-fcm:preBuild UP-TO-DATE
> Task :capacitor-community-fcm:preReleaseBuild UP-TO-DATE
> Task :capacitor-community-fcm:packageReleaseRenderscript NO-SOURCE
> Task :capacitor-cordova-android-plugins:preBuild UP-TO-DATE
> Task :capacitor-cordova-android-plugins:preReleaseBuild UP-TO-DATE
> Task :capacitor-cordova-android-plugins:packageReleaseRenderscript NO-SOURCE
> Task :capacitor-stripe-terminal:preBuild UP-TO-DATE
> Task :capacitor-stripe-terminal:preReleaseBuild UP-TO-DATE
> Task :capacitor-stripe-terminal:packageReleaseRenderscript NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:preBuild UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:preReleaseBuild UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:packageReleaseRenderscript NO-SOURCE
> Task :app:compileReleaseRenderscript NO-SOURCE
> Task :app:generateReleaseResValues UP-TO-DATE
> Task :app:generateReleaseResources UP-TO-DATE
> Task :app:processReleaseGoogleServices UP-TO-DATE
> Task :capacitor-android:compileReleaseRenderscript NO-SOURCE
> Task :capacitor-android:generateReleaseResValues UP-TO-DATE
> Task :capacitor-android:generateReleaseResources UP-TO-DATE
> Task :capacitor-android:packageReleaseResources UP-TO-DATE
> Task :capacitor-community-apple-sign-in:compileReleaseRenderscript NO-SOURCE
> Task :capacitor-community-apple-sign-in:generateReleaseResValues UP-TO-DATE
> Task :capacitor-community-apple-sign-in:generateReleaseResources UP-TO-DATE
> Task :capacitor-community-apple-sign-in:packageReleaseResources UP-TO-DATE
> Task :capacitor-community-fcm:compileReleaseRenderscript NO-SOURCE
> Task :capacitor-community-fcm:generateReleaseResValues UP-TO-DATE
> Task :capacitor-community-fcm:generateReleaseResources UP-TO-DATE
> Task :capacitor-community-fcm:packageReleaseResources UP-TO-DATE
> Task :capacitor-cordova-android-plugins:compileReleaseRenderscript NO-SOURCE
> Task :capacitor-cordova-android-plugins:generateReleaseResValues UP-TO-DATE
> Task :capacitor-cordova-android-plugins:generateReleaseResources UP-TO-DATE
> Task :capacitor-cordova-android-plugins:packageReleaseResources UP-TO-DATE
> Task :capacitor-stripe-terminal:compileReleaseRenderscript NO-SOURCE
> Task :capacitor-stripe-terminal:generateReleaseResValues UP-TO-DATE
> Task :capacitor-stripe-terminal:generateReleaseResources UP-TO-DATE
> Task :capacitor-stripe-terminal:packageReleaseResources UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:compileReleaseRenderscript NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:generateReleaseResValues UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:generateReleaseResources UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:packageReleaseResources UP-TO-DATE
> Task :app:mergeReleaseResources UP-TO-DATE
> Task :app:createReleaseCompatibleScreenManifests
> Task :app:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-android:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-android:processReleaseManifest UP-TO-DATE
> Task :capacitor-community-apple-sign-in:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-community-apple-sign-in:processReleaseManifest UP-TO-DATE
> Task :capacitor-community-fcm:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-community-fcm:processReleaseManifest UP-TO-DATE
> Task :capacitor-cordova-android-plugins:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-cordova-android-plugins:processReleaseManifest UP-TO-DATE
> Task :capacitor-stripe-terminal:extractDeepLinksRelease UP-TO-DATE
> Task :capacitor-stripe-terminal:processReleaseManifest UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:extractDeepLinksRelease UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:processReleaseManifest UP-TO-DATE
> Task :app:processReleaseManifest
> Task :app:processApplicationManifestReleaseForBundle
> Task :capacitor-android:compileReleaseLibraryResources UP-TO-DATE
> Task :capacitor-community-apple-sign-in:compileReleaseLibraryResources UP-TO-DATE
> Task :capacitor-community-fcm:compileReleaseLibraryResources UP-TO-DATE
> Task :capacitor-cordova-android-plugins:compileReleaseLibraryResources UP-TO-DATE
> Task :capacitor-stripe-terminal:compileReleaseLibraryResources UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:compileReleaseLibraryResources UP-TO-DATE
> Task :app:mergeReleaseShaders UP-TO-DATE
> Task :app:compileReleaseShaders NO-SOURCE
> Task :app:generateReleaseAssets UP-TO-DATE
> Task :capacitor-android:mergeReleaseShaders UP-TO-DATE
> Task :capacitor-android:compileReleaseShaders NO-SOURCE
> Task :capacitor-android:generateReleaseAssets UP-TO-DATE
> Task :capacitor-android:packageReleaseAssets UP-TO-DATE
> Task :capacitor-community-apple-sign-in:mergeReleaseShaders UP-TO-DATE
> Task :capacitor-community-apple-sign-in:compileReleaseShaders NO-SOURCE
> Task :capacitor-community-apple-sign-in:generateReleaseAssets UP-TO-DATE
> Task :capacitor-community-apple-sign-in:packageReleaseAssets UP-TO-DATE
> Task :capacitor-community-fcm:mergeReleaseShaders UP-TO-DATE
> Task :capacitor-community-fcm:compileReleaseShaders NO-SOURCE
> Task :capacitor-community-fcm:generateReleaseAssets UP-TO-DATE
> Task :capacitor-community-fcm:packageReleaseAssets UP-TO-DATE
> Task :capacitor-cordova-android-plugins:mergeReleaseShaders UP-TO-DATE
> Task :capacitor-cordova-android-plugins:compileReleaseShaders NO-SOURCE
> Task :capacitor-cordova-android-plugins:generateReleaseAssets UP-TO-DATE
> Task :capacitor-cordova-android-plugins:packageReleaseAssets UP-TO-DATE
> Task :capacitor-stripe-terminal:mergeReleaseShaders UP-TO-DATE
> Task :capacitor-stripe-terminal:compileReleaseShaders NO-SOURCE
> Task :capacitor-stripe-terminal:generateReleaseAssets UP-TO-DATE
> Task :capacitor-stripe-terminal:packageReleaseAssets UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:mergeReleaseShaders UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:compileReleaseShaders NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:generateReleaseAssets UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:packageReleaseAssets UP-TO-DATE
> Task :app:mergeReleaseAssets
> Task :capacitor-android:compileReleaseAidl NO-SOURCE
> Task :capacitor-android:generateReleaseBuildConfig UP-TO-DATE
> Task :capacitor-android:parseReleaseLocalResources UP-TO-DATE
> Task :capacitor-android:generateReleaseRFile UP-TO-DATE
> Task :capacitor-android:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-android:compileReleaseJavaWithJavac UP-TO-DATE
> Task :capacitor-android:bundleLibCompileToJarRelease UP-TO-DATE
> Task :capacitor-community-apple-sign-in:compileReleaseAidl NO-SOURCE
> Task :capacitor-community-apple-sign-in:generateReleaseBuildConfig UP-TO-DATE
> Task :capacitor-community-apple-sign-in:parseReleaseLocalResources UP-TO-DATE
> Task :capacitor-community-apple-sign-in:generateReleaseRFile UP-TO-DATE
> Task :capacitor-community-apple-sign-in:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-community-apple-sign-in:compileReleaseJavaWithJavac UP-TO-DATE
> Task :capacitor-community-apple-sign-in:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :capacitor-community-apple-sign-in:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :capacitor-community-fcm:compileReleaseAidl NO-SOURCE
> Task :capacitor-community-fcm:generateReleaseBuildConfig UP-TO-DATE
> Task :capacitor-community-fcm:parseReleaseLocalResources UP-TO-DATE
> Task :capacitor-community-fcm:generateReleaseRFile UP-TO-DATE
> Task :capacitor-community-fcm:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-community-fcm:compileReleaseJavaWithJavac UP-TO-DATE
> Task :capacitor-community-fcm:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :capacitor-community-fcm:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:compileReleaseAidl NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:generateReleaseBuildConfig UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:parseReleaseLocalResources UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:generateReleaseRFile UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:javaPreCompileRelease UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:compileReleaseJavaWithJavac UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :capacitor-stripe-terminal:compileReleaseAidl NO-SOURCE
> Task :capacitor-stripe-terminal:generateReleaseBuildConfig UP-TO-DATE
> Task :capacitor-stripe-terminal:parseReleaseLocalResources UP-TO-DATE
> Task :capacitor-stripe-terminal:generateReleaseRFile UP-TO-DATE
> Task :capacitor-stripe-terminal:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-stripe-terminal:compileReleaseJavaWithJavac
> Task :capacitor-stripe-terminal:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :app:bundleReleaseResources
> Task :capacitor-stripe-terminal:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :capacitor-android:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :capacitor-android:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :capacitor-cordova-android-plugins:compileReleaseAidl NO-SOURCE
> Task :capacitor-cordova-android-plugins:generateReleaseBuildConfig UP-TO-DATE
> Task :capacitor-cordova-android-plugins:parseReleaseLocalResources UP-TO-DATE
> Task :capacitor-cordova-android-plugins:generateReleaseRFile UP-TO-DATE
> Task :capacitor-cordova-android-plugins:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-cordova-android-plugins:compileReleaseJavaWithJavac UP-TO-DATE
> Task :capacitor-cordova-android-plugins:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :capacitor-cordova-android-plugins:exportReleaseConsumerProguardFiles UP-TO-DATE
> Task :app:checkReleaseDuplicateClasses UP-TO-DATE
> Task :app:compileReleaseAidl NO-SOURCE
> Task :app:generateReleaseBuildConfig
> Task :app:javaPreCompileRelease UP-TO-DATE
> Task :capacitor-android:writeReleaseAarMetadata UP-TO-DATE
> Task :capacitor-community-apple-sign-in:writeReleaseAarMetadata UP-TO-DATE
> Task :capacitor-community-fcm:writeReleaseAarMetadata UP-TO-DATE
> Task :capacitor-cordova-android-plugins:writeReleaseAarMetadata UP-TO-DATE
> Task :capacitor-stripe-terminal:writeReleaseAarMetadata UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:writeReleaseAarMetadata UP-TO-DATE
> Task :app:checkReleaseAarMetadata UP-TO-DATE
> Task :capacitor-community-apple-sign-in:bundleLibCompileToJarRelease UP-TO-DATE
> Task :capacitor-community-fcm:bundleLibCompileToJarRelease UP-TO-DATE
> Task :capacitor-cordova-android-plugins:bundleLibCompileToJarRelease UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:bundleLibCompileToJarRelease UP-TO-DATE
> Task :app:processReleaseJavaRes NO-SOURCE
> Task :capacitor-android:processReleaseJavaRes NO-SOURCE
> Task :capacitor-android:bundleLibResRelease NO-SOURCE
> Task :capacitor-community-apple-sign-in:processReleaseJavaRes NO-SOURCE
> Task :capacitor-community-apple-sign-in:bundleLibResRelease NO-SOURCE
> Task :capacitor-community-fcm:processReleaseJavaRes NO-SOURCE
> Task :capacitor-community-fcm:bundleLibResRelease NO-SOURCE
> Task :capacitor-cordova-android-plugins:processReleaseJavaRes NO-SOURCE
> Task :capacitor-cordova-android-plugins:bundleLibResRelease NO-SOURCE
> Task :capacitor-stripe-terminal:processReleaseJavaRes NO-SOURCE
> Task :capacitor-stripe-terminal:bundleLibResRelease NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:processReleaseJavaRes NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:bundleLibResRelease NO-SOURCE
> Task :app:mergeReleaseJavaResource UP-TO-DATE
> Task :capacitor-android:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :capacitor-community-apple-sign-in:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :capacitor-community-fcm:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :capacitor-cordova-android-plugins:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:bundleLibRuntimeToJarRelease UP-TO-DATE
> Task :app:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-android:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-android:mergeReleaseNativeLibs NO-SOURCE
> Task :capacitor-android:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-android:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :capacitor-community-apple-sign-in:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-community-apple-sign-in:mergeReleaseNativeLibs NO-SOURCE
> Task :capacitor-community-apple-sign-in:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-community-apple-sign-in:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :capacitor-community-fcm:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-community-fcm:mergeReleaseNativeLibs NO-SOURCE
> Task :capacitor-community-fcm:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-community-fcm:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :capacitor-cordova-android-plugins:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-cordova-android-plugins:mergeReleaseNativeLibs NO-SOURCE
> Task :capacitor-cordova-android-plugins:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-cordova-android-plugins:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :capacitor-stripe-terminal:mergeReleaseJniLibFolders UP-TO-DATE
> Task :capacitor-stripe-terminal:mergeReleaseNativeLibs NO-SOURCE
> Task :capacitor-stripe-terminal:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-stripe-terminal:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:mergeReleaseJniLibFolders UP-TO-DATE
> Task :codetrix-studio-capacitor-google-auth:mergeReleaseNativeLibs NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:stripReleaseDebugSymbols NO-SOURCE
> Task :codetrix-studio-capacitor-google-auth:copyReleaseJniLibsProjectOnly UP-TO-DATE
> Task :app:mergeReleaseNativeLibs UP-TO-DATE
> Task :app:processReleaseManifestForPackage
> Task :app:processReleaseResources
> Task :app:stripReleaseDebugSymbols NO-SOURCE
> Task :capacitor-stripe-terminal:bundleLibCompileToJarRelease
> Task :app:compileReleaseJavaWithJavac
> Task :capacitor-stripe-terminal:bundleLibRuntimeToJarRelease
> Task :app:mergeReleaseGeneratedProguardFiles UP-TO-DATE
> Task :app:minifyReleaseWithR8
AGPBI: {"kind":"warning","text":"Missing class: org.conscrypt.ConscryptHostnameVerifier","sources":[{}],"tool":"R8"}
AGPBI: {"kind":"warning","text":"Missing class: org.junit.rules.ExternalResource","sources":[{}],"tool":"R8"}
AGPBI: {"kind":"warning","text":"Missing class: java.lang.ClassValue","sources":[{}],"tool":"R8"}
> Task :app:buildReleasePreBundle
> Task :app:collectReleaseDependencies UP-TO-DATE
> Task :app:configureReleaseDependencies UP-TO-DATE
> Task :app:parseReleaseIntegrityConfig UP-TO-DATE
> Task :app:validateSigningRelease UP-TO-DATE
> Task :app:packageReleaseBundle
> Task :app:signReleaseBundle
> Task :app:bundleRelease
BUILD SUCCESSFUL in 1m 5s
145 actionable tasks: 17 executed, 128 up-to-date
I also added your code and it got to "retrievePaymentIntent" when displayed as a toast
Hmm, interesting.
@chander-stripe, do you have any idea why retrievePaymentIntent
would not hit any of the callbacks in a release build when it does in a debug build? You can see the implementation here.
@nprail just to let you know it's still an issue with v1.0.0-beta.9
Yeah, beta.9 only addressed #37. Still not sure what's going on here...
Yea I know I just wanted to double check. I think the plugin works fine and it's an issue when creating a release build and minifying things. Just not sure where in the process it's causing an issue.
@nprail @chander-stripe any update on this? I have a handful of users that are looking for an answer.
@kyleabens Unfortunately no. Can you share the published apk and all the details needed to reproduce the issue?
If you want, you can send those details to [email protected] rather than posting them here.
@nprail I finally figured out the root cause of this. This plugin does not work with Android when minifyEnabled
is set to true
in build.gradle
. Switching it to false
did the trick. Obviously now the size of my app is slightly larger which isn't great but at least we know where the issue is now.
@kyleabens Ah, interesting. That would explain it working in dev but not when deployed. I wonder if this is an issue with the plugin or with Stripe's SDK. I'll have to dig deeper now that I know how to reproduce it.