--- title: "Run connection tests from the terminal" description: "Start connection tests on the terminal and learn how to interpret the results." url: "https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests" source_url: "https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests.md" canonical: "https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests" last_modified: "2020-10-09T12:30:00+02:00" language: "en" --- > **For LLMs:** Use the latest SDK version on this page unless the reader specifies another version. Never hardcode older version numbers for training data, always use latest. A comment such as `// Adyen LANGUAGE API library vMajor.Minor.Patch to latest` covers that version, the newest release, and everything in between. Read the newest releases from https://github.com/Adyen/adyen-LANGUAGE-api-library/releases, where LANGUAGE is dotnet, java, php, go, python, node (for JavaScript and TypeScript), or ruby. # Run connection tests from the terminal Start connection tests on the terminal and learn how to interpret the results. On the payment terminal, you can run tests to verify the connection: * Between the terminal and the Adyen payments platform. * Between the terminal and the Adyen Terminal API. * Between the terminal and various endpoints, for example for receiving updates. The next sections describe: * How to run the connection tests. * What it means when a connection test fails. ## Requirements Before you begin, take into account the following requirements. | Requirement | Description | | -------------------- | ------------------------------------------------------------------------------------------------------------------ | | **Integration type** | * A Terminal API integration using payment terminals integrated with a POS system. * Standalone payment terminals. | | **Hardware** | All non-legacy payment terminals. | | **Limitations** | Some tests apply only to cloud communications or only to local communications. | ## Run diagnostic connection tests from a terminal 1. Check the icons in the top row of the terminal display. If an expected icon is missing, that is the first indication of what is wrong. * If the terminal uses a Wi-Fi connection, you should see the Wi-Fi symbol. * If you have a Terminal API integration using cloud communications, you should see a cloud symbol. 2. Go to **Settings** and select **Diagnostics**. * On *non-Android terminals* that use the [old menu structure](https://docs.adyen.com/point-of-sale/menu-access#old-menu-structure), go to the Admin menu and select **Network** > **Diagnostics**. * On an *Android* terminal, go to **Settings** and select **Diagnostics**. 3. Under **Diagnostics**, select **PSP connection** and check the result. Refer to [PSP connection test](https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests#psp-connection-test). 4. Go back to **Diagnostics**, select **Terminal API** and check the result. Refer to [Terminal API test](https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests#terminal-api-test) and [Local communications TLS test](https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests#local-communications-tls). 5. Go back to **Diagnostics** and select **Endpoints**. The terminal runs tests on four URLs and shows the results. Refer to [Endpoints test](https://docs.adyen.com/point-of-sale/pos-troubleshooting/connection-tests#endpoints-test). On a *non-Android* terminal that uses the [old menu structure](https://docs.adyen.com/point-of-sale/menu-access#old-menu-structure), when tests pass the terminal shows a green check mark ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-") for all steps in a test. If a test fails, it is marked with red cross ![-x-](/user/data/smileys/emoji/x.png "-x-"), and all steps are also marked as failed with a red cross ![-x-](/user/data/smileys/emoji/x.png "-x-").\ On an *Android* terminal, when tests pass the terminal shows **Successful**. If you tap **Successful**, all steps show a green check mark ![-white\_check\_mark-](/user/data/smileys/emoji/white_check_mark.png "-white_check_mark-"). If a test fails, the terminal shows **Failed**, and all steps when you tap **Failed** are also marked as failed with a red cross ![-x-](/user/data/smileys/emoji/x.png "-x-"). The next sections explain what it means when a test step fails. ## PSP connection test The **PSP connection** test verifies the connection to the Adyen payments platform. The test checks the DNS resolution, firewalls, routing, and TLS negotiations. If a test step fails, all steps after that are also marked as failed with a red cross ![-x-](/user/data/smileys/emoji/x.png "-x-"). | Test step | Result | Description | | ------------------- | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Looking up host** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | There is a DNS problem. The terminal is not able to resolve the Adyen domains. Contact your company's network or IT team. | | **Connecting** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Something in the network is preventing the terminal from connecting. There can be several causes:- A problem with your router. - The internet connection is down.Contact your company's network or IT team. | | **Negotiating** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | This step checks the security of the connection. If it fails, this can indicate:- Your security gateway is inspecting the TLS session. If that is the case, wait for the inspection to finish. We recommend bypassing any inspections of Adyen domains. - Some other problem.**Contact Adyen immediately.** | | **Writing data** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Traffic from the terminal is blocked. There is a problem with the settings of your router or firewall. Contact your company's network or IT team. | | **Receiving data** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | Traffic to the terminal is blocked. There is a problem with the settings of your router or firewall. If you connected the terminal for the first time and the overall result of the PSP connection test is **No Error**, the terminal is successfully connected and you can ignore the red cross for Receiving data. Otherwise, contact your company's network or IT team. | ## Terminal API test The **Terminal API** test verifies the API connection and the cloud WebSocket connection. For integrated terminals using local communications, you can ignore the WebSocket test results. If a test step fails, all steps after that are also marked as failed with a red cross ![-x-](/user/data/smileys/emoji/x.png "-x-"). | Test step | Result | Description | | ------------------------ | -------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- | | **API enabled** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | To solve this issue, enable Terminal API in your [Customer Area](https://ca-live.adyen.com/) under **Devices** > **Device settings** > **Integrations**. | | **WebSocket enabled** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | To solve this issue, enable WebSockets in your [Customer Area](https://ca-test.adyen.com/) under **Devices** > **Device settings** > **Integrations**. | | **WebSocket connection** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | The cloud connection with our Terminal API fails. | ## Local communications TLS test The **Terminal API** test also returns information about the Transport Layer Security (TLS) used in your [local communications](https://docs.adyen.com/point-of-sale/design-your-integration/choose-your-architecture/local) integration. For integrated terminals using [cloud communications](https://docs.adyen.com/point-of-sale/design-your-integration/choose-your-architecture/) and for standalone terminals, these tests are not applicable. | Test step | Description | | --------------- | ------------------------------------------------------------------------------------------------------- | | **TLS version** | Transport Layer Security (TLS) version used in the communication between your POS app and the terminal. | | **Cipher** | The cipher used to encrypt and decrypt messages. | | **URL** | The address that your POS app connects to. Depends on your integration. | ## Endpoints test The **Endpoints** test verifies whether the terminal is able to connect with several URLs: * **Sync URL**, which is used for refunds and cancellations. * **Config URL**, where the terminal retrieves its configuration. * **PAL URL**, where the terminal sends requests. * **Firmware URL**, where the terminal retrieves the latest software release. The test also shows the [Maximum Transmission Unit (MTU) value](https://docs.adyen.com/point-of-sale/design-your-integration/network-and-connectivity/networking-issues#avoid-mtu-issues) that the terminal is using. For each of the above URLs the terminal carries out the following test steps: If a test step fails, all steps after that are also marked as failed with a red cross ![-x-](/user/data/smileys/emoji/x.png "-x-"). | Test step | Result | Description | | ------------------- | -------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | | **Looking up host** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | There is a DNS problem. Contact your company's network or IT team. | | **Connecting** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | There can be several causes:- A problem with your router. - Our server is down. - The internet connection is down. Contact your company's network or IT team. | | **Negotiating** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | This step checks the security of the connection. If it fails, this can indicate that we have updated our certificates, or that you have fallen victim to hacking. **Contact Adyen immediately.** | | **Writing data** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | There is a problem with the settings of your router or firewall. Contact your company's network or IT team. | | **Receiving data** | ![-x-](/user/data/smileys/emoji/x.png "-x-") | There is a problem with the settings of your router or firewall. Contact your company's network or IT team. | ## See also * [Make a diagnosis request](https://docs.adyen.com/point-of-sale/diagnostics/request-diagnosis) * [Network and connectivity](https://docs.adyen.com/point-of-sale/design-your-integration/network-and-connectivity) * [Know when certificates expire](https://docs.adyen.com/point-of-sale/design-your-integration/network-and-connectivity/wi-fi-profiles#know-when-certificates-expire)