> For the complete documentation index, see [llms.txt](https://docs.payments.thalescloud.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.payments.thalescloud.io/push-provisioning/ja/integrate-the-d1-sdk/troubleshooting/report-issues.md).

# 問題を報告

This section describes the required information to investigate issues at Thales side.

### Prerequisites

Before submitting an issue report, we would like you to perform tests using debug variant of Thales products.

When facing an issue it is important to know exact configuration of the SDK and environment used.

In case you have received an error code when executing SDK functions or if you are facing a crash please also report steps and try reproducing issue with test tools and Sample application provided at the start of project.

As next step we would like you to provide us with an Issue Report in which we go into detail of what information we need for troubleshooting.

### Submitting an issue report

#### What version and variant of Thales SDK is used?

Which SDK variant is actively built - debug or a release? The version can be retrieved by the issuer application via *D1Task.getSDKVersions()* API.

#### What is the application environment?

* Do you face an issue with D1 SDK or with D1 backend?
* Which environment are you targeting - Sandbox Environment, Pre-Production Environment, Production Environment?
* Do you face same issue when connecting to Sandbox Environment using the Thales Sample application?
* Is the application deployed in store?
* Who is the target audience? - internal testing, beta users, public end users

#### What is the use case involved?

* Generic
  * SDK init - part of the app code that initializes the SDK
  * Login
* Card Display
* D1 Push
  * Card digitization state
  * Push provisioning
  * In-app authentication
  * Wallet extension
* D1 Pay
  * Token enrollment - process of creating a digital token for a funding card and provisioning it to the SDK storage
  * Payment - Consumer Device Cardholder Verification Method (CDCVM), 1-Tap or 2-Tap User Experience
  * Replenishment - provisioning additional payment keys for a digital token after performing several transactions
  * LCM - performing any of the operations as suspend, resume or delete of a given token
* Other - for any use case not listed above

#### What is the type of the issue?

* Is it a crash of the SDK?
* Is it an error received by the SDK?
* Is it a user experience issue?
* For other types of issue please describe it in detail.

#### How could be the issue summarized?

* Please try to provide a short issue description.
* If the type of the issue is a crash then please provide the application stack trace. Make sure that the stack trace is already decoded by the application mapping files (generated at application build time).
* If the type of the issue is an SDK error then please provide a reference to the last SDK API method called by the app, the error code returned by the SDK and as much error details provided by the error wrapping object as possible.
* If the issue is in user experience then please try to capture screenshot or a screen recording video.

#### What are the steps to reproduce the issue?

* If the issue happens every time after a specific sequence of steps has been taken then we talk about a 'systematic issue'. If there were not identified particular reproduction steps then we talk about a 'random issue'.
* Please try to describe the steps to reproduce as detailed as possible.
* Please pay also attention to the prerequisites before the use case is triggered

#### What is the expected behavior?

Please try to explain what sort of behavior you would expect with the set conditions. Note: Sometimes a misinterpretation of the SDK feature functionality is reported as an issue.

#### What are the devices & OS versions affected?

* This aims to clarify if the issue is device or OS version specific, or if it is a combination of both.
* What is the vendor and model of the device affected?
* What is the OS version of the device affected?
* It may be also useful to list the devices on which the issue did not occur. That is, where the issuer application/D1 SDK behaves as expected if such is identified.
* Where are the devices located? Are you in posession of the device physically or using a cloud to access it remotely?

#### What is the occurrence rate of the issue?

* How many times did it happen overall?
* How many times did it happen out of a given number of attempts or during a given time frame? - for example 2 out of 10 attempts or 10 during last 24h etc.
* What is the percentage of end users is affected?

#### Is it possible to gather the SDK logs?

If the issue can be reproduced in a controlled environment then please try to reproduce it with the debug variant of the app with the debug SDK variant and collect the ADB/Console log.

### D1 frontend logs

{% tabs %}
{% tab title="Android" %}

#### Android

**Logcat**

Logcat is the standard output for your mobile applications logs in Android Studio. To obtain these logs you need to:

1. In Android Studio, build and run your app on a physical device.
2. Select View > Tool Windows > Logcat from the menu bar.

**Google Pay logs**

1. Request to add the test accounts to allowlist. The request can be submitted through the [provisioning contact form](https://support.google.com/faqs/contact/pp_api_general?authuser=1).
2. Once the access is granted by Google, you can filter the logs by using this text TapAndPay in [Logcat](https://developer.android.com/studio/debug/am-logcat).
   {% endtab %}

{% tab title="iOS" %}

#### iOS

**Console**

Like with Android's Logcat the Xcode Console is the log output for iOS applications. You can find it:

If it’s not visible, you can tap CMD ⌘ + SHIFT ⇧ + Y or access the same option via the menu View → Debug Area → Show Debug Area.

**Apple Pay logs**

1. Use the specific provisioning profile from Apple for the following devices:
   * iPhone: [iOS Provisioning Profile.](https://developer.apple.com/services-account/download?path=/iOS/iOS_Logs/WalletFull.mobileconfig)
   * Apple Watch: [Apple Watch Provisioning Profile.](https://developer.apple.com/services-account/download?path=/iOS/watchOS_Logs/WalletFull.mobileconfig)
2. Once the application is running, the logs can be filtered using the PassbookUIService process in Console.app. For more details, see [Apple Pay Profiles and Logs.](https://developer.apple.com/bug-reporting/profiles-and-logs/?name=Apple%20Pay)
   {% endtab %}
   {% endtabs %}

#### Secure logs

Secure Logs are not necessary to be used during development phase unless you are building your application with the release SDK + operating in the Production Environment. This logging feature allows for encrypted logs to be exported from any device upon end user consent, transferred to Thales team through customer channel. Our dedicated article can be found here: [Secure Logs](https://developer.dbp.thalescloud.io/docs/d1-developer-portal/4931bdf057bda-retrieving-d1-sdk-secure-logs)

### D1 backend

To support troubleshooting from the D1 backend, please provide:

* the API details and environment (Sandbox Environment, Pre-Production Environment, Production Environment)
* key identifiers such as *consumerId* and *cardId*
* *timestamp* of the use case/request execution
* other unique identifiers such as *sessionID*, *correlationID*, *requestID*

Context regarding the test case, sequence of steps executed that lead to the error, state of the digitization or card from the scheme perspective (if relevant).

If issue is suspected to be related to backend but faced from device, troubleshoot any potential local issues and correlate to relevant backend logs against device logs first (if applicable) before the request would reach to Thales D1 backend.

### Issue report template

{% code overflow="wrap" %}

```
1) Thales SDK version & variant / backend API: < PLEASE FILL HERE >
2) Issue type: < PLEASE FILL HERE one of: crash, SDK error, user experience, other >
3) Use case involved: < PLEASE FILL HERE e.g.: SDK init, login, card display, push provisioning, etc. >
4) Issue summary: < PLEASE FILL HERE in free text >
5) Reproduction steps: < PLEASE FILL HERE in free text >
6) Expected behavior: < PLEASE FILL HERE in free text >
7) Application environment: < PLEASE FILL HERE the most appropriate from: Pre-Production Environment/Production Environment internal testing, beta, public >
8) Affected device: < PLEASE FILL HERE device information including OS version >
9) Occurrence rate: < PLEASE FILL HERE statistics about the issue occurrence >
10) Token ID/Wallet ID references: < PLEASE FILL HERE >
11) ADB/Console log: < Please attach the log as plain text file >
```

{% endcode %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.payments.thalescloud.io/push-provisioning/ja/integrate-the-d1-sdk/troubleshooting/report-issues.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
