Stripe-android: SDKRuntimeException: SDK app id is not available

Created on 12 Aug 2020  路  8Comments  路  Source: stripe/stripe-android

Summary

App crashes when triggering the 3D secure 2 window with the following logcat:
2020-08-12 15:35:24.812 2914-3400/com.example.app.debug E/AndroidRuntime: FATAL EXCEPTION: DefaultDispatcher-worker-4 Process: com.example.app.debug, PID: 2914 com.stripe.android.stripe3ds2.exceptions.SDKRuntimeException: SDK app id is not available at com.stripe.android.stripe3ds2.init.m.a(Unknown Source:32) at com.stripe.android.stripe3ds2.transaction.b$b.getSdkAppId(Unknown Source:6) at com.stripe.android.StripePaymentController.begin3ds2Auth(StripePaymentController.kt:395) at com.stripe.android.StripePaymentController.handleNextAction(StripePaymentController.kt:299) at com.stripe.android.StripePaymentController$startAuth$1.onSuccess(StripePaymentController.kt:94) at com.stripe.android.StripePaymentController$startAuth$1.onSuccess(StripePaymentController.kt:92) at com.stripe.android.ApiOperation.dispatchResult(ApiOperation.kt:39) at com.stripe.android.ApiOperation.access$dispatchResult(ApiOperation.kt:13) at com.stripe.android.ApiOperation$execute$1$1.invokeSuspend(ApiOperation.kt:32) at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:56) at android.os.Handler.handleCallback(Handler.java:883) at android.os.Handler.dispatchMessage(Handler.java:100) at android.os.Looper.loop(Looper.java:237) at android.app.ActivityThread.main(ActivityThread.java:8019) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1100)

Code to reproduce

Call Stripe#handleNextActionForPayment(activity, clientSecret) with a payment method that requires 3DS2
For my case I used this test card: 4000000000003220

Android version

Android 10 (Q)

Installation method

Gradle dependency

SDK version

12.6.0

triaged

All 8 comments

@ahqmrf thanks for filing. Can you reliably reproduce this crash?

Yes. Do you need any more information? @mshafrir-stripe

@ahqmrf yes, can you share repro steps?

I have mentioned in the description. When a payment is introduced, we get a client secret from backend server and use that for handling 3DS 2 flow. The crash occurs when we call this method Stripe#handleNextActionForPayment(activity, clientSecret).

@ahqmrf what I'd like to clarify is if this is always happening, or only on a particular device model/API version/etc?

This is happening for that specific test card regardless of the device model or API version. I have not tested all other cards where 3DS 2 is required. I have checked that with 4000 0025 0000 3155 the crash does not happen. It is currently happening with 4000 0000 0000 3220

@ahqmrf I merged a fix to our 3DS2 SDK. This should be resolved in the next release.

@mshafrir-stripe thank you! Looking forward to using the next release 馃憤

Was this page helpful?
0 / 5 - 0 ratings

Related issues

odedharth picture odedharth  路  4Comments

ema987 picture ema987  路  5Comments

HanteIsHante picture HanteIsHante  路  9Comments

odedharth picture odedharth  路  10Comments

lamrak picture lamrak  路  12Comments