Open ivantespass opened 3 weeks ago
Hi @ivantespass, thanks for reaching out. The Tap to Pay on Android SDK runs mostly in a separate process for increased security when processing payment data. For that reason, we enforce that there are no other Android components also running in that process that are declared by the integrating application.
I suspect this is the issue your workaround is running into. Can you explain a bit more why this is needed? I reviewed the issue you mentioned (which is helpful, thanks!) but not entirely understanding what it's doing or why it's necessary.
We are facing crashes targeting API Level 34 (on multiple devices, all of them are listed here https://docs.stripe.com/terminal/payments/setup-reader/tap-to-pay?platform=android#supported-devices) after update to v3.8 (it seems that reader is discovered and connected, then app crashes)
With v3.9 and v3.10 (with non-simulated readers) we are facing an error instead:
I clarify that we are using MAUI and Java Binding Project to wrap Stripe Terminal Android SDK: with v3.7.1 we don't get any error or exception and all works as excepted both in develop and release mode, both with simulated and non-simulated readers.
If it can be useful, error seems also related to a workaround used in MAUI to correctly define and declare :stripelocalmobile inner SDK process, in our autogenerated manifest:
[Service(Process = ":stripelocalmobile")] public class DummyService : Service { }
Above code snippet is inserted in our code to resolve this open issue (with v3.7.1 all works as excepted): https://github.com/dotnet/android/issues/8675
Is it possible that something changed related to that process management, between v3.7.1 and latest ones? Any ideas?
Originally posted by @ivantespass in https://github.com/stripe/stripe-terminal-android/issues/479#issuecomment-2443824246