From f0a13554058adb8c2beecf070d3865ad5acc892b Mon Sep 17 00:00:00 2001 From: Ken Ackerson Date: Tue, 13 Jan 2026 10:03:02 -0500 Subject: [PATCH 1/4] Update IdentityScanViewModel.kt --- .../android/identity/viewmodel/IdentityScanViewModel.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt b/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt index 48e42b87058..5be0e0b4d16 100644 --- a/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt +++ b/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt @@ -88,6 +88,15 @@ internal abstract class IdentityScanViewModel( ) } + override fun onAnalyzerFailure(t: Throwable): Boolean { + verificationFlowFinishable.finishWithResult( + IdentityVerificationSheet.VerificationFlowResult.Failed( + t as? Exception ?: Exception(t) + ) + ) + return true + } + override fun displayState(newState: IdentityScanState, previousState: IdentityScanState?) { // toggle UX transition in CameraManager // Done intentionally outside Jetpack Compose as cameraManger uses a traditional AndroidView From 1b801490ae232644721a8cc93d54ee516ab6ee79 Mon Sep 17 00:00:00 2001 From: Ken Ackerson Date: Wed, 14 Jan 2026 15:00:13 -0500 Subject: [PATCH 2/4] Update IdentityScanViewModel.kt --- .../android/identity/viewmodel/IdentityScanViewModel.kt | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt b/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt index 5be0e0b4d16..c88761509a3 100644 --- a/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt +++ b/identity/src/main/java/com/stripe/android/identity/viewmodel/IdentityScanViewModel.kt @@ -89,6 +89,12 @@ internal abstract class IdentityScanViewModel( } override fun onAnalyzerFailure(t: Throwable): Boolean { + identityAnalyticsRequestFactory.verificationFailed( + isFromFallbackUrl = false, + scanType = targetScanTypeFlow.value, + throwable = t + ) + verificationFlowFinishable.finishWithResult( IdentityVerificationSheet.VerificationFlowResult.Failed( t as? Exception ?: Exception(t) From a4858f5eb8a88c35ce7634ab68d8c5b971ddfcf7 Mon Sep 17 00:00:00 2001 From: Ken Ackerson Date: Mon, 26 Jan 2026 11:15:48 -0500 Subject: [PATCH 3/4] Update CHANGELOG.md --- CHANGELOG.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7ea4c5bc15a..9fb8e537051 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,6 +8,9 @@ ### Connect * [Changed] Added `EmbeddedErrorType` enum for type-safe error handling in Connect embedded components, falling back to `api_error` if the error type is `null`. +### Identity +* [CHANGED] Fail out of verification flow on analyzer failure. + ## 22.6.1 - 2026-01-20 ### Payments From d0bccd1ee72731192f23cdaf91ca0698a42e003a Mon Sep 17 00:00:00 2001 From: Ken Ackerson Date: Wed, 28 Jan 2026 15:45:33 -0500 Subject: [PATCH 4/4] Update CHANGELOG.md --- CHANGELOG.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 86a2918aec4..5aafb3ef63d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,9 @@ Dependencies updated in [12276](https://github.com/stripe/stripe-android/pull/12276): - Bumped Dagger from 2.55 to 2.58. +### Identity +* [CHANGED] Fail out of verification flow on analyzer failure. + ## 22.7.0 - 2026-01-26 Dependencies updated in [11877](https://github.com/stripe/stripe-android/pull/11877): @@ -16,9 +19,6 @@ Dependencies updated in [11877](https://github.com/stripe/stripe-android/pull/11 ### Connect * [Changed] Added `EmbeddedErrorType` enum for type-safe error handling in Connect embedded components, falling back to `api_error` if the error type is `null`. -### Identity -* [CHANGED] Fail out of verification flow on analyzer failure. - ## 22.6.1 - 2026-01-20 ### Payments