@@ -19,6 +19,7 @@ import com.adyen.checkout.components.core.PaymentMethodTypes
19
19
import com.adyen.checkout.components.core.internal.PaymentComponentEvent
20
20
import com.adyen.checkout.components.core.internal.PaymentObserverRepository
21
21
import com.adyen.checkout.components.core.internal.analytics.AnalyticsManager
22
+ import com.adyen.checkout.components.core.internal.analytics.ErrorEvent
22
23
import com.adyen.checkout.components.core.internal.analytics.GenericEvents
23
24
import com.adyen.checkout.components.core.internal.util.bufferedChannel
24
25
import com.adyen.checkout.core.AdyenLogLevel
@@ -149,6 +150,7 @@ internal class DefaultGooglePayDelegate(
149
150
when (resultCode) {
150
151
Activity .RESULT_OK -> {
151
152
if (data == null ) {
153
+ trackThirdPartyErrorEvent()
152
154
exceptionChannel.trySend(ComponentException (" Result data is null" ))
153
155
return
154
156
}
@@ -157,10 +159,13 @@ internal class DefaultGooglePayDelegate(
157
159
}
158
160
159
161
Activity .RESULT_CANCELED -> {
162
+ trackThirdPartyErrorEvent()
160
163
exceptionChannel.trySend(ComponentException (" Payment canceled." ))
161
164
}
162
165
163
166
AutoResolveHelper .RESULT_ERROR -> {
167
+ trackThirdPartyErrorEvent()
168
+
164
169
val status = AutoResolveHelper .getStatusFromIntent(data)
165
170
val statusMessage: String = status?.let { " : ${it.statusMessage} " }.orEmpty()
166
171
exceptionChannel.trySend(ComponentException (" GooglePay returned an error$statusMessage " ))
@@ -170,6 +175,14 @@ internal class DefaultGooglePayDelegate(
170
175
}
171
176
}
172
177
178
+ private fun trackThirdPartyErrorEvent () {
179
+ val event = GenericEvents .error(
180
+ component = getPaymentMethodType(),
181
+ event = ErrorEvent .THIRD_PARTY ,
182
+ )
183
+ analyticsManager.trackEvent(event)
184
+ }
185
+
173
186
override fun getGooglePayButtonParameters (): GooglePayButtonParameters {
174
187
val allowedPaymentMethodsList = GooglePayUtils .getAllowedPaymentMethods(componentParams)
175
188
val allowedPaymentMethods = ModelUtils .serializeOptList(
0 commit comments