You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Hello there! Recently, we've integrated PaymentSheet + IntentConfiguration in our project to collect user's payment methods. While the integration seems to be working fine, we've been getting occasional reports of this crash associated with a missing CreateIntentCallback callback:
Fatal Exception: java.lang.IllegalStateException: CreateIntentCallback must be implemented when using IntentConfiguration with PaymentSheet
at com.stripe.android.paymentsheet.DefaultIntentConfirmationInterceptor.handleDeferredIntent(IntentConfirmationInterceptor.kt:248)
at com.stripe.android.paymentsheet.DefaultIntentConfirmationInterceptor.handleDeferredIntent(IntentConfirmationInterceptor.kt:210)
at com.stripe.android.paymentsheet.DefaultIntentConfirmationInterceptor.intercept(IntentConfirmationInterceptor.kt:122)
at com.stripe.android.paymentsheet.IntentConfirmationInterceptorKtxKt.intercept(IntentConfirmationInterceptorKtx.kt:10)
at com.stripe.android.paymentsheet.IntentConfirmationDefinition.action(IntentConfirmationDefinition.kt:29)
at com.stripe.android.paymentsheet.IntentConfirmationHandler.confirmIntent(IntentConfirmationHandler.kt:267)
at com.stripe.android.paymentsheet.IntentConfirmationHandler.confirm(IntentConfirmationHandler.kt:238)
at com.stripe.android.paymentsheet.IntentConfirmationHandler.preconfirm(IntentConfirmationHandler.kt:222)
at com.stripe.android.paymentsheet.IntentConfirmationHandler.access$get_state$p(IntentConfirmationHandler.kt:51)
at com.stripe.android.paymentsheet.IntentConfirmationHandler.access$preconfirm(IntentConfirmationHandler.kt:51)
at com.stripe.android.paymentsheet.IntentConfirmationHandler$start$1.invokeSuspend(IntentConfirmationHandler.kt:186)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.java:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
We have tried several times to replicate this crash on our end with no success. As you can see in the stack trace, there are no lines associated with our project's codebase. Seems like this exception is thrown from the internals of the SDK?
Hope someone can give me a hand solving this issue. I'd really appreciated it!
Code to reproduce
Following the official documentation, here's how the PaymentSheet is instantiated and receives the callbacks:
So far the vast majority of the reports on Firebase Crashlytics come from Samsung phones with Android 14, but also from some Motorola models with Android 12 and 14.
Installation method
Gradle
Dependency Versions
We're using the SDK version 20.53.0
The text was updated successfully, but these errors were encountered:
Hello, same here we have this crash for Android 12 and Android 14 devices and unable to reproduce on other devices :
Fatal Exception: java.lang.IllegalStateException: a must be implemented when using IntentConfiguration with PaymentSheet
at com.stripe.android.paymentelement.confirmation.intent.DefaultIntentConfirmationInterceptor.handleDeferredIntent(IntentConfirmationInterceptor.kt:255)
at com.stripe.android.paymentelement.confirmation.intent.DefaultIntentConfirmationInterceptor.handleDeferredIntent(IntentConfirmationInterceptor.kt:217)
at com.stripe.android.paymentelement.confirmation.intent.DefaultIntentConfirmationInterceptor.intercept(IntentConfirmationInterceptor.kt:128)
at com.stripe.android.paymentelement.confirmation.intent.IntentConfirmationInterceptorKtxKt.intercept(IntentConfirmationInterceptorKtx.kt:11)
at com.stripe.android.paymentelement.confirmation.intent.IntentConfirmationDefinition.action(IntentConfirmationDefinition.kt:38)
at com.stripe.android.paymentelement.confirmation.intent.IntentConfirmationDefinition.action(IntentConfirmationDefinition.kt:19)
at com.stripe.android.paymentelement.confirmation.ConfirmationMediator.action(ConfirmationMediator.kt:85)
at com.stripe.android.paymentelement.confirmation.DefaultConfirmationHandler.confirm(DefaultConfirmationHandler.kt:289)
at com.stripe.android.paymentelement.confirmation.DefaultConfirmationHandler.confirm(DefaultConfirmationHandler.kt:254)
at com.stripe.android.paymentelement.confirmation.DefaultConfirmationHandler.preconfirm(DefaultConfirmationHandler.kt:238)
at com.stripe.android.paymentelement.confirmation.DefaultConfirmationHandler.access$preconfirm(DefaultConfirmationHandler.java:60)
at com.stripe.android.paymentelement.confirmation.DefaultConfirmationHandler$start$1.invokeSuspend(DefaultConfirmationHandler.kt:202)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:101)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:113)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:89)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.java:589)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:823)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:720)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:707)
Summary
Hello there! Recently, we've integrated
PaymentSheet
+IntentConfiguration
in our project to collect user's payment methods. While the integration seems to be working fine, we've been getting occasional reports of this crash associated with a missingCreateIntentCallback
callback:We have tried several times to replicate this crash on our end with no success. As you can see in the stack trace, there are no lines associated with our project's codebase. Seems like this exception is thrown from the internals of the SDK?
Hope someone can give me a hand solving this issue. I'd really appreciated it!
Code to reproduce
Following the official documentation, here's how the
PaymentSheet
is instantiated and receives the callbacks:NOTE:
::onCreateSetupIntent
implementsCreateIntentCallback
, which is supposed to be the missing callback mentioned in the stack trace, isn't it?These are the implementations of the callbacks using function references:
And this is how the
PaymentSheet
is launched:Android version and Impacted devices
So far the vast majority of the reports on Firebase Crashlytics come from Samsung phones with Android 14, but also from some Motorola models with Android 12 and 14.
Installation method
Gradle
Dependency Versions
We're using the SDK version 20.53.0
The text was updated successfully, but these errors were encountered: