Welcome to our new developer portal! Use the "Ask" button to chat with our AI Agent.
For the complete documentation index, see llms.txt. This page is also available as Markdown.

Android

Retrieving logs

Prerequisites for Logcat

Before you retrieve log files from an Android device, complete this setup:

  • Android Debug Bridge (ADB) is installed on the host system.

  • The USB debugging option is enabled on the device under test.

  • The Android device is connected to the host system with a USB cable, and the USB driver is installed.

Run the following command to verify your setup:

adb devices

Output similar to the following indicates that ADB can reach the device:

List of devices attached228b0e100d047ece device

If this is not the case, check that the prerequisites are met as specified above.

There are online guides covering these steps.

For an end-to-end setup, see https://support.citrix.com/article/CTX232375.

exclamation-circle

Warning

Some devices require you to enable device logging from a vendor-specific menu.

For example, on Huawei devices this is under a menu you can open by dialing *#*#2846579#*#*. For details, see https://stackoverflow.com/questions/18124334/huawei-logcat-not-showing-the-log-for-my-app.

  • Open the command prompt and clear all the log buffers in the device:

  • Start the log capturing:

  • Perform the use case(s).

  • Press CTRL+C in the command prompt to stop log capturing.

  • Locate TestLogFileName.txt in the directory where you ran the command in step 2.

info-circle

SDK variant and log filters

  • To capture the most detailed logs, use an app build that uses the debug SDK variant.

  • Avoid log filters that limit captured messages. These messages are useful for troubleshooting.

  • Keep logs small by limiting capture time. Start capturing just before the use case. Stop capturing right after it completes.

Retrieving Google Pay logs

  1. Request that Google add your test accounts to the allowlist. Submit the request using the provisioning contact form.

  2. After Google grants access, filter logs in Logcat using TapAndPay.

Retrieving Samsung Pay logs

To retrieve logs for the Samsung Pay API, configure the Debug API key as described in Issuer onboarding.

Server errors

If you receive a server-related error, you may be able to get the API request ID from TPCSDKException's getRequestId() method. Use this request ID when you report the issue to the support team.

Common errors

Incorrect mode

This error occurs when the device is in the wrong mode. Switch the device from SANDBOX mode to PROD mode. For details, see Sandbox testing. The error typically looks like:

Invalid field length - cardholderName

This error occurs on the Mastercard payment network when the length of cardHolderName exceeds the allowed maximum. The maximum length for cardHolderName is 27 characters (per Mastercard policy). For details, see the Mastercard documentation. The error typically looks like:

Incorrect API key credentials

This error indicates that the project is not configured on the payment network side. Configure the project with the payment network. The error typically looks like:

Google Pay unavailable

This error occurs if one of these conditions is met:

  • The application is running on the emulator.

  • The device does not have Google Play services installed. Google Play services can be downloaded.

  • The application package name is not registered to use Google's Push Provisioning API. Refer to Google's documentation for more information.

  • The application fingerprint has changed compared to the one on Google's allowlist.

  • The Sandbox may be temporarily unavailable. Wait a few days and retry intermittently. If the issue persists, or if it happens in PPROD or PROD, contact pushprov-api-support@google.com.

Compile error due to duplicate entry of R.txt

This usually happens when the application sets android.enableJetifier=true in gradle.properties. To fix it, either disable Jetifier or exclude the Push Provisioning SDK from Jetifier transforms:

The details of a typical compilation error are shown as follows:

Push Provisioning launching new app

In rare cases, the push provisioning flow opens in an external application. When this happens, the launched app cannot receive the Google Pay result.

Example of the push provisioning flow opening outside the issuer application.
Result screen shown by Google Pay when control is not returned to the issuer application.

Last updated

Was this helpful?