braintree / braintree_android

Braintree SDK for Android
https://developer.paypal.com/braintree/docs/start/hello-client/android/v4
MIT License
405 stars 232 forks source link

Payment success deeplink show error for ~2-5 seconds befor resolving #971

Closed olessavluk closed 5 months ago

olessavluk commented 5 months ago

Braintree SDK Version

4.44.0

Environment

Production

Android Version & Device

Google Pixel 4

Braintree dependencies

+--- project :ekreative_react-native-braintree
|    +--- com.braintreepayments.api:data-collector:4.44.0
|    |    +--- com.braintreepayments.api:braintree-core:4.44.0
|    |    |    +--- com.braintreepayments.api:browser-switch:2.6.1
|    |    |    +--- com.braintreepayments.api:shared-utils:4.44.0
|    |    \--- com.braintreepayments.api:paypal-data-collector:4.44.0
|    |         +--- com.braintreepayments.api:braintree-core:4.44.0 (*)
|    +--- com.braintreepayments.api:google-pay:4.44.0
|    |    +--- com.braintreepayments.api:braintree-core:4.44.0 (*)
|    |    +--- com.braintreepayments.api:paypal:4.44.0
|    |    |    +--- com.braintreepayments.api:braintree-core:4.44.0 (*)
|    |    |    \--- com.braintreepayments.api:paypal-data-collector:4.44.0 (*)
|    |    +--- com.braintreepayments.api:card:4.44.0
|    |    |    +--- com.braintreepayments.api:braintree-core:4.44.0 (*)
|    +--- com.braintreepayments.api:paypal:4.44.0 (*)
|    +--- com.braintreepayments.api:three-d-secure:4.44.0
|    |    +--- com.braintreepayments.api:braintree-core:4.44.0 (*)
|    |    +--- com.braintreepayments.api:card:4.44.0 (*)
|    \--- com.braintreepayments.api:card:4.44.0 (*)

Describe the bug

After successfull payment user presented with error screen for 2-5seconds. And only after that success response handler is triggered

To reproduce

  1. make a payment
  2. observe "redirect" error back to the app for 2-5 seconds

Expected behavior

This was not happening before upgrading to version 4, either loader or nothing shown during "redirect" would be better

Screenshots

https://github.com/braintree/braintree_android/assets/1577804/b658e0ac-8f66-4708-b905-f365e8195483

https://github.com/braintree/braintree_android/assets/1577804/380f253b-8f4d-4a1e-99a8-3a1cbb478fa5

olessavluk commented 5 months ago

AndroidManifest.xml have following configuration

<intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="${applicationId}.braintree" />
</intent-filter>

And as I understand from second video app is getting triggered by deeplink just fine, problem is that later it's not handled correctly after?

olessavluk commented 5 months ago

Nevermind, had own handler wich was opening it in webview before SDK