{"title":"NFC tags reading and writing","category":"default","creationDate":1677505380,"content":"<p>Near Field Communication (NFC) tags can be cards, phones, bracelets, or similar. They can store data and are commonly used for contactless payments, loyalty programs, festival entrance, and more. By sending a Terminal API card acquisition request to your Adyen payment terminal, you can <a href=\"#identify-nfc\">identify<\/a> the type of NFC tag, or <a href=\"#read-nfc\">read<\/a> and <a href=\"#write-nfc\">write<\/a> data to it.<\/p>\n<p>If you prefer to use a dedicated Android app for specific NFC operations, it is possible to <a href=\"#hide\">hide the Adyen UI<\/a> and keep your app's UI in the foreground. You can also <a href=\"#create-session\">create a session<\/a> to perform multiple requests as a single user interaction.<\/p>\n<p>To understand how you can use this, here are some examples:<\/p>\n<ul>\n<li>Enroll shoppers in a loyalty program.<\/li>\n<li>Identify a customer when entering an area such as festival grounds or a parking garage.<\/li>\n<li>Check the balance and top up NFC tags such as loyalty and transport cards, or festival tags used to pay for drinks.<\/li>\n<li>Define multiple behaviours of the NFC tag. For example, use the tag to enter one event and reuse it to pay for drinks at a different event.<\/li>\n<\/ul>\n<h2>Requirements<\/h2>\n<p>Before you begin, take into account the following requirements, limitations, and preparations.<\/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=\"\/pt\/point-of-sale\/basic-tapi-integration\/\">Terminal API integration<\/a> with payment terminals.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Hardware<\/strong><\/td>\n<td style=\"text-align: left;\">The payment terminal model must <a href=\"#supported-products\">support the NFC tags<\/a> that you want to use.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Note the following: <ul><li markdown=\"1\">Writing MIFARE DESFire and reading and writing MIFARE Ultralight is supported only on Android terminals.<\/li> <li markdown=\"1\">Engage terminals can only read\/write to MIFARE Ultralight C pages if the pages are unlocked.<\/li> <li markdown=\"1\"><a href=\"#hide\">Hiding the Adyen UI<\/a> for stored value cards and identity cards is only supported with terminal models S1E, S1E2L, S1F2, and S1U2 on software version 1.114 or later.<\/li> <li markdown=\"1\">See the <a href=\"#supported-products\">supported NFC tag types and terminal models<\/a>.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Before you begin, provide our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a> with the following information so that the team can create your NFC configuration: <ul><li markdown=\"1\">The type of <a href=\"#supported-products\">NFC tag<\/a> you want to use.<li markdown=\"1\">If your NFC tags have cryptographic keys: the keys you want to use to access data.<\/li><li markdown=\"1\">Whether you want to <a href=\"#hide\">hide the Adyen UI<\/a> and instead keep your own UI in the foreground if you use a dedicated Android app for NFC operations.<\/li><\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>How it works<\/h2>\n<p>To use NFC tags on Adyen payment terminals:<\/p>\n<ol>\n<li>Make a card acquisition request to <a href=\"#identify-nfc\">identify<\/a>, <a href=\"#read-nfc\">read<\/a>, or <a href=\"#write-nfc\">write<\/a> to an NFC tag.\n<div class=\"notices green\">\n<p>For more complex use cases that require multiple requests, see <a href=\"#create-session\">Create a session<\/a>.<\/p>\n<\/div><\/li>\n<li>The terminal prompts the user to present their NFC tag or NFC-enabled card.<\/li>\n<li>The user presents their NFC tag by tapping, inserting, or swiping.<\/li>\n<li>The terminal makes one or multiple read\/write requests to the NFC tag.<br \/>\nWhile this is going on, the terminal shows the <em>One moment<\/em> loading screen.\n<div class=\"notices green\">\n<p>If you want to use a <a href=\"\/pt\/point-of-sale\/android-terminals\/app-requirements\/\">dedicated Android app<\/a> to process NFC operations, it is possible to <a href=\"#hide\">hide the Adyen UI<\/a> and keep your app's UI in the foreground.<\/p>\n<\/div><\/li>\n<\/ol>\n<h2 id=\"identify-nfc\">Identify the NFC tag type<\/h2>\n<p>You can use the card acquisition request to get the unique identifier and the type of the NFC tag. You can use this identifier, for example, to check if the NFC tag exists in your system or if it is still valid.<\/p>\n<ol>\n<li>\n<p>Create an <code>Operation<\/code> JSON object with <code>Operation.Type<\/code>: <span translate=\"no\"><strong>NFCReadUID<\/strong><\/span>:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Operation JSON object'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"Operation\\\":[\\n      {\\n         \\\"Type\\\":\\\"NFCReadUID\\\"\\n      }\\n   ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Encode the <code>Operation<\/code> JSON object to Base64. You will pass the resulting string in <code>SaleData.SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Converted to a Base64-encoded string'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkVUlEIgogICAgICAgIH0KICAgIF0KfQ==\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p><a href=\"\/pt\/point-of-sale\/card-acquisition\">Make a card acquisition request<\/a>, specifying:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/pt\/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>Service<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>CardAcquisition<\/strong><\/span>.<\/p>\n<table>\n<thead>\n<tr>\n<th>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><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><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>Service<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><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>CardAcquisition<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><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><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><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 POS system component to send this request from.<\/td>\n<\/tr>\n<tr>\n<td><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<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/cardacquisition#request-SaleData\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CardAcquisitionRequest.SaleData<\/a> object with:<\/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>SaleTransactionID<\/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;\">An object with: <ul><li markdown=\"1\"><code>TransactionID<\/code>: Your reference to identify the transaction. We recommend using a unique value.<\/li> <li markdown=\"1\"><code>TimeStamp<\/code>: The date and time of the request in <a href=\"https:\/\/en.wikipedia.org\/wiki\/ISO_8601#Coordinated_Universal_Time_(UTC)\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">UTC format<\/a>.<\/li><\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>SaleToPOIData<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">The Base64-encoded <code>Operation<\/code> JSON object.<\/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\/cardacquisition#request-CardAcquisitionTransaction\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CardAcquisitionRequest.CardAcquisitionTransaction<\/a> object with:<\/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>TotalAmount<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\">The transaction amount. You can omit the <code>TotalAmount<\/code> field when getting the <code>UID<\/code> of the NFC tag. <div class=\"sc-notice note\"><div> If you omit <code>TotalAmount<\/code>, you still have to include an empty <code>CardAcquisitionTransaction<\/code> field in the request.<\/div><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>The following example shows a card acquisition request to identify the NFC tag.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Request to identify the NFC tag'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"CardAcquisition\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"1020711110\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"CardAcquisitionRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"02072\\\",\\n                    \\\"TimeStamp\\\":\\\"2020-01-07T14:14:04+00:00\\\"\\n                },\\n                \\\"SaleToPOIData\\\":\\\"ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkVUlEIgogICAgICAgIH0KICAgIF0KfQ==\\\"\\n            },\\n            \\\"CardAcquisitionTransaction\\\":{\\n            }\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>In the <code>AdditionalResponse<\/code> of the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/cardacquisition#responses-200-Response\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">CardAcquisitionResponse<\/a> note:<\/p>\n<ul>\n<li><code>NFC.uid<\/code>: The unique identifier of the NFC tag.<\/li>\n<li><code>NFC.variant<\/code>: The type of the NFC tag, for example <span translate=\"no\"><strong>mf_classic<\/strong><\/span> for MIFARE Classic.<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response identifying the NFC tag'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\":{\\n        \\\"CardAcquisitionResponse\\\":{\\n            \\\"POIData\\\":{\\n                \\\"POIReconciliationID\\\": \\\"1000\\\",\\n                \\\"POITransactionID\\\":{\\n                    \\\"TimeStamp\\\": \\\"2022-10-10T12:50:31.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"CglQ001665406231000\\\"\\n                }\\n            },\\n            \\\"PaymentInstrumentData\\\":{\\n                \\\"CardData\\\": {},\\n                \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n            },\\n            \\\"Response\\\":{\\n                \\\"AdditionalResponse\\\": \\\"...NFC.uid=96924E37...NFC.variant=mf_classic...\\\",\\n                \\\"Result\\\": \\\"Success\\\"\\n            },\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TimeStamp\\\": \\\"2022-10-03T10:56:42.198Z\\\",\\n                    \\\"TransactionID\\\": \\\"729\\\"\\n                }\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>After you have identified the NFC tag, the loading screen continues to show until you send an enable service request (see the next step).<\/p>\n<\/li>\n<li>\n<p>To stop the loading screen, make an enable service request, specifying:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/pt\/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>Service<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>EnableService<\/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>Service<\/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>EnableService<\/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 POS system component to 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<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/enableservice\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">EnableServiceRequest<\/a> object with:<\/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>TransactionAction<\/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>AbortTransaction<\/strong><\/span>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>DisplayOutput<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\"><a href=\"\/pt\/point-of-sale\/card-acquisition#alternative\">Optional object<\/a> to show your own message and an 'Approved' icon (green check mark) or a 'Declined' icon (red cross). <div class=\"sc-notice info\"><div>If you omit <code>DisplayOutput<\/code>, the terminal shows <em>Canceled<\/em>, a red cross <strong><img alt=\"\" src=\"\/images\/6\/2\/0\/e\/0\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\" \/><\/strong>, and <em>Transaction canceled<\/em>. Omit if you have an NFC configuration that <a href=\"#hide\">hides the Adyen UI<\/a> while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.<\/div><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>The following example is the basic request, without the <code>DisplayOutput<\/code> object, to stop the card acquisition flow.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Basic request to stop the card acquisition'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"SaleToPOIRequest\\\":{\\n      \\\"MessageHeader\\\":{\\n         \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n         \\\"MessageClass\\\":\\\"Service\\\",\\n         \\\"MessageCategory\\\":\\\"EnableService\\\",\\n         \\\"MessageType\\\":\\\"Request\\\",\\n         \\\"ServiceID\\\":\\\"3020711110\\\",\\n         \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n         \\\"POIID\\\":\\\"V400m-346403161\\\"\\n      },\\n      \\\"EnableServiceRequest\\\":{\\n         \\\"TransactionAction\\\":\\\"AbortTransaction\\\"\\n      }\\n   }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"read-nfc\">Read data<\/h2>\n<p>NFC tags have multiple parts that can store data. Because the data structure is different for every NFC tag type, the request needs to specify where to read the data from. For some tags, you need to include the key to read data from a <code>sector<\/code>, <code>aid<\/code>, or<code>page<\/code>.<br \/>\nSelect a tab to see the parameters that you need to specify to read data from MIFARE Classic, MIFARE DESFire, or MIFARE Ultralight.<\/p>\n\n<div id=\"tabF4yvx\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;MIFARE Classic - read&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object specifying:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Type&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;NFCRead&lt;\\\/strong&gt;&lt;\\\/span&gt;: Reads data from the specified sector.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareClassic&lt;\\\/strong&gt;&lt;\\\/span&gt;: The type of NFC tag.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt; If you leave the &lt;code&gt;NFCData&lt;\\\/code&gt; array empty, the terminal will try to read all sectors.&lt;\\\/div&gt;&lt;\\\/div&gt; An array with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;sector&lt;\\\/code&gt;: Specifies what sector on &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareClassic&lt;\\\/strong&gt;&lt;\\\/span&gt; to read from.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyType&lt;\\\/code&gt;: Specifies what key is used to access a sector, &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;a&lt;\\\/strong&gt;&lt;\\\/span&gt; (default) or &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;b&lt;\\\/strong&gt;&lt;\\\/span&gt;. &lt;div class=\\&quot;sc-notice warning\\&quot;&gt;&lt;div&gt;On &lt;a href=\\&quot;#supported-products\\&quot;&gt;Castles Android terminals&lt;\\\/a&gt; you cannot use &lt;code&gt;keyType&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;b&lt;\\\/strong&gt;&lt;\\\/span&gt; due to a limitation from Castles.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyId&lt;\\\/code&gt;: Specifies what unique key for the specified &lt;code&gt;keyType&lt;\\\/code&gt; to use to access a sector. Can be any positive numerical value.&lt;\\\/li&gt; &lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for read data request - MIFARE Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n     \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n         {\\\\n             \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCRead\\\\\\&quot;,\\\\n             \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareClassic\\\\\\&quot;,\\\\n             \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                 {\\\\n                     \\\\\\&quot;sector\\\\\\&quot;:1,\\\\n                     \\\\\\&quot;keyType\\\\\\&quot;:\\\\\\&quot;a\\\\\\&quot;,\\\\n                     \\\\\\&quot;keyId\\\\\\&quot;:1\\\\n                 },\\\\n                 {\\\\n                     \\\\\\&quot;sector\\\\\\&quot;:2,\\\\n                     \\\\\\&quot;keyType\\\\\\&quot;:\\\\\\&quot;b\\\\\\&quot;,\\\\n                     \\\\\\&quot;keyId\\\\\\&quot;: 2\\\\n                 }\\\\n             ]\\\\n         }\\\\n     ]\\\\n }\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAiT3BlcmF0aW9uIjpbCiAgICAgIHsKICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVDbGFzc2ljIiwKICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAic2VjdG9yIjoxLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImEiLAogICAgICAgICAgICAgICAia2V5SWQiOjEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAic2VjdG9yIjoyLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImIiLAogICAgICAgICAgICAgICAia2V5SWQiOjIKICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgIH0KICAgXQp9\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when reading the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to read data from sectors &lt;strong&gt;1&lt;\\\/strong&gt; and &lt;strong&gt;2&lt;\\\/strong&gt; on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareClassic&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data request - MIFARE Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;282\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ewogICAiT3BlcmF0aW9uIjpbCiAgICAgIHsKICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVDbGFzc2ljIiwKICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgewogICAgICAgICAgICAgICAic2VjdG9yIjoxLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImEiLAogICAgICAgICAgICAgICAia2V5SWQiOjEKICAgICAgICAgICAgfSwKICAgICAgICAgICAgewogICAgICAgICAgICAgICAic2VjdG9yIjoyLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImIiLAogICAgICAgICAgICAgICAia2V5SWQiOjIKICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgIH0KICAgXQp9\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: the data from the specified sectors.\\n&lt;ul&gt;\\n&lt;li&gt;For a single sector, the data shows as &lt;strong&gt;NFC.data=afafafafafafafafafa...&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;For multiple sectors, the data from each sector shows as value of the &lt;code&gt;NFC.data&lt;\\\/code&gt; for that sector, for example: &lt;strong&gt;NFC.data.S01=afafafafafafafafafa&lt;\\\/strong&gt;, &lt;strong&gt;NFC.data.S02=2222222222222222&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: the status of the read action for every &lt;code&gt;sector&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=s01.OKs02.OKS03.AUTH_ERROR&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: the unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: the type of the NFC tag, in this case MIFARE Classic.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data response - MIFARE Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;:{\\\\n        \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;:{\\\\n            \\\\\\&quot;POIData\\\\\\&quot;:{\\\\n                \\\\\\&quot;POIReconciliationID\\\\\\&quot;:\\\\\\&quot;1000\\\\\\&quot;,\\\\n                \\\\\\&quot;POITransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-17T11:35:04.000Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;CglQ001666006504012\\\\\\&quot;\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;:{\\\\n                \\\\\\&quot;CardData\\\\\\&quot;:{\\\\n                },\\\\n                \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;:\\\\\\&quot;Card\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;Response\\\\\\&quot;:{\\\\n                \\\\\\&quot;AdditionalResponse\\\\\\&quot;:\\\\\\&quot;tid=47353332&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;store=YourStore&amp;amp;iso8601TxDate=2022-10-17T11%3a35%3a04.733Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=13%3a35%3a04&amp;amp;NFC.data.S01=AFAFAFAFAFAFAFAF&amp;amp;NFC.uid=96924E37&amp;amp;txdate=17-10-2022&amp;amp;NFC.data.S02=2222222222222222&amp;amp;merchantReference=868&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;NFC.ref=mifareClassicCard&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.variant=mf_classic&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=S01.OKS02.OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                \\\\\\&quot;Result\\\\\\&quot;:\\\\\\&quot;Success\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;868\\\\\\&quot;\\\\n                }\\\\n            }\\\\n        },\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Response\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;,\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;40\\\\\\&quot;\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you have read the specified sectors on the NFC tag, the loading screen continues to show until you send an&lt;br \\\/&gt;\\nenable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you omit &lt;code&gt;DisplayOutput&lt;\\\/code&gt;, the terminal shows &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;. Omit if you have a NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without the &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-classic&quot;,&quot;oldTabId&quot;:&quot;mifare-classic-read_1&quot;,&quot;relation&quot;:&quot;mifare-classic&quot;},{&quot;title&quot;:&quot;MIFARE DESFire - read&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object specifying:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareDesfire&lt;\\\/strong&gt;&lt;\\\/span&gt;: the type of NFC tag.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An array with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;aid&lt;\\\/code&gt;: the application ID to read from.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyId&lt;\\\/code&gt;: the ID of the key used to access the specified &lt;code&gt;aid&lt;\\\/code&gt;.&lt;\\\/li&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileIds&lt;\\\/code&gt;: the files inside the &lt;code&gt;aid&lt;\\\/code&gt; to read.&lt;\\\/li&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileOffsets&lt;\\\/code&gt;: the byte in the specified file from which to start reading data.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileLengths&lt;\\\/code&gt;: the number of bytes to read, starting from the byte specified in &lt;code&gt;fileOffset&lt;\\\/code&gt;. To read all bytes in the file, set to &lt;strong&gt;0&lt;\\\/strong&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for read data request - MIFARE DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n     \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n         {\\\\n             \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCRead\\\\\\&quot;,\\\\n             \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareDesfire\\\\\\&quot;,\\\\n             \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                 {\\\\n                     \\\\\\&quot;aid\\\\\\&quot;:\\\\\\&quot;7f21f5\\\\\\&quot;,\\\\n                     \\\\\\&quot;keyId\\\\\\&quot;:1,\\\\n                     \\\\\\&quot;fileIds\\\\\\&quot;:[1],\\\\n                     \\\\\\&quot;fileOffsets\\\\\\&quot;:[0],\\\\n                     \\\\\\&quot;fileLengths\\\\\\&quot;:[0]\\\\n                 }\\\\n             ]\\\\n         }\\\\n    ]\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVEZXNmaXJlIiwKICAgICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYWlkIjoiN2YyMWY1IiwKICAgICAgICAgICAgICAgICAgICAia2V5SWQiOjEsCiAgICAgICAgICAgICAgICAgICAgImZpbGVJZHMiOlsxXSwKICAgICAgICAgICAgICAgICAgICAiZmlsZU9mZnNldHMiOlswXSwKICAgICAgICAgICAgICAgICAgICAiZmlsZUxlbmd0aHMiOlswXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgXQp9\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when reading the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to read data from &lt;code&gt;aid&lt;\\\/code&gt; &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;7f21f5&lt;\\\/strong&gt;&lt;\\\/span&gt; on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareDesfire&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data request - MIFARE DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;282\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;TokenRequestedType\\\\\\&quot;:\\\\\\&quot;Customer\\\\\\&quot;,\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVEZXNmaXJlIiwKICAgICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAiYWlkIjoiN2YyMWY1IiwKICAgICAgICAgICAgICAgICAgICAia2V5SWQiOjEsCiAgICAgICAgICAgICAgICAgICAgImZpbGVJZHMiOlsxXSwKICAgICAgICAgICAgICAgICAgICAiZmlsZU9mZnNldHMiOlswXSwKICAgICAgICAgICAgICAgICAgICAiZmlsZUxlbmd0aHMiOlswXQogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgXQp9\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: the data from the specified &lt;code&gt;aid&lt;\\\/code&gt;.\\n&lt;ul&gt;\\n&lt;li&gt;For a single &lt;code&gt;aid&lt;\\\/code&gt;, the data shows as &lt;strong&gt;NFC.data=00000000000000000000001234567890&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;For multiple &lt;code&gt;aid&lt;\\\/code&gt; fields and &lt;code&gt;fileIds&lt;\\\/code&gt;, the data from each &lt;code&gt;aid&lt;\\\/code&gt; shows as value of the &lt;code&gt;NFC.data&lt;\\\/code&gt; for that &lt;code&gt;aid&lt;\\\/code&gt; and &lt;code&gt;fileIds&lt;\\\/code&gt;: &lt;strong&gt;NFC.data.7f21f5.F01=00000000000000000000001234567890&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: the status of the read action for every &lt;code&gt;aid&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=7f21f5.OK&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: the unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: the type of the NFC tag, in this case MIFARE DESFire.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data response - MIFARE DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n     \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;:{\\\\n         \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;:{\\\\n             \\\\\\&quot;POIData\\\\\\&quot;:{\\\\n                 \\\\\\&quot;POIReconciliationID\\\\\\&quot;:\\\\\\&quot;1000\\\\\\&quot;,\\\\n                 \\\\\\&quot;POITransactionID\\\\\\&quot;:{\\\\n                     \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-18T12:50:17.000Z\\\\\\&quot;,\\\\n                     \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;CglQ001666097417005\\\\\\&quot;\\\\n                 }\\\\n             },\\\\n             \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;:{\\\\n                 \\\\\\&quot;CardData\\\\\\&quot;:{\\\\n                 },\\\\n                 \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;:\\\\\\&quot;Card\\\\\\&quot;\\\\n             },\\\\n             \\\\\\&quot;Response\\\\\\&quot;:{\\\\n                 \\\\\\&quot;AdditionalResponse\\\\\\&quot;:\\\\\\&quot;tid=47353332&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;store=YourStore&amp;amp;iso8601TxDate=2022-10-18T12%3a50%3a17.811Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=14%3a50%3a17&amp;amp;NFC.uid=04584882D96B80&amp;amp;txdate=18-10-2022&amp;amp;NFC.data=00000000000000000000001234567890&amp;amp;merchantReference=605&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;NFC.ref=desfireCard&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.variant=mf_desfire&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=7f21f5.OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                 \\\\\\&quot;Result\\\\\\&quot;:\\\\\\&quot;Success\\\\\\&quot;\\\\n             },\\\\n             \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                 \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                     \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                     \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;605\\\\\\&quot;\\\\n                 }\\\\n             }\\\\n         },\\\\n         \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n             \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n             \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n             \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Response\\\\\\&quot;,\\\\n             \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-347353332\\\\\\&quot;,\\\\n             \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n             \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n             \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;946\\\\\\&quot;\\\\n         }\\\\n     }\\\\n }\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you have read the specified &lt;code&gt;aid&lt;\\\/code&gt; on the NFC tag, the loading screen continues to show until you send an enable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you omit &lt;code&gt;DisplayOutput&lt;\\\/code&gt;, the terminal shows &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;. Omit if you have a NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without the &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-desfire&quot;,&quot;oldTabId&quot;:&quot;mifare-desfire-read_2&quot;,&quot;relation&quot;:&quot;mifare-desfire&quot;},{&quot;title&quot;:&quot;MIFARE Ultralight - read&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;MIFARE Ultralight is an NFC tag with lower security standards. The data is segmented into pages instead of sectors. With the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight C&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight AES&lt;\\\/strong&gt;&lt;\\\/span&gt; variants, pages can be locked with a key. For example: If pages are locked starting at page 16, then reading\\\/writing to pages 16 - 40 requires specifying a key, and pages 0 - 15 do not require a key.&lt;\\\/p&gt;\\n&lt;div class=\\&quot;notices yellow\\&quot;&gt;\\n&lt;p&gt;&lt;a href=\\&quot;#supported-products\\&quot;&gt;Engage terminals&lt;\\\/a&gt; can only read\\\/write to unlocked MIFARE Ultralight C pages.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object specifying:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Type&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;NFCRead&lt;\\\/strong&gt;&lt;\\\/span&gt;: reads data from the specified page.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The type of NFC tag used: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralight&lt;\\\/strong&gt;&lt;\\\/span&gt;, &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralightC&lt;\\\/strong&gt;&lt;\\\/span&gt;, or &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralightAES&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt; If you leave the &lt;code&gt;NFCData&lt;\\\/code&gt; array empty, the terminal will try to read all pages.&lt;\\\/div&gt;&lt;\\\/div&gt; An array with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;pageOffset&lt;\\\/code&gt;: the page from which to start reading data.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;numberOfPages&lt;\\\/code&gt;: the number of pages to read, starting from the page specified in &lt;code&gt;pageOffset&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightCKey&lt;\\\/code&gt;: required only for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight C&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. HEX-encoded key used to authenticate the card. If you do not provide a key, the default one is used: &lt;code&gt;49454D4B41455242214E4143554F5946&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightAESKey&lt;\\\/code&gt;: required only for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight AES&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. HEX-encoded key used to authenticate the card. If you do not provide a key, the default one is used: &lt;code&gt;00000000000000000000000000000000&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightAESKeyId&lt;\\\/code&gt;: optional for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight AES&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. The key that specifies what part of the card&#039;s memory to access. Possible values: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;strong&gt;0&lt;\\\/strong&gt;: (default) &lt;code&gt;DataProtKey&lt;\\\/code&gt; authenticates the card and accesses protected user memory and the &lt;code&gt;UID&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;strong&gt;1&lt;\\\/strong&gt;: &lt;code&gt;UIDRetrKey&lt;\\\/code&gt; authenticates the card and retrieves the &lt;code&gt;UID&lt;\\\/code&gt; and the &lt;code&gt;ECDSA&lt;\\\/code&gt; signature.&lt;\\\/li&gt;&lt;\\\/ul&gt; &lt;\\\/li&gt; &lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for read data request - MIFARE Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n        {\\\\n            \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCRead\\\\\\&quot;,\\\\n            \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareUltralight\\\\\\&quot;,\\\\n            \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                {\\\\n                    \\\\\\&quot;pageOffset\\\\\\&quot;:\\\\\\&quot;4\\\\\\&quot;,\\\\n                    \\\\\\&quot;numberOfPages\\\\\\&quot;:\\\\\\&quot;2\\\\\\&quot;\\\\n                }\\\\n            ]\\\\n        }\\\\n    ]\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVVbHRyYWxpZ2h0IiwKICAgICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAicGFnZU9mZnNldCI6IjQiLAogICAgICAgICAgICAgICAgICAgICJudW1iZXJPZlBhZ2VzIjoiMiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when reading the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to read data from two pages starting from page &lt;strong&gt;4&lt;\\\/strong&gt; on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralight&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data request - MIFARE Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;282\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;TokenRequestedType\\\\\\&quot;:\\\\\\&quot;Customer\\\\\\&quot;,\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNSZWFkIiwKICAgICAgICAgICAgIlZhcmlhbnQiOiJNaWZhcmVVbHRyYWxpZ2h0IiwKICAgICAgICAgICAgIk5GQ0RhdGEiOlsKICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAicGFnZU9mZnNldCI6IjQiLAogICAgICAgICAgICAgICAgICAgICJudW1iZXJPZlBhZ2VzIjoiMiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: the data from the specified page, such as &lt;strong&gt;NFC.data.P05=0F2AF6C4...&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: the status of the read action for every &lt;code&gt;page&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=P04.OK&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: the unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: the type of the NFC tag, in this case MIFARE Ultralight.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Read data response - MIFARE Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;: {\\\\n        \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;: {\\\\n            \\\\\\&quot;POIData\\\\\\&quot;: {\\\\n                \\\\\\&quot;POIReconciliationID\\\\\\&quot;: \\\\\\&quot;1000\\\\\\&quot;,\\\\n                \\\\\\&quot;POITransactionID\\\\\\&quot;: {\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2022-10-18T13:05:12.000Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;CglQ001666098312006\\\\\\&quot;\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;: {\\\\n                \\\\\\&quot;CardData\\\\\\&quot;: {},\\\\n                \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;: \\\\\\&quot;Card\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;Response\\\\\\&quot;: {\\\\n                \\\\\\&quot;AdditionalResponse\\\\\\&quot;: \\\\\\&quot;tid=47353332&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;store=YourStore&amp;amp;iso8601TxDate=2022-10-18T13%3a05%3a12.508Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=15%3a05%3a12&amp;amp;NFC.data.P04=140BE261&amp;amp;NFC.uid=04DDECD2FA7280&amp;amp;txdate=18-10-2022&amp;amp;NFC.data.P05=0F2AF6C4&amp;amp;merchantReference=847&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;NFC.ref=desfireCard&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.variant=mf_ultralight_ev1&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=P04.OKP05.OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                \\\\\\&quot;Result\\\\\\&quot;: \\\\\\&quot;Success\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;: {\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;: {\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;847\\\\\\&quot;\\\\n                }\\\\n            }\\\\n        },\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;: {\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;: \\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;: \\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;: \\\\\\&quot;Response\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;: \\\\\\&quot;V400m-347353332\\\\\\&quot;,\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;: \\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;: \\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;: \\\\\\&quot;676\\\\\\&quot;\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you have read the specified page on the NFC tag, the loading screen continues to show until you send an&lt;br \\\/&gt;\\nenable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you omit &lt;code&gt;DisplayOutput&lt;\\\/code&gt;, the terminal shows &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;. Omit if you have a NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without the &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-ultralight&quot;,&quot;oldTabId&quot;:&quot;mifare-ultralight-read_3&quot;,&quot;relation&quot;:&quot;mifare-ultralight&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"write-nfc\">Write data<\/h2>\n<p>NFC tags have multiple parts that can store data. Because the data structure is different for every NFC tag type, the request needs to specify the <code>sector<\/code>, <code>aid<\/code>, or <code>page<\/code> where to write the data to.<br \/>\nSelect a tab to see the parameters that you need to specify to write data to MIFARE Classic, MIFARE DESFire, or MIFARE Ultralight.<\/p>\n\n<div id=\"tabUouQp\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;MIFARE Classic - write&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object specifying:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Type&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;NFCWrite&lt;\\\/strong&gt;&lt;\\\/span&gt;: writes data to the specified sector.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareClassic&lt;\\\/strong&gt;&lt;\\\/span&gt;: specifies the type of NFC tag used.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you leave the &lt;code&gt;NFCData&lt;\\\/code&gt; array empty when trying to write, the response will return the &lt;code&gt;UID&lt;\\\/code&gt; and the &lt;code&gt;variant&lt;\\\/code&gt; but will not write to the card.&lt;\\\/div&gt;&lt;\\\/div&gt; An array specifying: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;sector&lt;\\\/code&gt;: specifies the sector to write to.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyType&lt;\\\/code&gt;: specifies what &lt;code&gt;key&lt;\\\/code&gt; is used to write to a sector, &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;a&lt;\\\/strong&gt;&lt;\\\/span&gt; (default) or &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;b&lt;\\\/strong&gt;&lt;\\\/span&gt;. &lt;div class=\\&quot;sc-notice warning\\&quot;&gt;&lt;div&gt;On &lt;a href=\\&quot;#supported-products\\&quot;&gt;Castles Android terminals&lt;\\\/a&gt; you cannot use &lt;code&gt;keyType&lt;\\\/code&gt;: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;b&lt;\\\/strong&gt;&lt;\\\/span&gt; due to a limitation from Castles.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyId&lt;\\\/code&gt;: specifies what unique key for the specified &lt;code&gt;keyType&lt;\\\/code&gt; to use to access a sector. Can be any positive numerical value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;data&lt;\\\/code&gt;: data to write in the specified sector.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;ExpectedUid&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-x-\\&quot; alt=\\&quot;-x-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/x.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Specifies the &lt;code&gt;UID&lt;\\\/code&gt; of the NFC tag to which you want to write the data. If the &lt;code&gt;UID&lt;\\\/code&gt; of the presented NFC tag is different from the &lt;code&gt;ExpectedUid&lt;\\\/code&gt;, the request fails and &lt;code&gt;WRONG_CARD&lt;\\\/code&gt; is returned in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt;. If passed without a value, the parameter is ignored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for write data request - Mifare Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n        {\\\\n            \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCWrite\\\\\\&quot;,\\\\n            \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareClassic\\\\\\&quot;,\\\\n            \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                {\\\\n                    \\\\\\&quot;sector\\\\\\&quot;:1,\\\\n                    \\\\\\&quot;data\\\\\\&quot;:\\\\\\&quot;afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf\\\\\\&quot;\\\\n                },\\\\n                {\\\\n                    \\\\\\&quot;sector\\\\\\&quot;:2,\\\\n                    \\\\\\&quot;data\\\\\\&quot;:\\\\\\&quot;afafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafafaf\\\\\\&quot;,\\\\n                    \\\\\\&quot;keyType\\\\\\&quot;:\\\\\\&quot;b\\\\\\&quot;,\\\\n                    \\\\\\&quot;keyId\\\\\\&quot;:1\\\\n                }\\\\n            ]\\\\n        }\\\\n    ]\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAiT3BlcmF0aW9uIjpbCiAgICAgIHsKICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlQ2xhc3NpYyIsCiAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgInNlY3RvciI6MSwKICAgICAgICAgICAgICAgImRhdGEiOiJhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgInNlY3RvciI6MiwKICAgICAgICAgICAgICAgImRhdGEiOiJhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWYiLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImIiLAogICAgICAgICAgICAgICAia2V5SWQiOjEKICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgIH0KICAgXQp9\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when writing to the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to write data to sectors &lt;strong&gt;1&lt;\\\/strong&gt; and &lt;strong&gt;2&lt;\\\/strong&gt; on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareClassic&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data request - MIFARE Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;283\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;TokenRequestedType\\\\\\&quot;:\\\\\\&quot;Customer\\\\\\&quot;,\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ewogICAiT3BlcmF0aW9uIjpbCiAgICAgIHsKICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlQ2xhc3NpYyIsCiAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgInNlY3RvciI6MSwKICAgICAgICAgICAgICAgImRhdGEiOiJhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWYiCiAgICAgICAgICAgIH0sCiAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgInNlY3RvciI6MiwKICAgICAgICAgICAgICAgImRhdGEiOiJhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWZhZmFmYWYiLAogICAgICAgICAgICAgICAia2V5VHlwZSI6ImIiLAogICAgICAgICAgICAgICAia2V5SWQiOjEKICAgICAgICAgICAgfQogICAgICAgICBdCiAgICAgIH0KICAgXQp9\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: the data written to the specified sectors.\\n&lt;ul&gt;\\n&lt;li&gt;For a single sector, the data shows as &lt;strong&gt;NFC.data=afafafafafafafafafa...&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;For multiple sectors, the data from each sector shows as value of the &lt;code&gt;NFC.data&lt;\\\/code&gt; for that sector, for example: &lt;strong&gt;NFC.data.S01=afafafafafafafafafa&lt;\\\/strong&gt;, &lt;strong&gt;NFC.data.S02=2222222222222222&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: the status of the write action for every &lt;code&gt;sector&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=s01.OKs02.OKS03.AUTH_ERROR&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: the unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: the type of the NFC tag, in this case MIFARE Classic.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data response - MIFARE Classic&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;:{\\\\n        \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;:{\\\\n            \\\\\\&quot;POIData\\\\\\&quot;:{\\\\n                \\\\\\&quot;POIReconciliationID\\\\\\&quot;:\\\\\\&quot;1000\\\\\\&quot;,\\\\n                \\\\\\&quot;POITransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-18T08:17:51.000Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;CglQ001666081071002\\\\\\&quot;\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;:{\\\\n                \\\\\\&quot;CardData\\\\\\&quot;:{\\\\n                },\\\\n                \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;:\\\\\\&quot;Card\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;Response\\\\\\&quot;:{\\\\n                \\\\\\&quot;AdditionalResponse\\\\\\&quot;:\\\\\\&quot;tid=47353332&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;store=YourStore&amp;amp;iso8601TxDate=2022-10-18T08%3a17%3a51.591Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=10%3a17%3a51&amp;amp;NFC.uid=96924E37&amp;amp;txdate=18-10-2022&amp;amp;merchantReference=889&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;NFC.ref=mifareClassicCard&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;NFC.data.1=AFAFAFAFAFAFAFAF&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.data.2=AFAFAFAFAFAFAFAF&amp;amp;NFC.variant=mf_classic&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=S01.OKS02.OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                \\\\\\&quot;Result\\\\\\&quot;:\\\\\\&quot;Success\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;889\\\\\\&quot;\\\\n                }\\\\n            }\\\\n        },\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Response\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;,\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;833\\\\\\&quot;\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you write to the specified sectors on the NFC tag, the loading screen continues to show until you send an&lt;br \\\/&gt;\\nenable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you omit &lt;code&gt;DisplayOutput&lt;\\\/code&gt;, the terminal shows &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;. Omit if you have a NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without the &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-classic&quot;,&quot;oldTabId&quot;:&quot;mifare-classic-write_1&quot;,&quot;relation&quot;:&quot;mifare-classic&quot;},{&quot;title&quot;:&quot;MIFARE DESFire - write&quot;,&quot;content&quot;:&quot;\\n&lt;div class=\\&quot;notices yellow\\&quot;&gt;\\n&lt;p&gt;Writing data to MIFARE DESFire is currently supported only on &lt;a href=\\&quot;#supported-products\\&quot;&gt;Android terminals&lt;\\\/a&gt;.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object and specify:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Type&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;NFCWrite&lt;\\\/strong&gt;&lt;\\\/span&gt;: writes data to the specified sector.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareDesfire&lt;\\\/strong&gt;&lt;\\\/span&gt;: the type of NFC tag.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you leave the &lt;code&gt;NFCData&lt;\\\/code&gt; array empty when trying to write, the response will return the &lt;code&gt;UID&lt;\\\/code&gt; and the &lt;code&gt;variant&lt;\\\/code&gt; but will not write to the card.&lt;\\\/div&gt;&lt;\\\/div&gt; An array with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;aid&lt;\\\/code&gt;: the application ID that contains the &lt;code&gt;fileIds&lt;\\\/code&gt; to write to.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;keyId&lt;\\\/code&gt;: the ID of the key used to access the specified &lt;code&gt;aid&lt;\\\/code&gt;.&lt;\\\/li&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileIds&lt;\\\/code&gt;: the files inside the &lt;code&gt;aid&lt;\\\/code&gt; to write to.&lt;\\\/li&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileOffsets&lt;\\\/code&gt;: the byte in the specified file from which to start writing data.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;fileLengths&lt;\\\/code&gt;: the number of bytes to write to, starting from the byte specified in &lt;code&gt;fileOffset&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;data&lt;\\\/code&gt;: data to write to the specified file.&lt;\\\/li&gt; &lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;ExpectedUid&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-x-\\&quot; alt=\\&quot;-x-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/x.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Specifies the &lt;code&gt;UID&lt;\\\/code&gt; of the NFC tag to which you want to write the data. If the &lt;code&gt;UID&lt;\\\/code&gt; of the presented NFC tag is different from the &lt;code&gt;ExpectedUid&lt;\\\/code&gt;, the request fails and &lt;code&gt;WRONG_CARD&lt;\\\/code&gt; is returned in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt;. If passed without a value, the parameter is ignored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for write data request - Mifare DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n        {\\\\n            \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCWrite\\\\\\&quot;,\\\\n            \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareDesfire\\\\\\&quot;,\\\\n            \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                {\\\\n                    \\\\\\&quot;aid\\\\\\&quot;:\\\\\\&quot;376632\\\\\\&quot;,\\\\n                    \\\\\\&quot;keyId\\\\\\&quot;:0,\\\\n                    \\\\\\&quot;fileIds\\\\\\&quot;:[0],\\\\n                    \\\\\\&quot;fileOffsets\\\\\\&quot;:[0],\\\\n                    \\\\\\&quot;fileLengths\\\\\\&quot;:[16],\\\\n                    \\\\\\&quot;data\\\\\\&quot;:\\\\\\&quot;0AA0000000000AA0\\\\\\&quot;\\\\n                },\\\\n                {\\\\n                    \\\\\\&quot;aid\\\\\\&quot;:\\\\\\&quot;376632\\\\\\&quot;,\\\\n                    \\\\\\&quot;keyId\\\\\\&quot;:0,\\\\n                    \\\\\\&quot;fileIds\\\\\\&quot;:[1],\\\\n                    \\\\\\&quot;fileOffsets\\\\\\&quot;:[0],\\\\n                    \\\\\\&quot;fileLengths\\\\\\&quot;:[16],\\\\n                    \\\\\\&quot;data\\\\\\&quot;:\\\\\\&quot;0AA0000000000AA1\\\\\\&quot;\\\\n                }\\\\n            ]\\\\n        }\\\\n    ]\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ICAgewogICAgICAgIk9wZXJhdGlvbiI6WwogICAgICAgICAgIHsKICAgICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlRGVzZmlyZSIsCiAgICAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgImFpZCI6IjM3NjYzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgImtleUlkIjowLAogICAgICAgICAgICAgICAgICAgICAgICJmaWxlSWRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVPZmZzZXRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVMZW5ndGhzIjpbMTZdLAogICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjoiMEFBMDAwMDAwMDAwMEFBMCIKICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgImFpZCI6IjM3NjYzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgImtleUlkIjowLAogICAgICAgICAgICAgICAgICAgICAgICJmaWxlSWRzIjpbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVPZmZzZXRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVMZW5ndGhzIjpbMTZdLAogICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjoiMEFBMDAwMDAwMDAwMEFBMSIKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgXQogICAgICAgICAgIH0KICAgICAgIF0KICAgfQ==\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when writing to the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to write data to &lt;code&gt;fileIds&lt;\\\/code&gt; &lt;strong&gt;0&lt;\\\/strong&gt; and &lt;strong&gt;1&lt;\\\/strong&gt; of &lt;code&gt;aid&lt;\\\/code&gt; &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;376632&lt;\\\/strong&gt;&lt;\\\/span&gt; on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareDesfire&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data request - MIFARE DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;283\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;TokenRequestedType\\\\\\&quot;:\\\\\\&quot;Customer\\\\\\&quot;,\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ICAgewogICAgICAgIk9wZXJhdGlvbiI6WwogICAgICAgICAgIHsKICAgICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlRGVzZmlyZSIsCiAgICAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgImFpZCI6IjM3NjYzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgImtleUlkIjowLAogICAgICAgICAgICAgICAgICAgICAgICJmaWxlSWRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVPZmZzZXRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVMZW5ndGhzIjpbMTZdLAogICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjoiMEFBMDAwMDAwMDAwMEFBMCIKICAgICAgICAgICAgICAgICAgIH0sCiAgICAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgICAgImFpZCI6IjM3NjYzMiIsCiAgICAgICAgICAgICAgICAgICAgICAgImtleUlkIjowLAogICAgICAgICAgICAgICAgICAgICAgICJmaWxlSWRzIjpbMV0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVPZmZzZXRzIjpbMF0sCiAgICAgICAgICAgICAgICAgICAgICAgImZpbGVMZW5ndGhzIjpbMTZdLAogICAgICAgICAgICAgICAgICAgICAgICJkYXRhIjoiMEFBMDAwMDAwMDAwMEFBMSIKICAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgXQogICAgICAgICAgIH0KICAgICAgIF0KICAgfQ==\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: the data from the specified &lt;code&gt;aid&lt;\\\/code&gt;.\\n&lt;ul&gt;\\n&lt;li&gt;For a single &lt;code&gt;aid&lt;\\\/code&gt;, the data shows as &lt;strong&gt;NFC.data.376632.F0=0AA0000000000AA0&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;For multiple &lt;code&gt;aid&lt;\\\/code&gt; fields and &lt;code&gt;fileIds&lt;\\\/code&gt;, the data from each &lt;code&gt;aid&lt;\\\/code&gt; shows as value of the &lt;code&gt;NFC.data&lt;\\\/code&gt; for that &lt;code&gt;aid&lt;\\\/code&gt; and &lt;code&gt;fileIds&lt;\\\/code&gt;: &lt;strong&gt;NFC.data.376632.F0=0AA0000000000AA0&amp;amp;...&amp;amp;NFC.data.376632.F1=0AA0000000000AA1&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: the status of the write action for every &lt;code&gt;aid&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=376632.OK&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: the unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: the type of the NFC tag, in this case MIFARE DESFire.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data response - MIFARE DESFire&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;:{\\\\n        \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;:{\\\\n            \\\\\\&quot;POIData\\\\\\&quot;:{\\\\n                \\\\\\&quot;POIReconciliationID\\\\\\&quot;:\\\\\\&quot;1000\\\\\\&quot;,\\\\n                \\\\\\&quot;POITransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-18T08:17:51.000Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;i495001668683154001\\\\\\&quot;\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;:{\\\\n                \\\\\\&quot;CardData\\\\\\&quot;:{\\\\n                },\\\\n                \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;:\\\\\\&quot;Card\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;Response\\\\\\&quot;:{\\\\n                \\\\\\&quot;AdditionalResponse\\\\\\&quot;:\\\\\\&quot;tid=10502371&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;NFC.data.376632.F0=0AA0000000000AA0&amp;amp;store=BookStore&amp;amp;NFC.data.376632.F1=0AA0000000000AA1&amp;amp;iso8601TxDate=2022-11-17T11%3a05%3a54.879Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=12%3a05%3a54&amp;amp;NFC.uid=041842F2325780&amp;amp;txdate=17-11-2022&amp;amp;merchantReference=1&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.variant=mf_desfire&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=376632.OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                \\\\\\&quot;Result\\\\\\&quot;:\\\\\\&quot;Success\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;889\\\\\\&quot;\\\\n                }\\\\n            }\\\\n        },\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Response\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;S1EL-000150183300032\\\\\\&quot;,\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;833\\\\\\&quot;\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you write to the specified sectors on the NFC tag, the loading screen continues to show until you send an&lt;br \\\/&gt;\\nenable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you omit &lt;code&gt;DisplayOutput&lt;\\\/code&gt;, the terminal shows &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;. Omit if you have a NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without the &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-desfire&quot;,&quot;oldTabId&quot;:&quot;mifare-desfire-write_2&quot;,&quot;relation&quot;:&quot;mifare-desfire&quot;},{&quot;title&quot;:&quot;MIFARE Ultralight - write&quot;,&quot;content&quot;:&quot;\\n&lt;p&gt;MIFARE Ultralight is an NFC tag with lower security standards so it does not have sectors and keys. The data is instead segmented into pages, and you do not need to specify keys to write.&lt;\\\/p&gt;\\n&lt;div class=\\&quot;notices yellow\\&quot;&gt;\\n&lt;p&gt;&lt;a href=\\&quot;#supported-products\\&quot;&gt;Engage terminals&lt;\\\/a&gt; can only read\\\/write to unlocked MIFARE Ultralight C pages.&lt;\\\/p&gt;\\n&lt;\\\/div&gt;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create an &lt;code&gt;Operation&lt;\\\/code&gt; JSON object and specify:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Type&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;NFCWrite&lt;\\\/strong&gt;&lt;\\\/span&gt;: writes data to the specified page.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;Variant&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The type of NFC tag used: &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralight&lt;\\\/strong&gt;&lt;\\\/span&gt;, &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralightC&lt;\\\/strong&gt;&lt;\\\/span&gt;, or &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralightAES&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;NFCData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt;If you leave the &lt;code&gt;NFCData&lt;\\\/code&gt; array empty when trying to write, the response will return the &lt;code&gt;UID&lt;\\\/code&gt; and the &lt;code&gt;variant&lt;\\\/code&gt; but will not write to the card.&lt;\\\/div&gt;&lt;\\\/div&gt; An array with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;pageOffset&lt;\\\/code&gt;: specifies what page to write data to on &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MIFARE Ultralight&lt;\\\/strong&gt;&lt;\\\/span&gt; or &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MIFARE Ultralight C&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;data&lt;\\\/code&gt;: data to write to the specified page.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightCKey&lt;\\\/code&gt;: required only for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight C&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. HEX-encoded key used to authenticate the card. If you do not provide a key, the default one is used: &lt;code&gt;49454D4B41455242214E4143554F5946&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightAESKey&lt;\\\/code&gt;: required only for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight AES&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. HEX-encoded key used to authenticate the card. If you do not provide a key, the default one is used: &lt;code&gt;00000000000000000000000000000000&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;ultralightAESKeyId&lt;\\\/code&gt;: optional for the &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Ultralight AES&lt;\\\/strong&gt;&lt;\\\/span&gt; variant. The key that specifies what part of the card&#039;s memory to access. Possible values: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;strong&gt;0&lt;\\\/strong&gt;: (default) &lt;code&gt;DataProtKey&lt;\\\/code&gt; authenticates the card and accesses protected user memory and the &lt;code&gt;UID&lt;\\\/code&gt;.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;strong&gt;1&lt;\\\/strong&gt;: &lt;code&gt;UIDRetrKey&lt;\\\/code&gt; authenticates the card and retrieves the &lt;code&gt;UID&lt;\\\/code&gt; and the &lt;code&gt;ECDSA&lt;\\\/code&gt; signature.&lt;\\\/li&gt;&lt;\\\/ul&gt; &lt;\\\/li&gt; &lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;ExpectedUid&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-x-\\&quot; alt=\\&quot;-x-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/x.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;Specifies the &lt;code&gt;UID&lt;\\\/code&gt; of the NFC tag to which you want to write the data. If the &lt;code&gt;UID&lt;\\\/code&gt; of the presented NFC tag is different from the &lt;code&gt;ExpectedUid&lt;\\\/code&gt;, the request fails and &lt;code&gt;WRONG_CARD&lt;\\\/code&gt; is returned in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt;. If passed without a value, the parameter is ignored.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Structure of Operation object for write data request - Mifare Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n     \\\\\\&quot;Operation\\\\\\&quot;:[\\\\n         {\\\\n             \\\\\\&quot;Type\\\\\\&quot;:\\\\\\&quot;NFCWrite\\\\\\&quot;,\\\\n             \\\\\\&quot;Variant\\\\\\&quot;:\\\\\\&quot;MifareUltralight\\\\\\&quot;,\\\\n             \\\\\\&quot;NFCData\\\\\\&quot;:[\\\\n                 {\\\\n                     \\\\\\&quot;pageOffset\\\\\\&quot;:4,\\\\n                     \\\\\\&quot;data\\\\\\&quot;:\\\\\\&quot;BFBFBFBF\\\\\\&quot;\\\\n                 }\\\\n             ]\\\\n         }\\\\n     ]\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;Encode the &lt;code&gt;Operation&lt;\\\/code&gt; JSON object to Base64. You will pass the resulting string in &lt;code&gt;SaleData.SaleToPOIData&lt;\\\/code&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Converted to a Base64-encoded string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlVWx0cmFsaWdodCIsCiAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInBhZ2VPZmZzZXQiOjQsCiAgICAgICAgICAgICAgICAgICAgImRhdGEiOiJCRkJGQkZCRiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition\\&quot;&gt;Make a card acquisition request&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;CardAcquisition&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-SaleData\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.SaleData&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleTransactionID&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;An object with: &lt;ul&gt;&lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TransactionID&lt;\\\/code&gt;: your reference to identify the transaction. We recommend using a unique value.&lt;\\\/li&gt; &lt;li markdown=\\&quot;1\\&quot;&gt;&lt;code&gt;TimeStamp&lt;\\\/code&gt;: date and time of the request in &lt;a href=\\&quot;https:\\\/\\\/en.wikipedia.org\\\/wiki\\\/ISO_8601#Coordinated_Universal_Time_(UTC)\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot; class=\\&quot;external-link no-image\\&quot;&gt;UTC format&lt;\\\/a&gt;.&lt;\\\/li&gt;&lt;\\\/ul&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;SaleToPOIData&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The Base64-encoded &lt;code&gt;Operation&lt;\\\/code&gt; JSON object.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;The  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#request-CardAcquisitionTransaction\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionRequest.CardAcquisitionTransaction&lt;\\\/a&gt; object with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TotalAmount&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;The transaction amount. You can omit the &lt;code&gt;TotalAmount&lt;\\\/code&gt; field when writing to the NFC tag. &lt;div class=\\&quot;sc-notice note\\&quot;&gt;&lt;div&gt; If you omit &lt;code&gt;TotalAmount&lt;\\\/code&gt;, you still have to include an empty &lt;code&gt;CardAcquisitionTransaction&lt;\\\/code&gt; field in the request.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example shows a card acquisition request to write data to page 4 on a &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;MifareUltralight&lt;\\\/strong&gt;&lt;\\\/span&gt; NFC tag:&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data request - MIFARE Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;283\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n        },\\\\n        \\\\\\&quot;CardAcquisitionRequest\\\\\\&quot;:{\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;:{\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;:{\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;:\\\\\\&quot;369\\\\\\&quot;,\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;:\\\\\\&quot;2021-03-05T12:22:57.449Z\\\\\\&quot;\\\\n                },\\\\n                \\\\\\&quot;TokenRequestedType\\\\\\&quot;:\\\\\\&quot;Customer\\\\\\&quot;,\\\\n                \\\\\\&quot;SaleToPOIData\\\\\\&quot;:\\\\\\&quot;ewogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlVWx0cmFsaWdodCIsCiAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInBhZ2VPZmZzZXQiOjQsCiAgICAgICAgICAgICAgICAgICAgImRhdGEiOiJCRkJGQkZCRiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;CardAcquisitionTransaction\\\\\\&quot;:{\\\\n            }\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;When the card acquisition succeeds, in the &lt;code&gt;AdditionalResponse&lt;\\\/code&gt; of the  &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/cardacquisition#responses-200-Response\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;CardAcquisitionResponse&lt;\\\/a&gt; note:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;&lt;code&gt;NFC.data&lt;\\\/code&gt;: The data from the specified page, such as &lt;strong&gt;NFC.data.P05=0F2AF6C4...&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.status&lt;\\\/code&gt;: The status of the write action for every &lt;code&gt;page&lt;\\\/code&gt;, for example &lt;strong&gt;NFC.status=P04.OK&lt;\\\/strong&gt;.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.uid&lt;\\\/code&gt;: The unique identifier of the NFC tag.&lt;\\\/li&gt;\\n&lt;li&gt;&lt;code&gt;NFC.variant&lt;\\\/code&gt;: The type of the NFC tag, in this case MIFARE Ultralight.&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Write data response - MIFARE Ultralight&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n    \\\\\\&quot;SaleToPOIResponse\\\\\\&quot;: {\\\\n        \\\\\\&quot;CardAcquisitionResponse\\\\\\&quot;: {\\\\n            \\\\\\&quot;POIData\\\\\\&quot;: {\\\\n                \\\\\\&quot;POIReconciliationID\\\\\\&quot;: \\\\\\&quot;1000\\\\\\&quot;,\\\\n                \\\\\\&quot;POITransactionID\\\\\\&quot;: {\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2022-10-18T13:22:07.000Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;CglQ001666099327010\\\\\\&quot;\\\\n                }\\\\n            },\\\\n            \\\\\\&quot;PaymentInstrumentData\\\\\\&quot;: {\\\\n                \\\\\\&quot;CardData\\\\\\&quot;: {},\\\\n                \\\\\\&quot;PaymentInstrumentType\\\\\\&quot;: \\\\\\&quot;Card\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;Response\\\\\\&quot;: {\\\\n                \\\\\\&quot;AdditionalResponse\\\\\\&quot;: \\\\\\&quot;tid=47353332&amp;amp;transactionType=GOODS_SERVICES&amp;amp;giftcardIndicator=false&amp;amp;posAmountGratuityValue=0&amp;amp;store=BookStore&amp;amp;iso8601TxDate=2022-10-18T13%3a22%3a07.324Z&amp;amp;posOriginalAmountValue=0&amp;amp;txtime=15%3a22%3a07&amp;amp;NFC.uid=04DDECD2FA7280&amp;amp;txdate=18-10-2022&amp;amp;merchantReference=247&amp;amp;posadditionalamounts.originalAmountCurrency=EUR&amp;amp;posAuthAmountCurrency=EUR&amp;amp;message=CARD_ACQ_COMPLETED&amp;amp;posAmountCashbackValue=0&amp;amp;NFC.data.P04=BFBFBFBF&amp;amp;NFC.variant=mf_ultralight_ev1&amp;amp;posEntryMode=CLESS_SWIPE&amp;amp;NFC.status=P04OK&amp;amp;posAuthAmountValue=0\\\\\\&quot;,\\\\n                \\\\\\&quot;Result\\\\\\&quot;: \\\\\\&quot;Success\\\\\\&quot;\\\\n            },\\\\n            \\\\\\&quot;SaleData\\\\\\&quot;: {\\\\n                \\\\\\&quot;SaleTransactionID\\\\\\&quot;: {\\\\n                    \\\\\\&quot;TimeStamp\\\\\\&quot;: \\\\\\&quot;2022-10-03T10:56:42.966Z\\\\\\&quot;,\\\\n                    \\\\\\&quot;TransactionID\\\\\\&quot;: \\\\\\&quot;247\\\\\\&quot;\\\\n                }\\\\n            }\\\\n        },\\\\n        \\\\\\&quot;MessageHeader\\\\\\&quot;: {\\\\n            \\\\\\&quot;MessageCategory\\\\\\&quot;: \\\\\\&quot;CardAcquisition\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageClass\\\\\\&quot;: \\\\\\&quot;Service\\\\\\&quot;,\\\\n            \\\\\\&quot;MessageType\\\\\\&quot;: \\\\\\&quot;Response\\\\\\&quot;,\\\\n            \\\\\\&quot;POIID\\\\\\&quot;: \\\\\\&quot;V400m-347353332\\\\\\&quot;,\\\\n            \\\\\\&quot;ProtocolVersion\\\\\\&quot;: \\\\\\&quot;3.0\\\\\\&quot;,\\\\n            \\\\\\&quot;SaleID\\\\\\&quot;: \\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n            \\\\\\&quot;ServiceID\\\\\\&quot;: \\\\\\&quot;236\\\\\\&quot;\\\\n        }\\\\n    }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;p&gt;After you write to the specified pages on the NFC tag, the loading screen continues to show until you send an&lt;br \\\/&gt;\\nenable service request (see the next step).&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt;To stop the loading screen, make an enable service request to a &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#endpoints\\&quot;&gt;Terminal API endpoint&lt;\\\/a&gt;, specifying:&lt;\\\/p&gt;\\n&lt;ul&gt;\\n&lt;li&gt;\\n&lt;p&gt;The standard &lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/design-your-integration\\\/terminal-api#request-message-header\\&quot;&gt;\\n  &lt;code&gt;SaleToPOIRequest.MessageHeader&lt;\\\/code&gt;\\n&lt;\\\/a&gt; object, with &lt;code&gt;MessageClass&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;Service&lt;\\\/strong&gt;&lt;\\\/span&gt; and &lt;code&gt;MessageCategory&lt;\\\/code&gt; set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;EnableService&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;\\\/li&gt;\\n&lt;li&gt;\\n&lt;p&gt; &lt;a href=\\&quot;https:\\\/\\\/docs.adyen.com\\\/api-explorer\\\/terminal-api\\\/latest\\\/post\\\/enableservice\\&quot; class=\\&quot;codeLabel  external-link no-image\\&quot; target=\\&quot;_blank\\&quot; rel=\\&quot;nofollow noopener noreferrer\\&quot;&gt;EnableServiceRequest&lt;\\\/a&gt; with:&lt;\\\/p&gt;\\n&lt;table&gt;\\n&lt;thead&gt;\\n&lt;tr&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Parameter&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: center;\\&quot;&gt;Required&lt;\\\/th&gt;\\n&lt;th style=\\&quot;text-align: left;\\&quot;&gt;Description&lt;\\\/th&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/thead&gt;\\n&lt;tbody&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;TransactionAction&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;img title=\\&quot;-white_check_mark-\\&quot; alt=\\&quot;-white_check_mark-\\&quot; class=\\&quot;smileys\\&quot; src=\\&quot;\\\/user\\\/data\\\/smileys\\\/emoji\\\/white_check_mark.png\\&quot; \\\/&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AbortTransaction&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;tr&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;code&gt;DisplayOutput&lt;\\\/code&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: center;\\&quot;&gt;&lt;\\\/td&gt;\\n&lt;td style=\\&quot;text-align: left;\\&quot;&gt;&lt;a href=\\&quot;\\\/pt\\\/point-of-sale\\\/card-acquisition#alternative\\&quot;&gt;Optional object&lt;\\\/a&gt; to show your own message and an &#039;Approved&#039; icon (green check mark) or a &#039;Declined&#039; icon (red cross). &lt;div class=\\&quot;sc-notice info\\&quot;&gt;&lt;div&gt; Omit if you have an NFC configuration that &lt;a href=\\&quot;#hide\\&quot;&gt;hides the Adyen UI&lt;\\\/a&gt; while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.&lt;\\\/div&gt;&lt;\\\/div&gt;&lt;\\\/td&gt;\\n&lt;\\\/tr&gt;\\n&lt;\\\/tbody&gt;\\n&lt;\\\/table&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ul&gt;\\n&lt;p&gt;The following example is the basic request, without &lt;code&gt;DisplayOutput&lt;\\\/code&gt; object, to stop the card acquisition flow. The terminal will show &lt;em&gt;Canceled&lt;\\\/em&gt;, a red cross &lt;strong&gt;&lt;img alt=\\&quot;\\&quot; src=\\&quot;\\\/images\\\/6\\\/2\\\/0\\\/e\\\/0\\\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\\&quot; \\\/&gt;&lt;\\\/strong&gt;, and &lt;em&gt;Transaction canceled&lt;\\\/em&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Basic request to cancel the card acquisition data&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;SaleToPOIRequest\\\\\\&quot;:{\\\\n      \\\\\\&quot;MessageHeader\\\\\\&quot;:{\\\\n         \\\\\\&quot;ProtocolVersion\\\\\\&quot;:\\\\\\&quot;3.0\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageClass\\\\\\&quot;:\\\\\\&quot;Service\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageCategory\\\\\\&quot;:\\\\\\&quot;EnableService\\\\\\&quot;,\\\\n         \\\\\\&quot;MessageType\\\\\\&quot;:\\\\\\&quot;Request\\\\\\&quot;,\\\\n         \\\\\\&quot;ServiceID\\\\\\&quot;:\\\\\\&quot;3020711110\\\\\\&quot;,\\\\n         \\\\\\&quot;SaleID\\\\\\&quot;:\\\\\\&quot;POSSystemID12345\\\\\\&quot;,\\\\n         \\\\\\&quot;POIID\\\\\\&quot;:\\\\\\&quot;V400m-346403161\\\\\\&quot;\\\\n      },\\\\n      \\\\\\&quot;EnableServiceRequest\\\\\\&quot;:{\\\\n         \\\\\\&quot;TransactionAction\\\\\\&quot;:\\\\\\&quot;AbortTransaction\\\\\\&quot;\\\\n      }\\\\n   }\\\\n}\\&quot;}]&#039; :enable-copy-link-to-code-block=\\&quot;true\\&quot; :code-sample-card-size=\\&quot;&#039;fullsize&#039;\\&quot;&gt;&lt;\\\/code-sample&gt;\\n&lt;\\\/div&gt;\\n&lt;\\\/li&gt;\\n&lt;\\\/ol&gt;\\n&quot;,&quot;altTitle&quot;:&quot;mifare-ultralight&quot;,&quot;oldTabId&quot;:&quot;mifare-ultralight-write_3&quot;,&quot;relation&quot;:&quot;mifare-ultralight&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<h2 id=\"create-session\">Create a session<\/h2>\n<p>If your use case requires multiple read\/write actions on an NFC tag, you can create a session to make multiple requests part of the same user interaction. While the session is in progress, the terminal shows the <em>One moment<\/em> loading screen.<\/p>\n<p>The flow consists of the following steps:<\/p>\n<ol>\n<li>\n<p>In the first card acquisition request to <a href=\"#identify-nfc\">identify<\/a>, <a href=\"#read-nfc\">read<\/a>, or <a href=\"#write-nfc\">write<\/a> NFC tags, you start the session by adding <code>Session.Type<\/code>: <span translate=\"no\"><strong>Begin<\/strong><\/span> in the <code>SaleToPOIData<\/code>.<\/p>\n<p>All requests that belong to the session must contain the same <code>Session.Id<\/code> in the <code>SaleToPOIData<\/code>.<\/p>\n<\/li>\n<li>\n<p>You then send more card acquisition requests for subsequent NFC tag operations.<\/p>\n<\/li>\n<li>\n<p>To finish the session:<\/p>\n<ul>\n<li>In the last NFC tag card acquisition request of the session, you add <code>Session.Type<\/code>: <span translate=\"no\"><strong>End<\/strong><\/span> in the <code>SaleToPOIData<\/code>.<\/li>\n<li>You send an enable service request to ensure the terminal stops showing the loading screen.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<p>Here is an example of a session that consists of three card acquisition requests, to:<\/p>\n<ul>\n<li><a href=\"#start-session\">Start a session and identify the NFC tag type<\/a><\/li>\n<li><a href=\"#session-id\">Continue the session with a Read data request<\/a><\/li>\n<li><a href=\"#end-session\">Finish the session with a Write data request<\/a>.<\/li>\n<\/ul>\n<h3 id=\"start-session\">1. Start a session and identify the NFC tag type<\/h3>\n<p>When starting the session, you need specify the <code>Id<\/code> to connect the requests into a single session. Here's example of how identify the tag and start the session:<\/p>\n<ol>\n<li>\n<p>Create a JSON object with:<\/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>Session.Type<\/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>Begin<\/strong><\/span>: starts the session.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Session.Id<\/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 reference of the session.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Session.Timeout<\/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;\"><ul> <li markdown=\"1\">How long the <em>One moment<\/em> screen is shown on the terminal display, in milliseconds.<\/li> <li markdown=\"1\">If there is no end session request, how long before the session data is deleted and new requests can be sent.<\/li> <\/ul><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.Type<\/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>NFCReadUID<\/strong><\/span>: returns the NFC tag identifier and type.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'JSON object'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"Session\\\": {\\n        \\\"Type\\\": \\\"Begin\\\",\\n        \\\"Id\\\": \\\"50\\\",\\n        \\\"TimeoutMs\\\": \\\"60000\\\"\\n    },\\n    \\\"Operation\\\":[\\n        {\\n            \\\"Type\\\":\\\"NFCReadUID\\\"\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Encode the JSON object to Base64. You will pass the resulting string in <code>SaleData.SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Converted to a Base64-encoded string'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiVHlwZSI6IkJlZ2luIiwKICAgICAgICAiSWQiOiI1MCIsCiAgICAgICAgIlRpbWVvdXRNcyI6IjYwMDAwIgogICAgfSwKICAgICJPcGVyYXRpb24iOlsKICAgICAgICB7CiAgICAgICAgICAgICJUeXBlIjoiTkZDUmVhZFVJRCIKICAgICAgICB9CiAgICBdCn0=\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p><a href=\"\/pt\/point-of-sale\/card-acquisition\">Make a card acquisition request<\/a> with the Base64-encoded string in the <code>SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Start a session and identify the NFC tag type'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"CardAcquisition\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"1020711110\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"CardAcquisitionRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"02072\\\",\\n                    \\\"TimeStamp\\\":\\\"2020-01-07T14:14:04+00:00\\\"\\n                },\\n                \\\"SaleToPOIData\\\":\\\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiVHlwZSI6IkJlZ2luIiwKICAgICAgICAiSWQiOiI1MCIsCiAgICAgICAgIlRpbWVvdXRNcyI6IjYwMDAwIgogICAgfSwKICAgICJPcGVyYXRpb24iOlsKICAgICAgICB7CiAgICAgICAgICAgICJUeXBlIjoiTkZDUmVhZFVJRCIKICAgICAgICB9CiAgICBdCn0=\\\"\\n            },\\n            \\\"CardAcquisitionTransaction\\\":{\\n\\n            }\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"session-id\">2. Send read data request with Session.Id<\/h3>\n<p>Make sure to include the <code>Session.Id<\/code> specified in the <code>SaleToPOIData<\/code> of the first request. Here's example of how to read data from MIFARE Classic as part of the session:<\/p>\n<ol>\n<li>\n<p>Create a JSON object with:<\/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>Session.Id<\/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 reference of the session, specified in the first request.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.Type<\/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>NFCRead<\/strong><\/span>: reads data from the specified sector.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.Variant<\/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>MifareClassic<\/strong><\/span>: the type of NFC tag.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.NFCData<\/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;\"><div class=\"sc-notice note\"><div> If you leave the <code>NFCData<\/code> array empty, the terminal will try to read all sectors.<\/div><\/div> An array with: <ul><li markdown=\"1\"><code>sector<\/code>: specifies what sector on <span translate=\"no\"><strong>MifareClassic<\/strong><\/span> to read from.<\/li> <li markdown=\"1\"><code>keyType<\/code>: specifies what key is used to access a sector, <span translate=\"no\"><strong>a<\/strong><\/span> (default) or <span translate=\"no\"><strong>b<\/strong><\/span>. <div class=\"sc-notice warning\"><div>On <a href=\"#supported-terminal\">Castles Android terminals<\/a>You cannot use <code>keyType<\/code>: <span translate=\"no\"><strong>b<\/strong><\/span> due to a limitation from Castles.<\/div><\/div><\/li> <\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'JSON object'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"Session\\\":{\\n        \\\"Id\\\":\\\"50\\\"\\n    },\\n    \\\"Operation\\\":[\\n        {\\n            \\\"Type\\\":\\\"NFCRead\\\",\\n            \\\"Variant\\\":\\\"MifareClassic\\\",\\n            \\\"NFCData\\\":[\\n                {\\n                    \\\"sector\\\":1,\\n                    \\\"keyType\\\":\\\"a\\\"\\n                }\\n            ]\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Encode the JSON object to Base64. You will pass the resulting string in <code>SaleData.SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Converted to a Base64-encoded string'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiSWQiOiI1MCIKICAgIH0sCiAgICAiT3BlcmF0aW9uIjpbCiAgICAgICAgewogICAgICAgICAgICAiVHlwZSI6Ik5GQ1JlYWQiLAogICAgICAgICAgICAiVmFyaWFudCI6Ik1pZmFyZUNsYXNzaWMiLAogICAgICAgICAgICAiTkZDRGF0YSI6WwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJzZWN0b3IiOjEsCiAgICAgICAgICAgICAgICAgICAgImtleVR5cGUiOiJhIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgXQp9\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p><a href=\"\/pt\/point-of-sale\/card-acquisition\">Make a card acquisition request<\/a> with the Base64-encoded string in the <code>SaleToPOIData<\/code>.<br \/>\nThe following example shows how to read data from <span translate=\"no\"><strong>MifareClassic<\/strong><\/span> NFC tag as part of the session:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Read data request with Sessions.Id'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"CardAcquisition\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"282\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"CardAcquisitionRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"369\\\",\\n                    \\\"TimeStamp\\\":\\\"2021-03-05T12:22:57.449Z\\\"\\n                },\\n                \\\"TokenRequestedType\\\":\\\"Customer\\\"\\n            },\\n            \\\"SaleToPOIData\\\":\\\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiSWQiOiI1MCIKICAgIH0sCiAgICAiT3BlcmF0aW9uIjpbCiAgICAgICAgewogICAgICAgICAgICAiVHlwZSI6Ik5GQ1JlYWQiLAogICAgICAgICAgICAiVmFyaWFudCI6Ik1pZmFyZUNsYXNzaWMiLAogICAgICAgICAgICAiTkZDRGF0YSI6WwogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgICJzZWN0b3IiOjEsCiAgICAgICAgICAgICAgICAgICAgImtleVR5cGUiOiJhIgogICAgICAgICAgICAgICAgfQogICAgICAgICAgICBdCiAgICAgICAgfQogICAgXQp9\\\",\\n            \\\"CardAcquisitionTransaction\\\":{\\n            }\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h3 id=\"end-session\">3. Write data to the NFC tag and end the session<\/h3>\n<p>In the final request of the interaction, make sure to include the same <code>Session.Id<\/code> and <code>Session.Type<\/code>: <span translate=\"no\"><strong>End<\/strong><\/span>. Here's example of how to write data to MIFARE Classic and end the session:<\/p>\n<ol>\n<li>\n<p>Create a JSON object with:<\/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>Session.Type<\/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>End<\/strong><\/span>: ends the session.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Session.Id<\/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 reference of the session.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.Type<\/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>NFCWrite<\/strong><\/span>: reads data from the specified sector.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.Variant<\/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>MifareClassic<\/strong><\/span>: the type of NFC tag.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>Operation.NFCData<\/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;\"><div class=\"sc-notice info\"><div>If you leave the <code>NFCData<\/code> array empty when trying to write, the response will return the <code>UID<\/code> and the <code>variant<\/code> but will not write to the card.<\/div><\/div> An array with: <ul><li markdown=\"1\"><code>sector<\/code>: specifies what sector on <span translate=\"no\"><strong>MifareClassic<\/strong><\/span> to read from.<\/li> <li markdown=\"1\"><code>keyType<\/code>: specifies what key is used to access a sector, <span translate=\"no\"><strong>a<\/strong><\/span> (default) or <span translate=\"no\"><strong>b<\/strong><\/span>. <div class=\"sc-notice warning\"><div>On <a href=\"#supported-products\">Castles Android terminals<\/a> you cannot use <code>keyType<\/code>: <span translate=\"no\"><strong>b<\/strong><\/span> due to a limitation from Castles.<\/div><\/div><\/li> <\/ul><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'JSON object'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"Session\\\":{\\n        \\\"Type\\\": \\\"End\\\",\\n        \\\"Id\\\":\\\"50\\\"\\n    },\\n    \\\"Operation\\\":[\\n        {\\n            \\\"Type\\\": \\\"NFCWrite\\\",\\n            \\\"Variant\\\": \\\"MifareClassic\\\",\\n            \\\"NFCData\\\":[\\n                {\\n                    \\\"sector\\\": 1,\\n                    \\\"data\\\":\\\"...\\\"\\n                }\\n            ]\\n        }\\n    ]\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Encode the JSON object to Base64. You will pass the resulting string in <code>SaleData.SaleToPOIData<\/code>.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Converted to a Base64-encoded string'\" :id=\"''\" :code-data='[{\"language\":\"raw\",\"tabTitle\":\"\",\"content\":\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiVHlwZSI6IkVuZCIsCiAgICAgICAgIklkIjoiNTAiCiAgICB9LAogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlQ2xhc3NpYyIsCiAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInNlY3RvciI6MSwKICAgICAgICAgICAgICAgICAgICAiZGF0YSI6Ii4uLiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p><a href=\"\/pt\/point-of-sale\/card-acquisition\">Make a card acquisition request<\/a> with the Base64-encoded string in the <code>SaleToPOIData<\/code>.<br \/>\nThe following example shows how to write data <span translate=\"no\"><strong>MifareClassic<\/strong><\/span> NFC tag and end the session:<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Write data to the NFC tag and end the session'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"CardAcquisition\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"ServiceID\\\":\\\"283\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"CardAcquisitionRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"369\\\",\\n                    \\\"TimeStamp\\\":\\\"2021-03-05T12:22:57.449Z\\\"\\n                },\\n                \\\"TokenRequestedType\\\":\\\"Customer\\\"\\n            },\\n            \\\"SaleToPOIData\\\":\\\"ewogICAgIlNlc3Npb24iOnsKICAgICAgICAiVHlwZSI6IkVuZCIsCiAgICAgICAgIklkIjoiNTAiCiAgICB9LAogICAgIk9wZXJhdGlvbiI6WwogICAgICAgIHsKICAgICAgICAgICAgIlR5cGUiOiJORkNXcml0ZSIsCiAgICAgICAgICAgICJWYXJpYW50IjoiTWlmYXJlQ2xhc3NpYyIsCiAgICAgICAgICAgICJORkNEYXRhIjpbCiAgICAgICAgICAgICAgICB7CiAgICAgICAgICAgICAgICAgICAgInNlY3RvciI6MSwKICAgICAgICAgICAgICAgICAgICAiZGF0YSI6Ii4uLiIKICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgXQogICAgICAgIH0KICAgIF0KfQ==\\\",\\n            \\\"CardAcquisitionTransaction\\\":{\\n            }\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>After you end the session, the loading screen continues to show until you send an enable service request (see the<br \/>\nnext step).<\/p>\n<\/li>\n<li>\n<p>To stop the loading screen, make an enable service request to a <a href=\"\/pt\/point-of-sale\/design-your-integration\/terminal-api#endpoints\">Terminal API endpoint<\/a>, specifying:<\/p>\n<ul>\n<li>\n<p>The standard <a href=\"\/pt\/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>Service<\/strong><\/span> and <code>MessageCategory<\/code> set to <span translate=\"no\"><strong>EnableService<\/strong><\/span>.<\/p>\n<\/li>\n<li>\n<p> <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/enableservice\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">EnableServiceRequest<\/a> with:<\/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>TransactionAction<\/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>AbortTransaction<\/strong><\/span>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>DisplayOutput<\/code><\/td>\n<td style=\"text-align: center;\"><\/td>\n<td style=\"text-align: left;\"><a href=\"\/pt\/point-of-sale\/card-acquisition#alternative\">Optional object<\/a> to show your own message and an 'Approved' icon (green check mark) or a 'Declined' icon (red cross). <div class=\"sc-notice info\"><div>If you omit <code>DisplayOutput<\/code>, the terminal shows <em>Canceled<\/em>, a red cross <strong><img alt=\"\" src=\"\/images\/6\/2\/0\/e\/0\/620e0c5c343676dd2b947bbdb1573f7eebc3caf7-cancel2x.png\" \/><\/strong>, and <em>Transaction canceled<\/em>. Omit if you have a NFC configuration that <a href=\"#hide\">hides the Adyen UI<\/a> to make sure the UI does not show.<\/div><\/div><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>The following example is the basic request, without the <code>DisplayOutput<\/code> object, to stop the card acquisition flow.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Basic request to cancel the card acquisition data'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"SaleToPOIRequest\\\":{\\n      \\\"MessageHeader\\\":{\\n         \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n         \\\"MessageClass\\\":\\\"Service\\\",\\n         \\\"MessageCategory\\\":\\\"EnableService\\\",\\n         \\\"MessageType\\\":\\\"Request\\\",\\n         \\\"ServiceID\\\":\\\"3020711110\\\",\\n         \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n         \\\"POIID\\\":\\\"V400m-346403161\\\"\\n      },\\n      \\\"EnableServiceRequest\\\":{\\n         \\\"TransactionAction\\\":\\\"AbortTransaction\\\"\\n      }\\n   }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ol>\n<h2 id=\"hide\">Hide the Adyen UI during NFC operations<\/h2>\n<p>Optionally, if you want to use a <a href=\"\/pt\/point-of-sale\/android-terminals\/app-requirements\/\">dedicated Android app<\/a> to process NFC operations for stored value cards or for identity cards, you can show your own UI on the terminal display instead of the Adyen UI. This can be useful, for example, for a loyalty card or transport card.<\/p>\n<p>If you want to use this feature, contact our <a href=\"https:\/\/ca-test.adyen.com\/ca\/ca\/contactUs\/support.shtml?form=other\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Support Team<\/a>.<\/p>\n<p>When this feature is enabled and you make a card acquisition request to <a href=\"#identify-nfc\">identify<\/a>, <a href=\"#read-nfc\">read<\/a>, or <a href=\"#write-nfc\">write<\/a> to an NFC tag:<\/p>\n<ul>\n<li>\n<p>If the payment terminal detects a stored value or identity card, the Adyen UI is hidden.<\/p>\n<\/li>\n<li>\n<p>If the terminal detects a regular payment card during any of the NFC card acquisition flows, the response returns a <span translate=\"no\"><strong>BLOCK_CARD<\/strong><\/span> error. This does not mean that the card itself is blocked, but that it cannot be used for operations with your Android app. We recommend that your system returns a message that instructs the terminal operator to ask the shopper to present a card or tag that can be used with your app.<\/p>\n<\/li>\n<\/ul>\n<p>The following code sample shows the response for a card acquisition request to identify the NFC tag, when the customer presented a regular payment card.<\/p>\n<div data-component-wrapper=\"code-sample\">\n    <code-sample :title=\"'Response: Regular payment card blocked for NFC Operations'\" :id=\"''\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\":{\\n        \\\"CardAcquisitionResponse\\\":{\\n            \\\"POIData\\\":{\\n                \\\"POIReconciliationID\\\": \\\"1000\\\",\\n                \\\"POITransactionID\\\":{\\n                    \\\"TimeStamp\\\": \\\"2022-10-10T12:50:31.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"CglQ001665406231000\\\"\\n                }\\n            },\\n            \\\"PaymentInstrumentData\\\":{\\n                \\\"CardData\\\": {},\\n                \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n            },\\n            \\\"Response\\\":{\\n                \\\"AdditionalResponse\\\": \\\"...refusalReason=199%20Card%20blocked&amp;message=BLOCK_CARD...\\\",\\n               \\\"ErrorCondition\\\": \\\"Refusal\\\",\\n               \\\"Result\\\": \\\"Failure\\\"\\n            },\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TimeStamp\\\": \\\"2022-10-03T10:56:42.198Z\\\",\\n                    \\\"TransactionID\\\": \\\"729\\\"\\n                }\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<p>Regular <a href=\"\/pt\/point-of-sale\/card-acquisition\">card acquisitions<\/a> are not affected by this feature and show the Adyen UI as expected.<\/p>\n<h2 id=\"supported-products\">Supported terminals and NFC tags<\/h2>\n<p>The following table shows the payment terminal models that support NFC tags.<\/p>\n<h3>Castles Android<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Models<\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Classic<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE DESFire<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight C<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight AES<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">AMS1<\/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: 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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">S1E<\/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: 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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">S1E2L<\/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: 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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">S1F2<\/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: 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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">S1U2<\/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: 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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Verifone Android<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Models<\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Classic<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE DESFire<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight C<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight AES<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">M450<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">P630<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: 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: center;\"><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Engage<\/h3>\n<div class=\"notices yellow\">\n<p>Engage terminals cannot authenticate MIFARE Ultralight C tags. This means that reading\/writing Ultralight C tags only works on unlocked pages.<\/p>\n<\/div>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Models<\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Classic<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE DESFire<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight C<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight AES<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">e285p<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">M400<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">P400 Plus<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">V240m Plus<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">V400c Plus<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">V400m<\/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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/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: 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: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">UX300<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\">UX410<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3>Datecs<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Models<\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Classic<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE DESFire<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight C<\/strong><\/th>\n<th style=\"text-align: center;\"><strong>MIFARE Ultralight AES<\/strong><\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\">SFO1<\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<td style=\"text-align: center;\"><img title=\"-x-\" alt=\"-x-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/x.png\" \/><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/card-acquisition\"\n                        target=\"_self\"\n                        >\n                    Card acquisition\n                <\/a><\/li><li><a href=\"\/point-of-sale\/android-terminals\/deploy-apps\"\n                        target=\"_self\"\n                        >\n                    Deploy apps to your terminals\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/nfc-tags","articleFields":{"description":"Read and write data on NFC tags using Adyen payment terminals.","type":"page","status":"current","feedback_component":true,"last_edit_on":"27-02-2023 14:43","page_id":"2855eb68-8175-4a29-ba22-2b448b54d1bb","filters_component":false,"decision_tree":"[]"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/nfc-tags","title":"NFC tags reading and writing","content":"Near Field Communication (NFC) tags can be cards, phones, bracelets, or similar. They can store data and are commonly used for contactless payments, loyalty programs, festival entrance, and more. By sending a Terminal API card acquisition request to your Adyen payment terminal, you can identify the type of NFC tag, or read and write data to it.\nIf you prefer to use a dedicated Android app for specific NFC operations, it is possible to hide the Adyen UI and keep your app's UI in the foreground. You can also create a session to perform multiple requests as a single user interaction.\nTo understand how you can use this, here are some examples:\n\nEnroll shoppers in a loyalty program.\nIdentify a customer when entering an area such as festival grounds or a parking garage.\nCheck the balance and top up NFC tags such as loyalty and transport cards, or festival tags used to pay for drinks.\nDefine multiple behaviours of the NFC tag. For example, use the tag to enter one event and reuse it to pay for drinks at a different event.\n\nRequirements\nBefore you begin, take into account the following requirements, limitations, and preparations.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nA Terminal API integration with payment terminals.\n\n\nHardware\nThe payment terminal model must support the NFC tags that you want to use.\n\n\nLimitations\nNote the following: Writing MIFARE DESFire and reading and writing MIFARE Ultralight is supported only on Android terminals. Engage terminals can only read\/write to MIFARE Ultralight C pages if the pages are unlocked. Hiding the Adyen UI for stored value cards and identity cards is only supported with terminal models S1E, S1E2L, S1F2, and S1U2 on software version 1.114 or later. See the supported NFC tag types and terminal models.\n\n\nSetup steps\nBefore you begin, provide our Support Team with the following information so that the team can create your NFC configuration: The type of NFC tag you want to use.If your NFC tags have cryptographic keys: the keys you want to use to access data.Whether you want to hide the Adyen UI and instead keep your own UI in the foreground if you use a dedicated Android app for NFC operations.\n\n\n\nHow it works\nTo use NFC tags on Adyen payment terminals:\n\nMake a card acquisition request to identify, read, or write to an NFC tag.\n\nFor more complex use cases that require multiple requests, see Create a session.\n\nThe terminal prompts the user to present their NFC tag or NFC-enabled card.\nThe user presents their NFC tag by tapping, inserting, or swiping.\nThe terminal makes one or multiple read\/write requests to the NFC tag.\nWhile this is going on, the terminal shows the One moment loading screen.\n\nIf you want to use a dedicated Android app to process NFC operations, it is possible to hide the Adyen UI and keep your app's UI in the foreground.\n\n\nIdentify the NFC tag type\nYou can use the card acquisition request to get the unique identifier and the type of the NFC tag. You can use this identifier, for example, to check if the NFC tag exists in your system or if it is still valid.\n\n\nCreate an Operation JSON object with Operation.Type: NFCReadUID:\n\n\n\n\n\nEncode the Operation JSON object to Base64. You will pass the resulting string in SaleData.SaleToPOIData.\n\n\n\n\n\nMake a card acquisition request, specifying:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Service and MessageCategory set to CardAcquisition.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nService\n\n\nMessageCategory\n\nCardAcquisition\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 POS system component to 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\nThe  CardAcquisitionRequest.SaleData object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSaleTransactionID\n\nAn object with: TransactionID: Your reference to identify the transaction. We recommend using a unique value. TimeStamp: The date and time of the request in UTC format.\n\n\nSaleToPOIData\n\nThe Base64-encoded Operation JSON object.\n\n\n\n\n\nThe  CardAcquisitionRequest.CardAcquisitionTransaction object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nTotalAmount\n\nThe transaction amount. You can omit the TotalAmount field when getting the UID of the NFC tag.  If you omit TotalAmount, you still have to include an empty CardAcquisitionTransaction field in the request.\n\n\n\n\n\nThe following example shows a card acquisition request to identify the NFC tag.\n\n\n\n\n\nIn the AdditionalResponse of the  CardAcquisitionResponse note:\n\nNFC.uid: The unique identifier of the NFC tag.\nNFC.variant: The type of the NFC tag, for example mf_classic for MIFARE Classic.\n\n\n\n\nAfter you have identified the NFC tag, the loading screen continues to show until you send an enable service request (see the next step).\n\n\nTo stop the loading screen, make an enable service request, specifying:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Service and MessageCategory set to EnableService.\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nProtocolVersion\n\n3.0\n\n\nMessageClass\n\nService\n\n\nMessageCategory\n\nEnableService\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 POS system component to 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\nThe  EnableServiceRequest object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nTransactionAction\n\nAbortTransaction.\n\n\nDisplayOutput\n\nOptional object to show your own message and an 'Approved' icon (green check mark) or a 'Declined' icon (red cross). If you omit DisplayOutput, the terminal shows Canceled, a red cross , and Transaction canceled. Omit if you have an NFC configuration that hides the Adyen UI while using a dedicated Android app for NFC operations. Otherwise the Adyen UI will be brought to the foreground.\n\n\n\n\n\nThe following example is the basic request, without the DisplayOutput object, to stop the card acquisition flow.\n\n\n\n\n\nRead data\nNFC tags have multiple parts that can store data. Because the data structure is different for every NFC tag type, the request needs to specify where to read the data from. For some tags, you need to include the key to read data from a sector, aid, orpage.\nSelect a tab to see the parameters that you need to specify to read data from MIFARE Classic, MIFARE DESFire, or MIFARE Ultralight.\n\n\n    \n        \n        \n    \n\n\nWrite data\nNFC tags have multiple parts that can store data. Because the data structure is different for every NFC tag type, the request needs to specify the sector, aid, or page where to write the data to.\nSelect a tab to see the parameters that you need to specify to write data to MIFARE Classic, MIFARE DESFire, or MIFARE Ultralight.\n\n\n    \n        \n        \n    \n\n\nCreate a session\nIf your use case requires multiple read\/write actions on an NFC tag, you can create a session to make multiple requests part of the same user interaction. While the session is in progress, the terminal shows the One moment loading screen.\nThe flow consists of the following steps:\n\n\nIn the first card acquisition request to identify, read, or write NFC tags, you start the session by adding Session.Type: Begin in the SaleToPOIData.\nAll requests that belong to the session must contain the same Session.Id in the SaleToPOIData.\n\n\nYou then send more card acquisition requests for subsequent NFC tag operations.\n\n\nTo finish the session:\n\nIn the last NFC tag card acquisition request of the session, you add Session.Type: End in the SaleToPOIData.\nYou send an enable service request to ensure the terminal stops showing the loading screen.\n\n\n\nHere is an example of a session that consists of three card acquisition requests, to:\n\nStart a session and identify the NFC tag type\nContinue the session with a Read data request\nFinish the session with a Write data request.\n\n1. Start a session and identify the NFC tag type\nWhen starting the session, you need specify the Id to connect the requests into a single session. Here's example of how identify the tag and start the session:\n\n\nCreate a JSON object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSession.Type\n\nBegin: starts the session.\n\n\nSession.Id\n\nYour unique reference of the session.\n\n\nSession.Timeout\n\n How long the One moment screen is shown on the terminal display, in milliseconds. If there is no end session request, how long before the session data is deleted and new requests can be sent. \n\n\nOperation.Type\n\nNFCReadUID: returns the NFC tag identifier and type.\n\n\n\n\n\n\n\n\nEncode the JSON object to Base64. You will pass the resulting string in SaleData.SaleToPOIData.\n\n\n\n\n\nMake a card acquisition request with the Base64-encoded string in the SaleToPOIData.\n\n\n\n\n\n2. Send read data request with Session.Id\nMake sure to include the Session.Id specified in the SaleToPOIData of the first request. Here's example of how to read data from MIFARE Classic as part of the session:\n\n\nCreate a JSON object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSession.Id\n\nYour unique reference of the session, specified in the first request.\n\n\nOperation.Type\n\nNFCRead: reads data from the specified sector.\n\n\nOperation.Variant\n\nMifareClassic: the type of NFC tag.\n\n\nOperation.NFCData\n\n If you leave the NFCData array empty, the terminal will try to read all sectors. An array with: sector: specifies what sector on MifareClassic to read from. keyType: specifies what key is used to access a sector, a (default) or b. On Castles Android terminalsYou cannot use keyType: b due to a limitation from Castles. \n\n\n\n\n\n\n\n\nEncode the JSON object to Base64. You will pass the resulting string in SaleData.SaleToPOIData.\n\n\n\n\n\nMake a card acquisition request with the Base64-encoded string in the SaleToPOIData.\nThe following example shows how to read data from MifareClassic NFC tag as part of the session:\n\n\n\n\n\n3. Write data to the NFC tag and end the session\nIn the final request of the interaction, make sure to include the same Session.Id and Session.Type: End. Here's example of how to write data to MIFARE Classic and end the session:\n\n\nCreate a JSON object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSession.Type\n\nEnd: ends the session.\n\n\nSession.Id\n\nYour unique reference of the session.\n\n\nOperation.Type\n\nNFCWrite: reads data from the specified sector.\n\n\nOperation.Variant\n\nMifareClassic: the type of NFC tag.\n\n\nOperation.NFCData\n\nIf you leave the NFCData array empty when trying to write, the response will return the UID and the variant but will not write to the card. An array with: sector: specifies what sector on MifareClassic to read from. keyType: specifies what key is used to access a sector, a (default) or b. On Castles Android terminals you cannot use keyType: b due to a limitation from Castles. \n\n\n\n\n\n\n\n\nEncode the JSON object to Base64. You will pass the resulting string in SaleData.SaleToPOIData.\n\n\n\n\n\nMake a card acquisition request with the Base64-encoded string in the SaleToPOIData.\nThe following example shows how to write data MifareClassic NFC tag and end the session:\n\n\n\nAfter you end the session, the loading screen continues to show until you send an enable service request (see the\nnext step).\n\n\nTo stop the loading screen, make an enable service request to a Terminal API endpoint, specifying:\n\n\nThe standard \n  SaleToPOIRequest.MessageHeader\n object, with MessageClass set to Service and MessageCategory set to EnableService.\n\n\n EnableServiceRequest with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nTransactionAction\n\nAbortTransaction.\n\n\nDisplayOutput\n\nOptional object to show your own message and an 'Approved' icon (green check mark) or a 'Declined' icon (red cross). If you omit DisplayOutput, the terminal shows Canceled, a red cross , and Transaction canceled. Omit if you have a NFC configuration that hides the Adyen UI to make sure the UI does not show.\n\n\n\n\n\nThe following example is the basic request, without the DisplayOutput object, to stop the card acquisition flow.\n\n\n\n\n\nHide the Adyen UI during NFC operations\nOptionally, if you want to use a dedicated Android app to process NFC operations for stored value cards or for identity cards, you can show your own UI on the terminal display instead of the Adyen UI. This can be useful, for example, for a loyalty card or transport card.\nIf you want to use this feature, contact our Support Team.\nWhen this feature is enabled and you make a card acquisition request to identify, read, or write to an NFC tag:\n\n\nIf the payment terminal detects a stored value or identity card, the Adyen UI is hidden.\n\n\nIf the terminal detects a regular payment card during any of the NFC card acquisition flows, the response returns a BLOCK_CARD error. This does not mean that the card itself is blocked, but that it cannot be used for operations with your Android app. We recommend that your system returns a message that instructs the terminal operator to ask the shopper to present a card or tag that can be used with your app.\n\n\nThe following code sample shows the response for a card acquisition request to identify the NFC tag, when the customer presented a regular payment card.\n\n    \n\nRegular card acquisitions are not affected by this feature and show the Adyen UI as expected.\nSupported terminals and NFC tags\nThe following table shows the payment terminal models that support NFC tags.\nCastles Android\n\n\n\nModels\nMIFARE Classic\nMIFARE DESFire\nMIFARE Ultralight\nMIFARE Ultralight C\nMIFARE Ultralight AES\n\n\n\n\nAMS1\n\n\n\n\n\n\n\nS1E\n\n\n\n\n\n\n\nS1E2L\n\n\n\n\n\n\n\nS1F2\n\n\n\n\n\n\n\nS1U2\n\n\n\n\n\n\n\n\nVerifone Android\n\n\n\nModels\nMIFARE Classic\nMIFARE DESFire\nMIFARE Ultralight\nMIFARE Ultralight C\nMIFARE Ultralight AES\n\n\n\n\nM450\n\n\n\n\n\n\n\nP630\n\n\n\n\n\n\n\n\nEngage\n\nEngage terminals cannot authenticate MIFARE Ultralight C tags. This means that reading\/writing Ultralight C tags only works on unlocked pages.\n\n\n\n\nModels\nMIFARE Classic\nMIFARE DESFire\nMIFARE Ultralight\nMIFARE Ultralight C\nMIFARE Ultralight AES\n\n\n\n\ne285p\n\n\n\n\n\n\n\nM400\n\n\n\n\n\n\n\nP400 Plus\n\n\n\n\n\n\n\nV240m Plus\n\n\n\n\n\n\n\nV400c Plus\n\n\n\n\n\n\n\nV400m\n\n\n\n\n\n\n\nUX300\n\n\n\n\n\n\n\nUX410\n\n\n\n\n\n\n\n\nDatecs\n\n\n\nModels\nMIFARE Classic\nMIFARE DESFire\nMIFARE Ultralight\nMIFARE Ultralight C\nMIFARE Ultralight AES\n\n\n\n\nSFO1\n\n\n\n\n\n\n\n\nSee also\n\n\n                    Card acquisition\n                \n                    Deploy apps to your terminals\n                \n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"NFC tags reading and writing"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"\/pt\/point-of-sale\/nfc-tags"},"levels":3,"category":"In-person payments","category_color":"green","tags":["reading","writing"]}}
