{"title":"Ask for a signature","category":"default","creationDate":1778252957,"content":"<p>Here we describe how you can use an input request to show a prompt on the payment terminal asking the shopper to confirm something by drawing their signature on the display.<\/p>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirement.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Requirement<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><strong>Integration type<\/strong><\/td>\n<td style=\"text-align: left;\">A <a href=\"\/point-of-sale\/get-started\">Terminal API integration<\/a> with payment terminals.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<p>When you use a <span translate=\"no\"><strong>GetSignature<\/strong><\/span> <code>InputRequest<\/code>, the terminal prompts the shopper to confirm something by drawing their signature on the display. The terminal continues to show your input request until one of these events occurs:<\/p>\n<ul>\n<li>The user has provided input.<\/li>\n<li>The maximum input time expires. You can set this time in the request.<\/li>\n<li>On the terminal, <strong>Cancel<\/strong> <strong><img alt=\"\" src=\"\/images\/4\/9\/3\/9\/d\/4939d94adbc3ebc98222ede1bcbb0ef0328893e2-cancel2x.png\" \/><\/strong> is selected.<\/li>\n<li>The terminal receives a <a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/cancel-input\">request to cancel collecting input<\/a> or any other request from the POS app.<\/li>\n<\/ul>\n<h3>Examples<\/h3>\n<p>The following illustrations show a signature screen on a portrait, small portrait, and landscape display. Using the on-screen buttons, the shopper can clear or confirm their signature.<\/p>\n<div class=\"sc-columns\" style=\"columns:2 auto;-moz-columns:2 auto;column-gap:normal;-moz-column-gap:normal;\">\n<div style=\"text-align: center;\">\n<p><img alt=\"\" src=\"\/images\/8\/e\/5\/7\/3\/8e57340edcba648195384ddc2077ec884b11b0ad-screen-engetsignatureportrait.png\" \/><\/p>\n<\/div>\n<div style=\"text-align: center;\">\n<p><img alt=\"\" src=\"\/images\/1\/4\/5\/4\/f\/1454ff755ddb1ee27c7009e4d43ab3c1cecaa12f-screen-engetsignatureportrait-small.png\" \/><\/p>\n<\/div>\n<\/div>\n<p><br><\/p>\n<div style=\"text-align: center;\">\n<p><img alt=\"\" src=\"\/images\/e\/5\/2\/c\/d\/e52cd2bd36f60e97265b5ec59a1775e15d12a9f8-screen-engetsignaturelandscape.png\" \/><\/p>\n<\/div>\n<h2 id=\"signature-input-request\">Make a Signature input request<\/h2>\n<p>To use the payment terminal to ask a shopper to provide their signature:<\/p>\n<ol>\n<li>\n<p>Make a <a href=\"\/point-of-sale\/design-your-integration\/terminal-api\">Terminal API<\/a> input request, specifying:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/point-of-sale\/design-your-integration\/terminal-api#request-message-header\">\n  <code>SaleToPOIRequest.MessageHeader<\/code>\n<\/a> object, with <code>MessageClass<\/code> set to <span translate=\"no\"><strong>Device<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>Input<\/strong><\/span>.<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: center;\">Required<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>ProtocolVersion<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><strong>3.0<\/strong><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageClass<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Device<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageCategory<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Input<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MessageType<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Request<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>ServiceID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Your unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (<code>POIID<\/code>) being used.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>SaleID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">Your unique ID for the system where you send this request from.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>POIID<\/code><\/td>\n<td style=\"text-align: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td style=\"text-align: left;\">The unique ID of the terminal to send this request to. Format: <em>[device model]-[serial number]<\/em>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<ul>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/input#request-DisplayOutput\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">InputRequest.DisplayOutput<\/a> object to define what is shown on the terminal:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>Device<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>CustomerDisplay<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InfoQualify<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Display<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputFormat<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Text<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.PredefinedContent.ReferenceID<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>GetSignature<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>OutputContent.OutputText<\/code><\/td>\n<td style=\"text-align: left;\">An array of two <code>Text<\/code> fields containing your own text to show on the terminal:<ol><li markdown=\"1\">The header. On a portrait display, this is limited to about 20 characters.<\/li> <li markdown=\"1\">Use an empty value, or specify additional text. <br> On M400, e280, and e285 terminals terminals, additional text is ignored, but you still need to include the second <code>Text<\/code> field with an empty value.<\/li><\/ol><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/input#request-InputData\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">InputRequest.InputData<\/a> object to handle the user input:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Parameter<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>Device<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>CustomerInput<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InfoQualify<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>Input<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>InputCommand<\/code><\/td>\n<td style=\"text-align: left;\"><span translate=\"no\"><strong>GetConfirmation<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>MaxInputTime<\/code><\/td>\n<td style=\"text-align: left;\">(Integer) Time-out in seconds. This is the time that the user gets to finish their input.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>The following example asks the shopper for their signature.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'shopper-input_2'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Device\\\",\\n            \\\"MessageCategory\\\":\\\"Input\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"0207111104\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-324688179\\\"\\n        },\\n        \\\"InputRequest\\\":{\\n            \\\"DisplayOutput\\\":{\\n                \\\"Device\\\":\\\"CustomerDisplay\\\",\\n                \\\"InfoQualify\\\":\\\"Display\\\",\\n                \\\"OutputContent\\\":{\\n                    \\\"OutputFormat\\\":\\\"Text\\\",\\n                    \\\"PredefinedContent\\\":{\\n                        \\\"ReferenceID\\\":\\\"GetSignature\\\"\\n                    },\\n                    \\\"OutputText\\\":[\\n                        {\\n                            \\\"Text\\\":\\\"Please sign\\\"\\n                        },\\n                        {\\n                            \\\"Text\\\":\\\"\\\"\\n                        }\\n                    ]\\n                }\\n            },\\n            \\\"InputData\\\":{\\n                \\\"Device\\\":\\\"CustomerInput\\\",\\n                \\\"InfoQualify\\\":\\\"Input\\\",\\n                \\\"InputCommand\\\":\\\"GetConfirmation\\\",\\n                \\\"MaxInputTime\\\":30\\n            }\\n        }\\n    }\\n}\"},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":\"SaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nInputRequest inputRequest = new InputRequest();\\nDisplayOutput displayOutput = new DisplayOutput();\\ndisplayOutput.setDevice( DeviceType.CUSTOMER_DISPLAY );\\ndisplayOutput.setInfoQualify( InfoQualifyType.DISPLAY );\\nOutputContent outputContent = new OutputContent();\\noutputContent.setOutputFormat( OutputFormatType.TEXT );\\nPredefinedContent predefinedContent = new PredefinedContent();\\npredefinedContent.setReferenceID(\\\"GetSignature\\\");\\noutputContent.setPredefinedContent(predefinedContent);\\n\\nOutputText title = new OutputText();\\ntitle.setText(\\\"Please sign\\\");\\nOutputText additionalText = new OutputText();\\nadditionalText.setText(\\\"\\\");\\noutputContent.getOutputText().add(title);\\noutputContent.getOutputText().add(additionalText);\\noutputContent.getOutputText().add(declineAnswer);\\noutputContent.getOutputText().add(agreeAnswer);\\ndisplayOutput.setOutputContent(outputContent);\\ninputRequest.setDisplayOutput(displayOutput);\\n\\nInputData inputData = new InputData();\\ninputData.setDevice( DeviceType.CUSTOMER_INPUT );\\ninputData.setInfoQualify( InfoQualifyType.INPUT );\\ninputData.setInputCommand( InputCommandType.GET_CONFIRMATION );\\ninputData.setMaxInputTime( BigInteger.valueOf(30) );\\ninputRequest.setInputData(inputData);\\nsaleToPOIRequest.setInputRequest(inputRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Wait for the user to supply the requested input.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>The input is not validated against a format.<\/p>\n<\/div><\/div>\n<p>If input is received from the terminal, the input response includes an  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/input#responses-200-InputResult\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">InputResult<\/a> object with:<\/p>\n<ul>\n<li><code>Response.AdditionalResponse<\/code>: The signature provided by the shopper.<\/li>\n<li><code>Input.ConfirmedFlag<\/code>: <span translate=\"no\"><strong>true<\/strong><\/span> indicates the shopper confirmed their agreement by selecting <strong>Confirm<\/strong> <strong><img alt=\"\" src=\"\/images\/0\/7\/4\/f\/9\/074f9b749eae41f7ae007b733e7690b80be83fde-confirm2x.png\" \/><\/strong>.<\/li>\n<li><code>Input.ConfirmedFlag<\/code>: <span translate=\"no\"><strong>false<\/strong><\/span> means the shopper declined by selecting <strong>Cancel<\/strong> <strong><img alt=\"\" src=\"\/images\/4\/9\/3\/9\/d\/4939d94adbc3ebc98222ede1bcbb0ef0328893e2-cancel2x.png\" \/><\/strong>.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Example response when the shopper confirmed'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n  \\\"SaleToPOIResponse\\\": {\\n    \\\"InputResponse\\\": {\\n      \\\"InputResult\\\": {\\n        \\\"Device\\\": \\\"CustomerInput\\\",\\n        \\\"InfoQualify\\\": \\\"Input\\\",\\n        \\\"Response\\\": {\\n          \\\"Result\\\": \\\"Success\\\",\\n          \\\"AdditionalResponse\\\": \\\"responseData=%7b%20%22signature%22%3a%20%7b%20%22data...%22signature_format%22%3a%20%22raw%22%20%7d%20%7d\\\"\\n        },\\n        \\\"Input\\\": {\\n          \\\"ConfirmedFlag\\\": true,\\n          \\\"InputCommand\\\": \\\"GetConfirmation\\\"\\n        }\\n      },\\n      \\\"OutputResult\\\": {\\n        \\\"Device\\\": \\\"CustomerDisplay\\\",\\n        \\\"InfoQualify\\\": \\\"Display\\\",\\n        \\\"Response\\\": {\\n          \\\"Result\\\": \\\"Success\\\"\\n        }\\n      }\\n    },\\n    \\\"MessageHeader\\\": {...}\\n  }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<ul>\n<li>\n<p>If the input request times out, the <code>InputResult.Response<\/code> has <code>AdditionalResponse<\/code>: <span translate=\"no\"><strong>message=Screen%20timeout<\/strong><\/span>, <code>Result<\/code>: <span translate=\"no\"><strong>Failure<\/strong><\/span>, and <code>ErrorCondition<\/code>: <span translate=\"no\"><strong>Cancel<\/strong><\/span>.<\/p>\n<\/li>\n<li>\n<p>If you make a payment request while the input request is waiting for input on the terminal, the payment request overrides the input request. The <code>InputResult.Response<\/code> has <code>AdditionalResponse<\/code>: <span translate=\"no\"><strong>message=A%20higher%20priority%20request%20has%20been%20received<\/strong><\/span>, <code>Result<\/code>: <span translate=\"no\"><strong>Failure<\/strong><\/span>, and <code>ErrorCondition<\/code>: <span translate=\"no\"><strong>Busy<\/strong><\/span>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Pass the relevant data from <code>InputResult.Input<\/code> to your system for validation and further use.<\/p>\n<\/li>\n<\/ol>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/cancel-input\"\n                        target=\"_self\"\n                        >\n                    Cancel an input request\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/shopper-input\/select-input-request\"\n                        target=\"_self\"\n                        >\n                    Ask for another type of input\n                <\/a><\/li><li><a href=\"\/point-of-sale\/shopper-engagement\/create-session\"\n                        target=\"_self\"\n                        >\n                    Create a session\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/point-of-sale\/shopper-engagement\/shopper-input\/signature","articleFields":{"description":"Use an input request to ask a shopper to provide their signature."},"algolia":{"url":"https:\/\/docs.adyen.com\/point-of-sale\/shopper-engagement\/shopper-input\/signature","title":"Ask for a signature","content":"Here we describe how you can use an input request to show a prompt on the payment terminal asking the shopper to confirm something by drawing their signature on the display.\nRequirements\nBefore you begin, take into account the following requirement.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nA Terminal API integration with payment terminals.\n\n\n\nHow it works\nWhen you use a GetSignature InputRequest, the terminal prompts the shopper to confirm something by drawing their signature on the display. The terminal continues to show your input request until one of these events occurs:\n\nThe user has provided input.\nThe maximum input time expires. You can set this time in the request.\nOn the terminal, Cancel  is selected.\nThe terminal receives a request to cancel collecting input or any other request from the POS app.\n\nExamples\nThe following illustrations show a signature screen on a portrait, small portrait, and landscape display. Using the on-screen buttons, the shopper can clear or confirm their signature.\n\n\n\n\n\n\n\n\n\n\n\n\nMake a Signature input request\nTo use the payment terminal to ask a shopper to provide their signature:\n\n\nMake a Terminal API input request, specifying:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Device and MessageCategory set to Input.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nDevice\n\n\nMessageCategory\n\nInput\n\n\nMessageType\n\nRequest\n\n\nServiceID\n\nYour unique ID for this request, consisting of 1-10 alphanumeric characters. Must be unique within the last 48 hours for the terminal (POIID) being used.\n\n\nSaleID\n\nYour unique ID for the system where you send this request from.\n\n\nPOIID\n\nThe unique ID of the terminal to send this request to. Format: [device model]-[serial number].\n\n\n\n\n\n\n\nThe  InputRequest.DisplayOutput object to define what is shown on the terminal:\n\n\n\nParameter\nDescription\n\n\n\n\nDevice\nCustomerDisplay\n\n\nInfoQualify\nDisplay\n\n\nOutputContent.OutputFormat\nText\n\n\nOutputContent.PredefinedContent.ReferenceID\nGetSignature\n\n\nOutputContent.OutputText\nAn array of two Text fields containing your own text to show on the terminal:The header. On a portrait display, this is limited to about 20 characters. Use an empty value, or specify additional text.  On M400, e280, and e285 terminals terminals, additional text is ignored, but you still need to include the second Text field with an empty value.\n\n\n\n\n\nThe  InputRequest.InputData object to handle the user input:\n\n\n\nParameter\nDescription\n\n\n\n\nDevice\nCustomerInput\n\n\nInfoQualify\nInput\n\n\nInputCommand\nGetConfirmation\n\n\nMaxInputTime\n(Integer) Time-out in seconds. This is the time that the user gets to finish their input.\n\n\n\n\n\nThe following example asks the shopper for their signature.\n\n\n\n\n\nWait for the user to supply the requested input.\n\nThe input is not validated against a format.\n\nIf input is received from the terminal, the input response includes an  InputResult object with:\n\nResponse.AdditionalResponse: The signature provided by the shopper.\nInput.ConfirmedFlag: true indicates the shopper confirmed their agreement by selecting Confirm .\nInput.ConfirmedFlag: false means the shopper declined by selecting Cancel .\n\n\n\n\n\n\nIf the input request times out, the InputResult.Response has AdditionalResponse: message=Screen%20timeout, Result: Failure, and ErrorCondition: Cancel.\n\n\nIf you make a payment request while the input request is waiting for input on the terminal, the payment request overrides the input request. The InputResult.Response has AdditionalResponse: message=A%20higher%20priority%20request%20has%20been%20received, Result: Failure, and ErrorCondition: Busy.\n\n\n\n\nPass the relevant data from InputResult.Input to your system for validation and further use.\n\n\nSee also\n\n\n                    Cancel an input request\n                \n                    Ask for another type of input\n                \n                    Create a session\n                \n","type":"page","locale":"en","boost":16,"hierarchy":{"lvl0":"Home","lvl1":"In-person payments","lvl2":"Shopper engagement","lvl3":"Collect input","lvl4":"Ask for a signature"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/","lvl1":"https:\/\/docs.adyen.com\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/point-of-sale\/shopper-engagement","lvl3":"https:\/\/docs.adyen.com\/point-of-sale\/shopper-engagement\/shopper-input","lvl4":"\/point-of-sale\/shopper-engagement\/shopper-input\/signature"},"levels":5,"category":"In-person payments","category_color":"green","tags":["signature"]},"articleFiles":{"screen-EN_GetSignature_landscape.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/d\/7\/7\/a\/1\/d77a1194e37065c32e334e1d8e3e2d877dee9260-screen-engetsignaturelandscape.png\" \/>","screen-EN_GetSignature_portrait-small.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/9\/b\/0\/c\/3\/9b0c30137ba2ab3a1607bef20515309bd6b2cc08-screen-engetsignatureportrait-small.png\" \/>","screen-EN_GetSignature_portrait.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/images\/4\/3\/c\/8\/f\/43c8f2052d43c3de0b98b29739a9a39515b25248-screen-engetsignatureportrait.png\" \/>","signature_narrow.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/04.signature\/signature_narrow.png\" \/>","signature_wide.png":"<img alt=\"\" src=\"https:\/\/docs.adyen.com\/user\/pages\/docs\/03.point-of-sale\/41.shopper-engagement\/03.shopper-input\/04.signature\/signature_wide.png\" \/>","shopper-input_2.json":"<p alt=\"\">shopper-input_2.json<\/p>"}}
