{"title":"Get the terminal ID","category":"default","creationDate":1781619335,"content":"<p>When you make a Terminal API request, you need to indicate which payment terminal you want to use. To do so, you populate the <code>POIID<\/code> field in the <code>MessageHeader<\/code> with the unique identifier of the payment terminal in the format <em>[device model]-[serial number]<\/em>. For example, <strong>P400&#8209;123456789<\/strong>.<\/p>\n<p>There are several ways to get the unique ID (POIID) of a payment terminal:<\/p>\n<h2>Get the serial number from the terminal<\/h2>\n<p>To construct the POIID of the payment terminal:<\/p>\n<ol>\n<li>Find the serial number of the payment terminal:\n<ul>\n<li>On the back of the payment terminal.<\/li>\n<li>On the payment terminal screen under <strong>Settings<\/strong> &gt; <strong>Device info<\/strong>.<\/li>\n<\/ul><\/li>\n<li>Take the device model, for example, <strong>P400<\/strong>, and combine it with the serial number.<\/li>\n<li>Add a dash between the device model and the serial number.<\/li>\n<li>Remove any dashes from the serial number.<\/li>\n<\/ol>\n<h2>Get the serial number from your Customer Area<\/h2>\n<p>In your <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>: <\/p>\n<ol>\n<li>Go to <strong>In-person payments<\/strong> &gt; <strong>Payment devices<\/strong>, and select the <strong>Terminals<\/strong> tab.  <\/li>\n<li>Select the payment terminal.<\/li>\n<\/ol>\n<h2 id=\"connected-terminals\">Make an API call<\/h2>\n<p>If your integration uses <a href=\"\/point-of-sale\/design-your-integration\/choose-your-architecture\/cloud\">cloud communications<\/a>, you can get the terminal ID with an API call:<\/p>\n<ol>\n<li>Make a POST <a href=\"\/point-of-sale\/diagnostics\/check-cloud-connection\/#use-an-api-call\">\n  <code>\/connectedTerminals<\/code>\n<\/a> request, specifying your merchant account and optionally a store belonging to that merchant account.<\/li>\n<li>In the response, get the <code>POIID<\/code> from the <code>uniqueTerminalIds<\/code> array.<br \/>\nThis array contains a <code>POIID<\/code> for every terminal that has a live cloud connection and belongs to the specified merchant account or store.<\/li>\n<\/ol>\n<h2 id=\"diagnosis\">Use a diagnosis request<\/h2>\n<p>If your integration uses <a href=\"\/point-of-sale\/design-your-integration\/choose-your-architecture\/local\">local communications<\/a>, you can get the terminal ID using a diagnosis request.<\/p>\n<ol>\n<li>\n<p>Make a <a href=\"\/point-of-sale\/diagnostics\/request-diagnosis\">diagnosis request<\/a> with a placeholder <code>MessageHeader.POIID<\/code>, for example <strong>xxxx-123456789<\/strong>.<br \/>\nThe request will fail.<\/p>\n<\/li>\n<li>\n<p>In the <code>DiagnosisResponse<\/code>, find the correct <code>POIID<\/code> inside the <code>MessageHeader<\/code>.<br \/>\nThis is the <code>POIID<\/code> of the terminal that you sent the diagnosis request to.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"android-function\">Use an Android function<\/h2>\n<p>For Android payment terminals with your app installed on the terminal:<\/p>\n<ul>\n<li>\n<p>Get the <code>POIID<\/code> of the terminal by calling the following function:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Get the terminal ID'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"Settings.Global.getString(context.contentResolver, Settings.Global.DEVICE_NAME)\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ul>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/android-terminals\/deploy-apps\/terminal-actions-api\"\n                        target=\"_self\"\n                        >\n                    Schedule terminal actions\n                <\/a><\/li><li><a href=\"\/point-of-sale\/error-scenarios\/\"\n                        target=\"_self\"\n                        >\n                    Handle responses\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/design-your-integration\/terminal-api\/get-the-terminal-id","articleFields":{"description":"Get the unique identifier of the payment terminal to include in your Terminal API requests."},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/design-your-integration\/terminal-api\/get-the-terminal-id","title":"Get the terminal ID","content":"When you make a Terminal API request, you need to indicate which payment terminal you want to use. To do so, you populate the POIID field in the MessageHeader with the unique identifier of the payment terminal in the format [device model]-[serial number]. For example, P400&#8209;123456789.\nThere are several ways to get the unique ID (POIID) of a payment terminal:\nGet the serial number from the terminal\nTo construct the POIID of the payment terminal:\n\nFind the serial number of the payment terminal:\n\nOn the back of the payment terminal.\nOn the payment terminal screen under Settings &gt; Device info.\n\nTake the device model, for example, P400, and combine it with the serial number.\nAdd a dash between the device model and the serial number.\nRemove any dashes from the serial number.\n\nGet the serial number from your Customer Area\nIn your Customer Area: \n\nGo to In-person payments &gt; Payment devices, and select the Terminals tab.  \nSelect the payment terminal.\n\nMake an API call\nIf your integration uses cloud communications, you can get the terminal ID with an API call:\n\nMake a POST \n  \/connectedTerminals\n request, specifying your merchant account and optionally a store belonging to that merchant account.\nIn the response, get the POIID from the uniqueTerminalIds array.\nThis array contains a POIID for every terminal that has a live cloud connection and belongs to the specified merchant account or store.\n\nUse a diagnosis request\nIf your integration uses local communications, you can get the terminal ID using a diagnosis request.\n\n\nMake a diagnosis request with a placeholder MessageHeader.POIID, for example xxxx-123456789.\nThe request will fail.\n\n\nIn the DiagnosisResponse, find the correct POIID inside the MessageHeader.\nThis is the POIID of the terminal that you sent the diagnosis request to.\n\n\nUse an Android function\nFor Android payment terminals with your app installed on the terminal:\n\n\nGet the POIID of the terminal by calling the following function:\n\n\n\n\n\nSee also\n\n\n                    Schedule terminal actions\n                \n                    Handle responses\n                \n","type":"page","locale":"en","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Design your integration","lvl3":"Terminal API","lvl4":"Get the terminal ID"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/point-of-sale\/design-your-integration","lvl3":"https:\/\/docs.adyen.com\/point-of-sale\/design-your-integration\/terminal-api","lvl4":"\/point-of-sale\/design-your-integration\/terminal-api\/get-the-terminal-id"},"levels":5,"category":"In-person payments","category_color":"green","tags":["terminal"]}}
