PaymentActivity gets stuck with infinite spinner and "Checking this device..." message #113
Comments
Thanks for the report. Can you please provide a few more pieces of information? Specifically:
The logs indicate there are some bad SSL connections, but I'm unable to reproduce it on my end. |
Sure. Here it is. |
Thanks for the info. It's interesting that you note the sample app works, but your app does not. There must be some conflict involved, hence our inability to reproduce it. What's different about your app compared to the sample app? Are you starting your own services? Are there other dependencies? Are you intercepting the network traffic? Have you tried removing/changing various components of your app that differ from the sample app? To answer one of your original questions, that screen checks the server to see if the client_id and device is valid. This is a server request that either completes successfully and advancing to the next activity, or fails with a dialog and logs. |
Our app is very complex, with several modules, a lot of code and a ton of dependencies. |
I figured as much. 😄 We have other reports of this same issue with another partner, so we'll work on trying to isolate the cause. If you make any breakthroughs, please be sure to post them here! Thanks. |
Sure, i'm still trying to figure out what's going on and i will post here in case i have any results. |
Ok, found where problem is. Proguard. PayPalActivity goes through with runProguard=false in gradle file. Should figure how to make them work together. |
Can you please clarify that a little? Does this only occur for release builds with proguard on? |
Yes, the problem occurs only for builds with proguard on. |
Ok, to summarize, the following conditions cause the
I enabled gradle/proguard builds on our Sample app, but it continues to work fine in both live or sandbox. Are you using the paypal proguard file provided in the sample app? |
With debug build we have the same. We run proguard on debug builds cause due to big number of dependencies we exceed the max number of methods for the app. |
Out of curiosity, does card.io work for you? If I remove that section from the sample proguard file, the app no longer has the ability to scan cards. I'm testing other lines to see if I can reproduce the behavior you experience. |
I'm not adding card.io for now. Just manual entry. |
I shrunk the proguard file to a bare minimum, but the Sample app still works, minus card.io.
Just for completeness, which buildToolsVersion, and gradle plugin are you using? Maybe you can email me a copy of your build.gradle file, and/or your proguard file? |
buildToolsVersion 20, com.android.tools.build:gradle:0.12.+ |
I tested using those versions, and everything still works fine in the sample app. Have you thought of upgrading your versions to something more recent? buildToolsVersion is up to |
We've resolved this issue (after a long time digging). The fix is to replace httpcore and httpclient with httpclient-android in the dependencies. The dependencies should look like the following:
|
I have added conflict dependency for paypal same like given in documentation (Read ME)
But still its getting Stuck with message Checking this device in 4.1.1 devices where in 5.0 & above its working.
PayPal SDK : PayPal-Android-SDK 2.13.1
logcat
Please help me for this issue. |
When you say "stuck", what is the message you're getting? Are these devices keeping a permanent spinner, or is the app displaying an error message? |
Thanks for the reply :) When you say "stuck", what is the message you're getting? Yes devices keeping a permanent spinner. |
@braebot I am also facing the same issue. Got this in my logcat
|
@NadeemClabs, let's track your issue in #264. |
I'm having troubles implementing PayPal integration in Android application using the PayPal Android SDK. If i use sandbox environment when the PaymentActivity is called it just gets stuck showing infinite spinner and "Checking this device" text. However with PayPalConfiguration.ENVIRONMENT_NO_NETWORK it works fine, the problem occurs with the PayPalConfiguration.ENVIRONMENT_SANDBOX. I have a correct Client ID - i tried to copy it into the sample app that is provided with the PayPal SDK and it shows the payment screen with no problems, but my app with the same ID gets stuck on "checking this device".
Can you please advice what to do with this problem? What exactly operations are performed while "Checking this device" message is being shown?
The LOgCat output from the moment PayPalService is launched to the moment PaymentActivity is launched is the following:
The text was updated successfully, but these errors were encountered: