Visa Developer Community

Helper

Visa checkout Android v6.3.0 hangs on 4.4.2

Hello, 

 

I am using latest Android SDK v6.3.0 for visa checkout. 

When I tap on 'Checkout' Button on Samsung 4.4.2 device, it just hangs on loading screen. ( Attached screen shot ) 

There is no specific error log, I can see in logcat. 

Note: It works fine on all other versions, tested on 5.0 and up, received VisaPaymentSummary successfully. 

 

Can you guys please check and advise. 

Thanks 

 

Tags (1)
8 REPLIES 8
Visa Dev Moderator

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi @Uday

 

I am working on your request, I will get back to you soon. 

 

Thank you, 

Vaibhav 

Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
Helper

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hello Vaibhav/VC 

Did you guys get a chance to look into this? Thanks 

Visa Dev Moderator

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi @Uday

 

Apology for the delay. I have opened an incident with our engineering team and they have been able to reproduce the bug and they are working on to fix the bug. We will update you soon on this. 

 

Thank you, 

Vaibhav 

Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
Helper

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Thanks for the update Vaibhav. 

Please keep us posted. 

 

However, we also feel there is another issue, when we tried to tap on visa-checkout button. It doesn't respond on first-tap. 

( As we are not implementing any click on app side. )

My implementation follows below:

<com.visa.checkout.CheckoutButton
android:id="@+id/checkout_payment_visa_checkout"
android:layout_width="213dp"
android:layout_height="55dp"
android:layout_below="xxxx"
android:layout_centerHorizontal="xxx"
android:layout_marginTop="xxxx"
android:layout_marginBottom="xxxx" />

 

Thanks

 Uday

 

Newbie

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi,

 

I'm just following up to see if there is an update on the issues that were raised by Uday?

 

Thanks,

Aliyah

Highlighted
Visa Dev Moderator

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi Uday, 

 

Apologies for the delay. Could you try from different networks like 4G/Home, additionally, could you provide the following items? 
· Android manifest file
· Code base that’s being used for visa checkout
· Apikey that’s being used during this testing
· Development version of the apk 

 

Thank you, 

Vaibhav 

Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.
Helper

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi Vaibhav,

Thanks for the reply, 

FYI, Loader freeze issue happens on sample source as well. 

 

See below for requested items: 

API key: 

R7EBXRT5YLO1L05REWL821VC2JWZEQN7rNqjEd_Q**bleep**2if1s
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.visa.checkout.integration.sdklitesampleapp"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
android:minSdkVersion="19"
android:targetSdkVersion="26" />

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.USE_FINGERPRINT" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />

<application
android:allowBackup="false"
android:debuggable="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:testOnly="true"
android:theme="@style/AppTheme" >
>
<activity android:name="com.visa.checkout.integration.nativesampleapp.PaymentStartActivity" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>

<meta-data
android:name="android.support.VERSION"
android:value="26.1.0" />

<activity
android:name="com.visa.checkout.CheckoutWebViewActivity"
android:configChanges="orientation|screenSize"
android:theme="@android:style/Theme.Translucent.NoTitleBar" />

<meta-data
android:name="android.arch.lifecycle.VERSION"
android:value="27.0.0-SNAPSHOT" />
</application>

</manifest>

 

public class PaymentStartActivity extends AppCompatActivity {

private static final String TAG = PaymentStartActivity.class.getSimpleName();

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_payment_start);

final CheckoutButton checkoutButton = findViewById(R.id.visaCheckoutButton);
checkoutButton.init(this, ConfigureVisaPaymentInfo.getProfile(),
ConfigureVisaPaymentInfo.getPurchaseInfo(),
new VisaCheckoutSdk.VisaCheckoutResultListener() {
@Override
public void onResult(VisaPaymentSummary visaPaymentSummary) {
if (VisaPaymentSummary.PAYMENT_SUCCESS.equalsIgnoreCase(
visaPaymentSummary.getStatusName())) {
Log.d(TAG, "Success");
} else if (VisaPaymentSummary.PAYMENT_CANCEL.equalsIgnoreCase(
visaPaymentSummary.getStatusName())) {
Log.d(TAG, "Canceled");
} else if (VisaPaymentSummary.PAYMENT_ERROR.equalsIgnoreCase(
visaPaymentSummary.getStatusName())) {
Log.d(TAG, "Error");
} else if (VisaPaymentSummary.PAYMENT_FAILURE.equalsIgnoreCase(
visaPaymentSummary.getStatusName())) {
Log.d(TAG, "Generic Unknown failure");
}
}
});
}

 

public class ConfigureVisaPaymentInfo {

public static Profile getProfile() {
return new Profile.ProfileBuilder("xxxxxxxxxxxxx",
Environment.SANDBOX)
.setDisplayName("Sample App")
.setDataLevel(Profile.DataLevel.FULL)
.setAcceptCanadianVisaDebit(true)
.setEnableTokenization(true)
.setCardBrands(new String[] {
Profile.CardBrand.AMEX, Profile.CardBrand.VISA, Profile.CardBrand.MASTERCARD,
Profile.CardBrand.ELO, Profile.CardBrand.ELECTRON
})
.setShippingCountries(new String[] {
Profile.Country.US, Profile.Country.CA, Profile.Country.BR, Profile.Country.GB,
Profile.Country.IN, Profile.Country.IE, Profile.Country.AU, Profile.Country.PL,
Profile.Country.MX
})
.setBillingCountries(new String[] {
Profile.Country.US, Profile.Country.CA, Profile.Country.BR, Profile.Country.GB,
Profile.Country.IN, Profile.Country.IE, Profile.Country.AU, Profile.Country.PL,
Profile.Country.MX
})
.setCountryCode(Profile.Country.CA)
.put("any key", "any data")
.build();
}

public static PurchaseInfo getPurchaseInfo() {
HashMap<String, String> data = new HashMap<>();
data.put("key", "value");
data.put("key1", "value1");

return new PurchaseInfo.PurchaseInfoBuilder(new BigDecimal("10.23"),
PurchaseInfo.Currency.CAD).setShippingHandling(new BigDecimal("0"))
.setTax(new BigDecimal("0"))
.setDiscount(new BigDecimal("0"))
.setMisc(new BigDecimal("0"))
.setGiftWrap(new BigDecimal("0"))
.setDescription("Gift Card Order")
.setOrderId("234-SD355-343432")
.setReviewMessage("Gift Card Order")
.setMerchantRequestId("345345345dsfs434343423234234")
.setSourceId("test-source-id")
.setPromoCode("test-promo-code")
.setShippingAddressRequired(true)
.setUserReviewAction(PurchaseInfo.UserReviewAction.PAY)
.setThreeDSSetup(true, false)
.setCustomData(data)
.setPrefillRequest(new VisaConfigRequest() {
@Override
public void handleConfigRequest(Object o, VisaConfigResponse visaConfigResponse) {
try {
JSONObject jsonObject = new JSONObject();
jsonObject.put("userFirstName", "First name");
jsonObject.put("userLastName", "Last name");
jsonObject.put("userEmail", "email");
jsonObject.put("userPhone", "phone");
visaConfigResponse.sendResponse(jsonObject);
} catch (JSONException e) {
visaConfigResponse.sendResponse(null);
}
}
})
.put("any key", "any data")
.build();
}
}

 

Visa Dev Moderator

Re: Visa checkout Android v6.3.0 hangs on 4.4.2

Hi @Uday

 

Thank you for your patience. Currently, we are on SDK version 6.6.2 for Android and 6.6.1 for iOS. If the merchant updates to the newest SDK version, are they still encountering the same issue? If so, can the following information be provided?

 

  • Correlation ID of any failed attempts
  • Request Logs
  • Response Logs (if applicable)
  • API Key being used in this API call

 

Thank you, 

Vaibhav 

Was your question answered? Don't forget to click on "Accept as Solution" to help other devs find the answer to the same question.