{"title":"Tipping","category":"default","creationDate":1676035020,"content":"<p>When a customer adds a tip (gratuity) to their payment, it is booked to your liable account by default. However, you can book the entire tip amount directly to your user's balance account by providing an additional split item in the payment request.<\/p>\n<p>You can book the tip to your user's balance account when you use one of the following tipping methods:<\/p>\n<ul>\n<li><a href=\"\/pt\/point-of-sale\/tipping\/tipping-from-cash-register\/\" target=\"_blank\">Tipping from the POS app<\/a><\/li>\n<li><a href=\"\/pt\/point-of-sale\/tipping\/tipping-from-terminal\/\" target=\"_blank\">Tipping from the terminal<\/a><\/li>\n<\/ul>\n<h2>Requirements<\/h2>\n<p>In addition to the <a href=\"\/pt\/platforms\/in-person-payments#requirements\">general requirements<\/a> for in-person payments with an Adyen for Platforms integration, take into account the following information.<\/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\/design-your-integration\/terminal-api\">Terminal API<\/a> integration with <a href=\"\/pt\/point-of-sale\/what-we-support\/select-your-terminals\">payment terminals<\/a> or with a <a href=\"\/pt\/point-of-sale\/ipp-mobile\">Mobile solution<\/a>. <div class=\"notices green\">The standalone solution does not support adding split instructions to individual payment authorization requests.<\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Limitations<\/strong><\/td>\n<td style=\"text-align: left;\">Booking the tip to your user's balance account is not supported with <a href=\"\/pt\/point-of-sale\/tipping\/tipping-on-receipt\">tipping on the receipt<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><strong>Setup steps<\/strong><\/td>\n<td style=\"text-align: left;\">Check the flow, the requirements, and the setup or configuration steps for your chosen tipping method: <a href=\"\/pt\/point-of-sale\/tipping\/tipping-from-cash-register\/\">tipping from the POS app<\/a> or <a href=\"\/pt\/point-of-sale\/tipping\/tipping-from-terminal\/\">tipping from the terminal<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>Tip from POS app and book to your user<\/h2>\n<p>To make payment request that adds a tip and split instructions for how to book the tip when you use tipping from the POS app:<\/p>\n<ol>\n<li>\n<p>When you <a href=\"\/pt\/platforms\/in-person-payments\/split-transactions\/split-payments-at-authorization#gather-data\">gather the split instructions for the payment<\/a>, add a split item for the tip:<\/p>\n<ul>\n<li>Increase the <code>split.nrOfItems<\/code> by one, to accommodate the tip split item you are adding.<\/li>\n<li>\n<p>In the split item for the tip, specify:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Key<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].type<\/code><\/td>\n<td style=\"text-align: left;\">The type of split. Set this to <strong>Tip<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].account<\/code><\/td>\n<td style=\"text-align: left;\">The account that will receive the tip. This is the <code>balanceAccountID<\/code> of one of your user's balance accounts.<br><div class=\"notices green\">You cannot split the tip between multiple balance accounts.<\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].reference<\/code><\/td>\n<td style=\"text-align: left;\">Your reference for the tip, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].description<\/code><\/td>\n<td style=\"text-align: left;\">Your description of the tip, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>Do not include the tip amount in the <code>split.totalAmount<\/code> field and do not add a <code>split.item[ITEM_NUMBER].amount<\/code> field for the tip.<\/p>\n<\/li>\n<li>\n<p>Format the split instructions in one of the following ways:<\/p>\n<ul>\n<li><strong>Option 1<\/strong>: as a string of form-encoded key-value pairs (using <strong>&amp;<\/strong> as a separator).<\/li>\n<li><strong>Option 2<\/strong>: as a JSON object converted to a Base64-encoded string.<\/li>\n<\/ul>\n<p>As an example, we use a payment of USD 630.00 that is split into:<\/p>\n<ul>\n<li>USD 600.00 to be paid to your user's first balance account as the sale amount.<\/li>\n<li>USD 20.00 to be paid to your liable account as your platform's commission.<\/li>\n<li>The payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.<\/li>\n<li>USD 10.00 to be paid to your user's second balance account as the tip.<\/li>\n<\/ul>\n<p>In this case, the <code>split.nrOfItems<\/code> is <strong>4<\/strong> and the <code>split.totalAmount<\/code> is <strong>62000<\/strong>, because the payment fee is not known yet, and the tip amount should not be added even if you do know it in advance.<\/p>\n\n<div id=\"tabKy9AV\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Key-value pairs&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Turn the split instructions you gathered into key-value pairs.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Split tip instructions as key-value pairs&#039;\\&quot; :id=\\&quot;&#039;split-data-pairs-2&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;split.api=1\\\\nsplit.nrOfItems=4\\\\nsplit.totalAmount=62000\\\\nsplit.currencyCode=USD\\\\nsplit.item1.amount=60000\\\\nsplit.item1.type=BalanceAccount\\\\nsplit.item1.account=BA00000000000000000000001\\\\nsplit.item1.reference=Your reference for the sale\\\\nsplit.item1.description=Your description for the sale\\\\nsplit.item2.amount=2000\\\\nsplit.item2.type=Commission\\\\nsplit.item2.reference=Your reference for your commission\\\\nsplit.item2.description=Your description for your commission\\\\nsplit.item3.type=PaymentFee\\\\nsplit.item3.account=BA00000000000000000000001\\\\nsplit.item3.reference=Your reference for the payment fee\\\\nsplit.item3.description=Your description for the payment fee\\\\nsplit.item4.type=Tip\\\\nsplit.item4.account=BA00000000000000000000002\\\\nsplit.item4.reference=Your reference for the tip\\\\nsplit.item4.description=Your description for the tip\\&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;Concatenate the key-value pairs into a string by separating them with ampersands (&lt;strong&gt;&amp;amp;&lt;\\\/strong&gt;).&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Concatenated key-value pairs&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;split.api=1&amp;amp;split.nrOfItems=4&amp;amp;split.totalAmount=62000&amp;amp;split.currencyCode=USD&amp;amp;split.item1.amount=60000&amp;amp;split.item1.type=BalanceAccount&amp;amp;split.item1.account=BA00000000000000000000001&amp;amp;split.item1.reference=Your reference for the sale&amp;amp;split.item1.description=Your description for the sale&amp;amp;split.item2.amount=2000&amp;amp;split.item2.type=Commission&amp;amp;split.item2.reference=Your reference for your commission&amp;amp;split.item2.description=Your description for your commission&amp;amp;split.item3.type=PaymentFee&amp;amp;split.item3.account=BA00000000000000000000001&amp;amp;split.item3.reference=Your reference for the payment fee&amp;amp;split.item3.description=Your description for the payment fee&amp;amp;split.item4.type=Tip&amp;amp;split.item4.account=BA00000000000000000000002&amp;amp;split.item4.reference=Your reference for the tip&amp;amp;split.item4.description=Your description for the tip\\&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;split-key-value-pairs&quot;,&quot;oldTabId&quot;:&quot;split-key-value-pairs_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Base64-encoded JSON&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create a JSON object consisting of an &lt;code&gt;additionalData&lt;\\\/code&gt; object containing the split instructions you gathered.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;JSON object&#039;\\&quot; :id=\\&quot;&#039;JSON-object_2&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;additionalData\\\\\\&quot;: {\\\\n       \\\\\\&quot;split.api\\\\\\&quot;: \\\\\\&quot;1\\\\\\&quot;,\\\\n       \\\\\\&quot;split.nrOfItems\\\\\\&quot;: \\\\\\&quot;4\\\\\\&quot;,\\\\n       \\\\\\&quot;split.totalAmount\\\\\\&quot;: \\\\\\&quot;62000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.currencyCode\\\\\\&quot;: \\\\\\&quot;USD\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.amount\\\\\\&quot;: \\\\\\&quot;60000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.type\\\\\\&quot;: \\\\\\&quot;BalanceAccount\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the sale\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.description\\\\\\&quot;: \\\\\\&quot;Your description for the sale\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.amount\\\\\\&quot;: \\\\\\&quot;2000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.type\\\\\\&quot;: \\\\\\&quot;Commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.reference\\\\\\&quot;: \\\\\\&quot;Your reference for your commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.description\\\\\\&quot;: \\\\\\&quot;Your description for your commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.type\\\\\\&quot;: \\\\\\&quot;PaymentFee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the payment fee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.description\\\\\\&quot;: \\\\\\&quot;Your description for the payment fee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.type\\\\\\&quot;: \\\\\\&quot;Tip\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000002\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the tip\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.description\\\\\\&quot;: \\\\\\&quot;Your description for the tip\\\\\\&quot;\\\\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 JSON object to Base64.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Base64 string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAiYWRkaXRpb25hbERhdGEiOiB7CiAgICAgICAic3BsaXQuYXBpIjogIjEiLAogICAgICAgInNwbGl0Lm5yT2ZJdGVtcyI6ICI0IiwKICAgICAgICJzcGxpdC50b3RhbEFtb3VudCI6ICI2MjAwMCIsCiAgICAgICAic3BsaXQuY3VycmVuY3lDb2RlIjogIlVTRCIsCiAgICAgICAic3BsaXQuaXRlbTEuYW1vdW50IjogIjYwMDAwIiwKICAgICAgICJzcGxpdC5pdGVtMS50eXBlIjogIkJhbGFuY2VBY2NvdW50IiwKICAgICAgICJzcGxpdC5pdGVtMS5hY2NvdW50IjogIkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiLAogICAgICAgInNwbGl0Lml0ZW0xLnJlZmVyZW5jZSI6ICJZb3VyIHJlZmVyZW5jZSBmb3IgdGhlIHNhbGUiLAogICAgICAgInNwbGl0Lml0ZW0xLmRlc2NyaXB0aW9uIjogIllvdXIgZGVzY3JpcHRpb24gZm9yIHRoZSBzYWxlIiwKICAgICAgICJzcGxpdC5pdGVtMi5hbW91bnQiOiAiMjAwMCIsCiAgICAgICAic3BsaXQuaXRlbTIudHlwZSI6ICJDb21taXNzaW9uIiwKICAgICAgICJzcGxpdC5pdGVtMi5yZWZlcmVuY2UiOiAiWW91ciByZWZlcmVuY2UgZm9yIHlvdXIgY29tbWlzc2lvbiIsCiAgICAgICAic3BsaXQuaXRlbTIuZGVzY3JpcHRpb24iOiAiWW91ciBkZXNjcmlwdGlvbiBmb3IgeW91ciBjb21taXNzaW9uIiwKICAgICAgICJzcGxpdC5pdGVtMy50eXBlIjogIlBheW1lbnRGZWUiLAogICAgICAgInNwbGl0Lml0ZW0zLmFjY291bnQiOiAiQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMSIsCiAgICAgICAic3BsaXQuaXRlbTMucmVmZXJlbmNlIjogIllvdXIgcmVmZXJlbmNlIGZvciB0aGUgcGF5bWVudCBmZWUiLAogICAgICAgInNwbGl0Lml0ZW0zLmRlc2NyaXB0aW9uIjogIllvdXIgZGVzY3JpcHRpb24gZm9yIHRoZSBwYXltZW50IGZlZSIsCiAgICAgICAic3BsaXQuaXRlbTQudHlwZSI6ICJUaXAiLAogICAgICAgInNwbGl0Lml0ZW00LmFjY291bnQiOiAiQkEwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMiIsCiAgICAgICAic3BsaXQuaXRlbTQucmVmZXJlbmNlIjogIllvdXIgcmVmZXJlbmNlIGZvciB0aGUgdGlwIiwKICAgICAgICJzcGxpdC5pdGVtNC5kZXNjcmlwdGlvbiI6ICJZb3VyIGRlc2NyaXB0aW9uIGZvciB0aGUgdGlwIgogICB9Cn0=\\&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;split-base64-format&quot;,&quot;oldTabId&quot;:&quot;split-base64-format_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p><a href=\"\/pt\/platforms\/in-person-payments\/split-transactions\/split-payments-at-authorization\">Make a Terminal API payment request<\/a>, including:<\/p>\n<ul>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentRequest<\/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>SaleData.SaleToAcquirerData<\/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 formatted string of split instructions for the payment.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>PaymentTransaction.AmountsReq.Currency<\/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 transaction <a href=\"\/pt\/development-resources\/currency-codes\">currency<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>PaymentTransaction.AmountsReq.RequestedAmount<\/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 transaction amount.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>PaymentTransaction.AmountsReq.TipAmount<\/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 tip amount.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Tipping from the POS app with split instructions as key-value pairs'\" :id=\"'pos-app-tip'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\": {\\n        \\\"MessageHeader\\\": {\\n            \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n            \\\"MessageClass\\\": \\\"Service\\\",\\n            \\\"MessageCategory\\\": \\\"Payment\\\",\\n            \\\"MessageType\\\": \\\"Request\\\",\\n            \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n            \\\"ServiceID\\\": \\\"0207111104\\\",\\n            \\\"POIID\\\": \\\"V400m-324688179\\\"\\n        },\\n        \\\"PaymentRequest\\\": {\\n            \\\"SaleData\\\": {\\n                \\\"SaleTransactionID\\\": {\\n                    \\\"TransactionID\\\": \\\"27908\\\",\\n                    \\\"TimeStamp\\\": \\\"2025-10-28T10:11:04+00:00\\\"\\n                },\\n                \\\"SaleToAcquirerData\\\": \\\"split.api=1&amp;split.nrOfItems=4&amp;split.totalAmount=62000&amp;split.currencyCode=USD&amp;split.item1.amount=60000&amp;split.item1.type=BalanceAccount&amp;split.item1.account=BA00000000000000000000001&amp;split.item1.reference=Your reference for the sale&amp;split.item1.description=Your description for the sale&amp;split.item2.amount=2000&amp;split.item2.type=Commission&amp;split.item2.reference=Your reference for your commission&amp;split.item2.description=Your description for your commission&amp;split.item3.type=PaymentFee&amp;split.item3.account=BA00000000000000000000001&amp;split.item3.reference=Your reference for the payment fee&amp;split.item3.description=Your description for the payment fee&amp;split.item4.type=Tip&amp;split.item4.account=BA00000000000000000000002&amp;split.item4.reference=Your reference for the tip&amp;split.item4.description=Your description for the tip\\\"\\n            },\\n            \\\"PaymentTransaction\\\": {\\n                \\\"AmountsReq\\\": {\\n                    \\\"Currency\\\": \\\"USD\\\",\\n                    \\\"RequestedAmount\\\": 620.00\\n                    \\\"TipAmount\\\": 10.00\\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>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment#responses-200\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentResponse<\/a> note the following:<\/p>\n<ul>\n<li>\n<p><code>PaymentResult.AmountsResp<\/code>:<\/p>\n<ul>\n<li><code>TipAmount<\/code>: The amount of the tip. If the customer declined adding a tip, this field is not included.<\/li>\n<li><code>AuthorizedAmount<\/code>: The total amount of the payment (original transaction amount plus tip amount).<\/li>\n<li><code>Currency<\/code>: The currency of the payment.<\/li>\n<\/ul>\n<!-- list separator -->\n<\/li>\n<li>\n<p><code>Response.AdditionalResponse<\/code>:<\/p>\n<ul>\n<li><code>posadditionalamounts.originalAmountValue<\/code>: The original transaction amount in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/li>\n<li><code>posAmountGratuityValue<\/code>: The tip amount in minor units.<\/li>\n<li><code>authorisedAmountValue<\/code>: The total authorised amount in minor units.<\/li>\n<\/ul>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response'\" :id=\"'response-terminal-tip'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"SaleToPOIResponse\\\": {\\n     \\\"MessageHeader\\\": {...},\\n     \\\"PaymentResponse\\\": {\\n       \\\"POIData\\\": {...},\\n       \\\"PaymentReceipt\\\": [...],\\n       \\\"PaymentResult\\\": {\\n         \\\"AmountsResp\\\": {\\n           \\\"AuthorizedAmount\\\": 630,\\n           \\\"Currency\\\": \\\"USD\\\",\\n           \\\"TipAmount\\\": 10\\n         },\\n         ...,\\n         \\\"PaymentInstrumentData\\\": {...}\\n       },\\n       \\\"Response\\\": {\\n         \\\"AdditionalResponse\\\": \\\"...gratuityAmount=1000&amp;posAmountGratuityValue=1000&amp;posAuthAmountCurrency=USD&amp;posAuthAmountValue=63000&amp;posOriginalAmountValue=62000&amp;posadditionalamounts.gratuityAmount=1000&amp;posadditionalamounts.originalAmountCurrency=USD&amp;posadditionalamounts.originalAmountValue=62000...\\\",\\n         \\\"Result\\\": \\\"Success\\\"\\n       },\\n       \\\"SaleData\\\": {\\n         \\\"SaleTransactionID\\\": {...}\\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<h2>Tip from terminal and book to your user<\/h2>\n<p>To make payment request that adds a tip and split instructions for how to book the tip when you use tipping from the terminal:<\/p>\n<ol>\n<li>\n<p>When you <a href=\"\/pt\/platforms\/in-person-payments\/split-transactions\/split-payments-at-authorization#gather-data\">gather the split instructions for the payment<\/a>, add a split item for the tip:<\/p>\n<ul>\n<li>Increase the <code>split.nrOfItems<\/code> by one, to accommodate the tip split item you are adding.<\/li>\n<li>\n<p>In the split item for the tip, specify:<\/p>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: left;\">Key<\/th>\n<th style=\"text-align: left;\">Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].type<\/code><\/td>\n<td style=\"text-align: left;\">The type of split. Set this to <strong>Tip<\/strong>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].account<\/code><\/td>\n<td style=\"text-align: left;\">The account that will receive the tip. This is the <code>balanceAccountID<\/code> of one of your user's balance accounts.<br><div class=\"notices green\">You cannot split the tip between multiple balance accounts.<\/div><\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].reference<\/code><\/td>\n<td style=\"text-align: left;\">Your reference for the tip, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>split.item[ITEM_NUMBER].description<\/code><\/td>\n<td style=\"text-align: left;\">Your description of the tip, reflected in the <a href=\"\/pt\/platforms\/reports-and-fees\/balance-platform-accounting-report\">Balance Platform Accounting Report<\/a>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/li>\n<\/ul>\n<p>Do not include the tip amount in the <code>split.totalAmount<\/code> field and do not add a <code>split.item[ITEM_NUMBER].amount<\/code> field for the tip.<\/p>\n<\/li>\n<li>\n<p>Format the split instructions in one of the following ways:<\/p>\n<ul>\n<li><strong>Option 1<\/strong>: as a string of form-encoded key-value pairs (using <strong>&amp;<\/strong> as a separator).<\/li>\n<li><strong>Option 2<\/strong>: as a JSON object converted to a Base64-encoded string.<\/li>\n<\/ul>\n<p>As an example, we use a payment of USD 630.00 that is split into:<\/p>\n<ul>\n<li>USD 600.00 to be paid to your user's first balance account as the sale amount.<\/li>\n<li>USD 20.00 to be paid to your liable account as your platform's commission.<\/li>\n<li>The payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.<\/li>\n<li>The tip amount to be paid to your user's second balance account.<\/li>\n<\/ul>\n<p>In this case, the <code>split.nrOfItems<\/code> is <strong>4<\/strong> and the <code>split.totalAmount<\/code> is <strong>62000<\/strong> because the payment fee and the tip amount are not known yet.<\/p>\n\n<div id=\"tabtWAdL\">\n    <div data-component-wrapper=\"tabs\">\n        <tabs\n                        :items=\"[{&quot;title&quot;:&quot;Key-value pairs&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Turn the split instructions you gathered into key-value pairs, and add a &lt;code&gt;tenderOption&lt;\\\/code&gt; parameter set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AskGratuity&lt;\\\/strong&gt;&lt;\\\/span&gt;.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Split tip instructions as key-value pairs&#039;\\&quot; :id=\\&quot;&#039;split-data-pairs-2&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;raw\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;tenderOption=AskGratuity\\\\nsplit.api=1\\\\nsplit.nrOfItems=4\\\\nsplit.totalAmount=62000\\\\nsplit.currencyCode=USD\\\\nsplit.item1.amount=60000\\\\nsplit.item1.type=BalanceAccount\\\\nsplit.item1.account=BA00000000000000000000001\\\\nsplit.item1.reference=Your reference for the sale\\\\nsplit.item1.description=Your description for the sale\\\\nsplit.item2.amount=2000\\\\nsplit.item2.type=Commission\\\\nsplit.item2.reference=Your reference for your commission\\\\nsplit.item2.description=Your description for your commission\\\\nsplit.item3.type=PaymentFee\\\\nsplit.item3.account=BA00000000000000000000001\\\\nsplit.item3.reference=Your reference for the payment fee\\\\nsplit.item3.description=Your description for the payment fee\\\\nsplit.item4.type=Tip\\\\nsplit.item4.account=BA00000000000000000000002\\\\nsplit.item4.reference=Your reference for the tip\\\\nsplit.item4.description=Your description for the tip\\&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;Concatenate the key-value pairs into a string by separating them with ampersands (&lt;strong&gt;&amp;amp;&lt;\\\/strong&gt;).&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Concatenated key-value pairs&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;tenderOption=AskGratuity&amp;amp;split.api=1&amp;amp;split.nrOfItems=4&amp;amp;split.totalAmount=62000&amp;amp;split.currencyCode=USD&amp;amp;split.item1.amount=60000&amp;amp;split.item1.type=BalanceAccount&amp;amp;split.item1.account=BA00000000000000000000001&amp;amp;split.item1.reference=Your reference for the sale&amp;amp;split.item1.description=Your description for the sale&amp;amp;split.item2.amount=2000&amp;amp;split.item2.type=Commission&amp;amp;split.item2.reference=Your reference for your commission&amp;amp;split.item2.description=Your description for your commission&amp;amp;split.item3.type=PaymentFee&amp;amp;split.item3.account=BA00000000000000000000001&amp;amp;split.item3.reference=Your reference for the payment fee&amp;amp;split.item3.description=Your description for the payment fee&amp;amp;split.item4.type=Tip&amp;amp;split.item4.account=BA00000000000000000000002&amp;amp;split.item4.reference=Your reference for the tip&amp;amp;split.item4.description=Your description for the tip\\&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;split-key-value-pairs&quot;,&quot;oldTabId&quot;:&quot;split-key-value-pairs_1&quot;,&quot;relation&quot;:&quot;&quot;},{&quot;title&quot;:&quot;Base64-encoded JSON&quot;,&quot;content&quot;:&quot;\\n&lt;ol&gt;\\n&lt;li&gt;\\n&lt;p&gt;Create a JSON object consisting of an &lt;code&gt;additionalData&lt;\\\/code&gt; object containing the &lt;code&gt;tenderOption&lt;\\\/code&gt; parameter set to &lt;span translate=\\&quot;no\\&quot;&gt;&lt;strong&gt;AskGratuity&lt;\\\/strong&gt;&lt;\\\/span&gt;, and the split instructions you gathered.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;JSON object&#039;\\&quot; :id=\\&quot;&#039;JSON-object_2&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;json\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;{\\\\n   \\\\\\&quot;tenderOption\\\\\\&quot;: \\\\\\&quot;AskGratuity\\\\\\&quot;,\\\\n   \\\\\\&quot;additionalData\\\\\\&quot;: {\\\\n       \\\\\\&quot;split.api\\\\\\&quot;: \\\\\\&quot;1\\\\\\&quot;,\\\\n       \\\\\\&quot;split.nrOfItems\\\\\\&quot;: \\\\\\&quot;4\\\\\\&quot;,\\\\n       \\\\\\&quot;split.totalAmount\\\\\\&quot;: \\\\\\&quot;62000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.currencyCode\\\\\\&quot;: \\\\\\&quot;USD\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.amount\\\\\\&quot;: \\\\\\&quot;60000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.type\\\\\\&quot;: \\\\\\&quot;BalanceAccount\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the sale\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item1.description\\\\\\&quot;: \\\\\\&quot;Your description for the sale\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.amount\\\\\\&quot;: \\\\\\&quot;2000\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.type\\\\\\&quot;: \\\\\\&quot;Commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.reference\\\\\\&quot;: \\\\\\&quot;Your reference for your commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item2.description\\\\\\&quot;: \\\\\\&quot;Your description for your commission\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.type\\\\\\&quot;: \\\\\\&quot;PaymentFee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000001\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the payment fee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item3.description\\\\\\&quot;: \\\\\\&quot;Your description for the payment fee\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.type\\\\\\&quot;: \\\\\\&quot;Tip\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.account\\\\\\&quot;: \\\\\\&quot;BA00000000000000000000002\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.reference\\\\\\&quot;: \\\\\\&quot;Your reference for the tip\\\\\\&quot;,\\\\n       \\\\\\&quot;split.item4.description\\\\\\&quot;: \\\\\\&quot;Your description for the tip\\\\\\&quot;\\\\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 JSON object to Base64.&lt;\\\/p&gt;\\n&lt;div data-component-wrapper=\\&quot;code-sample\\&quot;&gt;\\n&lt;code-sample :title=\\&quot;&#039;Base64 string&#039;\\&quot; :id=\\&quot;&#039;&#039;\\&quot; :code-data=&#039;[{\\&quot;language\\&quot;:\\&quot;bash\\&quot;,\\&quot;tabTitle\\&quot;:\\&quot;\\&quot;,\\&quot;content\\&quot;:\\&quot;ewogICAidGVuZGVyT3B0aW9uIjogIkFza0dyYXR1aXR5IiwKICAgImFkZGl0aW9uYWxEYXRhIjogewogICAgICAgInNwbGl0LmFwaSI6ICIxIiwKICAgICAgICJzcGxpdC5uck9mSXRlbXMiOiAiNCIsCiAgICAgICAic3BsaXQudG90YWxBbW91bnQiOiAiNjIwMDAiLAogICAgICAgInNwbGl0LmN1cnJlbmN5Q29kZSI6ICJVU0QiLAogICAgICAgInNwbGl0Lml0ZW0xLmFtb3VudCI6ICI2MDAwMCIsCiAgICAgICAic3BsaXQuaXRlbTEudHlwZSI6ICJCYWxhbmNlQWNjb3VudCIsCiAgICAgICAic3BsaXQuaXRlbTEuYWNjb3VudCI6ICJCQTAwMDAwMDAwMDAwMDAwMDAwMDAwMDAxIiwKICAgICAgICJzcGxpdC5pdGVtMS5yZWZlcmVuY2UiOiAiWW91ciByZWZlcmVuY2UgZm9yIHRoZSBzYWxlIiwKICAgICAgICJzcGxpdC5pdGVtMS5kZXNjcmlwdGlvbiI6ICJZb3VyIGRlc2NyaXB0aW9uIGZvciB0aGUgc2FsZSIsCiAgICAgICAic3BsaXQuaXRlbTIuYW1vdW50IjogIjIwMDAiLAogICAgICAgInNwbGl0Lml0ZW0yLnR5cGUiOiAiQ29tbWlzc2lvbiIsCiAgICAgICAic3BsaXQuaXRlbTIucmVmZXJlbmNlIjogIllvdXIgcmVmZXJlbmNlIGZvciB5b3VyIGNvbW1pc3Npb24iLAogICAgICAgInNwbGl0Lml0ZW0yLmRlc2NyaXB0aW9uIjogIllvdXIgZGVzY3JpcHRpb24gZm9yIHlvdXIgY29tbWlzc2lvbiIsCiAgICAgICAic3BsaXQuaXRlbTMudHlwZSI6ICJQYXltZW50RmVlIiwKICAgICAgICJzcGxpdC5pdGVtMy5hY2NvdW50IjogIkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDEiLAogICAgICAgInNwbGl0Lml0ZW0zLnJlZmVyZW5jZSI6ICJZb3VyIHJlZmVyZW5jZSBmb3IgdGhlIHBheW1lbnQgZmVlIiwKICAgICAgICJzcGxpdC5pdGVtMy5kZXNjcmlwdGlvbiI6ICJZb3VyIGRlc2NyaXB0aW9uIGZvciB0aGUgcGF5bWVudCBmZWUiLAogICAgICAgInNwbGl0Lml0ZW00LnR5cGUiOiAiVGlwIiwKICAgICAgICJzcGxpdC5pdGVtNC5hY2NvdW50IjogIkJBMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDIiLAogICAgICAgInNwbGl0Lml0ZW00LnJlZmVyZW5jZSI6ICJZb3VyIHJlZmVyZW5jZSBmb3IgdGhlIHRpcCIsCiAgICAgICAic3BsaXQuaXRlbTQuZGVzY3JpcHRpb24iOiAiWW91ciBkZXNjcmlwdGlvbiBmb3IgdGhlIHRpcCIKICAgfQp9\\&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;split-base64-format&quot;,&quot;oldTabId&quot;:&quot;split-base64-format_2&quot;,&quot;relation&quot;:&quot;&quot;}]\"\n            :should-update-when-url-changes='true'>\n        <\/tabs>\n    <\/div>\n<\/div>\n\n<\/li>\n<li>\n<p><a href=\"\/pt\/platforms\/in-person-payments\/split-transactions\/split-payments-at-authorization\">Make a Terminal API payment request<\/a>, including:<\/p>\n<ul>\n<li>\n<p>The  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentRequest<\/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>SaleData.SaleToAcquirerData<\/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 <span translate=\"no\"><strong>AskGratuity<\/strong><\/span> tender option and the split instructions, provided as a string of concatenated key-value pairs or as a JSON object converted to a Base64-encoded string.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>PaymentTransaction.AmountsReq.Currency<\/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 transaction <a href=\"\/pt\/development-resources\/currency-codes\">currency<\/a>.<\/td>\n<\/tr>\n<tr>\n<td style=\"text-align: left;\"><code>PaymentTransaction.AmountsReq.RequestedAmount<\/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 transaction amount.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Tipping from the terminal with split instructions as key-value pairs'\" :id=\"'terminal-tip'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\": {\\n        \\\"MessageHeader\\\": {\\n            \\\"ProtocolVersion\\\": \\\"3.0\\\",\\n            \\\"MessageClass\\\": \\\"Service\\\",\\n            \\\"MessageCategory\\\": \\\"Payment\\\",\\n            \\\"MessageType\\\": \\\"Request\\\",\\n            \\\"SaleID\\\": \\\"POSSystemID12345\\\",\\n            \\\"ServiceID\\\": \\\"0207111104\\\",\\n            \\\"POIID\\\": \\\"V400m-324688179\\\"\\n        },\\n        \\\"PaymentRequest\\\": {\\n            \\\"SaleData\\\": {\\n                \\\"SaleTransactionID\\\": {\\n                    \\\"TransactionID\\\": \\\"27908\\\",\\n                    \\\"TimeStamp\\\": \\\"2022-10-28T10:11:04+00:00\\\"\\n                },\\n                \\\"SaleToAcquirerData\\\": \\\"tenderOption=AskGratuity&amp;split.api=1&amp;split.nrOfItems=3&amp;split.totalAmount=62000&amp;split.currencyCode=USD&amp;split.item1.amount=60000&amp;split.item1.type=BalanceAccount&amp;split.item1.account=BA00000000000000000000001&amp;split.item1.reference=reference_split_1&amp;split.item1.description=description_split_1&amp;split.item2.amount=2000&amp;split.item2.type=Commission&amp;split.item2.reference=reference_commission&amp;split.item2.description=description_commission&amp;split.item3.type=Tip&amp;split.item3.account=BA00000000000000000000001&amp;split.item3.reference=reference_tip&amp;split.item3.description=description_tip&amp;split.item4.type=PaymentFee&amp;split.item4.account=BA00000000000000000000002&amp;split.item4.reference=reference_fees&amp;split.item4.description=description_fees\\\"\\n            },\\n            \\\"PaymentTransaction\\\": {\\n                \\\"AmountsReq\\\": {\\n                    \\\"Currency\\\": \\\"USD\\\",\\n                    \\\"RequestedAmount\\\": 620.00\\n                }\\n            }\\n        }\\n    }\\n}\"}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>In the  <a href=\"https:\/\/docs.adyen.com\/api-explorer\/terminal-api\/latest\/post\/payment#responses-200\" class=\"codeLabel  external-link no-image\" target=\"_blank\" rel=\"nofollow noopener noreferrer\">PaymentResponse<\/a> note the following:<\/p>\n<ul>\n<li>\n<p><code>PaymentResult.AmountsResp<\/code>:<\/p>\n<ul>\n<li><code>TipAmount<\/code>: The amount of the tip. If the customer declined adding a tip, this field is not included.<\/li>\n<li><code>AuthorizedAmount<\/code>: The total amount of the payment (original transaction amount plus tip amount).<\/li>\n<li><code>Currency<\/code>: The currency of the payment.<\/li>\n<\/ul>\n<!-- list separator -->\n<\/li>\n<li>\n<p><code>Response.AdditionalResponse<\/code>:<\/p>\n<ul>\n<li><code>posadditionalamounts.originalAmountValue<\/code>: The original transaction amount in <a href=\"\/pt\/development-resources\/currency-codes\">minor units<\/a>.<\/li>\n<li><code>posAmountGratuityValue<\/code>: The tip amount in minor units.<\/li>\n<li><code>authorisedAmountValue<\/code>: The total authorised amount in minor units.<\/li>\n<\/ul>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"'Response'\" :id=\"'response-terminal-tip'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"\",\"content\":\"{\\n   \\\"SaleToPOIResponse\\\": {\\n     \\\"MessageHeader\\\": {...},\\n     \\\"PaymentResponse\\\": {\\n       \\\"POIData\\\": {...},\\n       \\\"PaymentReceipt\\\": [...],\\n       \\\"PaymentResult\\\": {\\n         \\\"AmountsResp\\\": {\\n           \\\"AuthorizedAmount\\\": 630,\\n           \\\"Currency\\\": \\\"USD\\\",\\n           \\\"TipAmount\\\": 10\\n         },\\n         ...,\\n         \\\"PaymentInstrumentData\\\": {...}\\n       },\\n       \\\"Response\\\": {\\n         \\\"AdditionalResponse\\\": \\\"...gratuityAmount=1000&amp;posAmountGratuityValue=1000&amp;posAuthAmountCurrency=USD&amp;posAuthAmountValue=63000&amp;posOriginalAmountValue=62000&amp;posadditionalamounts.gratuityAmount=1000&amp;posadditionalamounts.originalAmountCurrency=USD&amp;posadditionalamounts.originalAmountValue=62000...\\\",\\n         \\\"Result\\\": \\\"Success\\\"\\n       },\\n       \\\"SaleData\\\": {\\n         \\\"SaleTransactionID\\\": {...}\\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<h2>See also<\/h2>\n<div class=\"see-also-links output-inline\" id=\"see-also\">\n<ul><li><a href=\"\/point-of-sale\/tipping\/\"\n                        target=\"_self\"\n                        >\n                    Tipping\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/platforms\/in-person-payments\/tipping","articleFields":{"description":"Implement tipping (gratuity) in your payment flow.","feedback_component":true,"parameters":{"directoryPath":"\/platforms","model":"platform"},"filters_component":false,"last_edit_on":"03-05-2023 17:04"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/platforms\/in-person-payments\/tipping","title":"Tipping","content":"When a customer adds a tip (gratuity) to their payment, it is booked to your liable account by default. However, you can book the entire tip amount directly to your user's balance account by providing an additional split item in the payment request.\nYou can book the tip to your user's balance account when you use one of the following tipping methods:\n\nTipping from the POS app\nTipping from the terminal\n\nRequirements\nIn addition to the general requirements for in-person payments with an Adyen for Platforms integration, take into account the following information.\n\n\n\nRequirement\nDescription\n\n\n\n\nIntegration type\nA Terminal API integration with payment terminals or with a Mobile solution. The standalone solution does not support adding split instructions to individual payment authorization requests.\n\n\nLimitations\nBooking the tip to your user's balance account is not supported with tipping on the receipt.\n\n\nSetup steps\nCheck the flow, the requirements, and the setup or configuration steps for your chosen tipping method: tipping from the POS app or tipping from the terminal.\n\n\n\nTip from POS app and book to your user\nTo make payment request that adds a tip and split instructions for how to book the tip when you use tipping from the POS app:\n\n\nWhen you gather the split instructions for the payment, add a split item for the tip:\n\nIncrease the split.nrOfItems by one, to accommodate the tip split item you are adding.\n\nIn the split item for the tip, specify:\n\n\n\nKey\nDescription\n\n\n\n\nsplit.item[ITEM_NUMBER].type\nThe type of split. Set this to Tip.\n\n\nsplit.item[ITEM_NUMBER].account\nThe account that will receive the tip. This is the balanceAccountID of one of your user's balance accounts.You cannot split the tip between multiple balance accounts.\n\n\nsplit.item[ITEM_NUMBER].reference\nYour reference for the tip, reflected in the Balance Platform Accounting Report.\n\n\nsplit.item[ITEM_NUMBER].description\nYour description of the tip, reflected in the Balance Platform Accounting Report.\n\n\n\n\n\nDo not include the tip amount in the split.totalAmount field and do not add a split.item[ITEM_NUMBER].amount field for the tip.\n\n\nFormat the split instructions in one of the following ways:\n\nOption 1: as a string of form-encoded key-value pairs (using &amp; as a separator).\nOption 2: as a JSON object converted to a Base64-encoded string.\n\nAs an example, we use a payment of USD 630.00 that is split into:\n\nUSD 600.00 to be paid to your user's first balance account as the sale amount.\nUSD 20.00 to be paid to your liable account as your platform's commission.\nThe payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.\nUSD 10.00 to be paid to your user's second balance account as the tip.\n\nIn this case, the split.nrOfItems is 4 and the split.totalAmount is 62000, because the payment fee is not known yet, and the tip amount should not be added even if you do know it in advance.\n\n\n    \n        \n        \n    \n\n\n\n\nMake a Terminal API payment request, including:\n\n\nThe  PaymentRequest object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSaleData.SaleToAcquirerData\n\nThe formatted string of split instructions for the payment.\n\n\nPaymentTransaction.AmountsReq.Currency\n\nThe transaction currency.\n\n\nPaymentTransaction.AmountsReq.RequestedAmount\n\nThe transaction amount.\n\n\nPaymentTransaction.AmountsReq.TipAmount\n\nThe tip amount.\n\n\n\n\n\n\n\n\n\n\nIn the  PaymentResponse note the following:\n\n\nPaymentResult.AmountsResp:\n\nTipAmount: The amount of the tip. If the customer declined adding a tip, this field is not included.\nAuthorizedAmount: The total amount of the payment (original transaction amount plus tip amount).\nCurrency: The currency of the payment.\n\n\n\n\nResponse.AdditionalResponse:\n\nposadditionalamounts.originalAmountValue: The original transaction amount in minor units.\nposAmountGratuityValue: The tip amount in minor units.\nauthorisedAmountValue: The total authorised amount in minor units.\n\n\n\n\n\n\n\n\n\nTip from terminal and book to your user\nTo make payment request that adds a tip and split instructions for how to book the tip when you use tipping from the terminal:\n\n\nWhen you gather the split instructions for the payment, add a split item for the tip:\n\nIncrease the split.nrOfItems by one, to accommodate the tip split item you are adding.\n\nIn the split item for the tip, specify:\n\n\n\nKey\nDescription\n\n\n\n\nsplit.item[ITEM_NUMBER].type\nThe type of split. Set this to Tip.\n\n\nsplit.item[ITEM_NUMBER].account\nThe account that will receive the tip. This is the balanceAccountID of one of your user's balance accounts.You cannot split the tip between multiple balance accounts.\n\n\nsplit.item[ITEM_NUMBER].reference\nYour reference for the tip, reflected in the Balance Platform Accounting Report.\n\n\nsplit.item[ITEM_NUMBER].description\nYour description of the tip, reflected in the Balance Platform Accounting Report.\n\n\n\n\n\nDo not include the tip amount in the split.totalAmount field and do not add a split.item[ITEM_NUMBER].amount field for the tip.\n\n\nFormat the split instructions in one of the following ways:\n\nOption 1: as a string of form-encoded key-value pairs (using &amp; as a separator).\nOption 2: as a JSON object converted to a Base64-encoded string.\n\nAs an example, we use a payment of USD 630.00 that is split into:\n\nUSD 600.00 to be paid to your user's first balance account as the sale amount.\nUSD 20.00 to be paid to your liable account as your platform's commission.\nThe payment fee to be booked to your user's first balance account. This will be deducted from the sale amount.\nThe tip amount to be paid to your user's second balance account.\n\nIn this case, the split.nrOfItems is 4 and the split.totalAmount is 62000 because the payment fee and the tip amount are not known yet.\n\n\n    \n        \n        \n    \n\n\n\n\nMake a Terminal API payment request, including:\n\n\nThe  PaymentRequest object with:\n\n\n\nParameter\nRequired\nDescription\n\n\n\n\nSaleData.SaleToAcquirerData\n\nThe AskGratuity tender option and the split instructions, provided as a string of concatenated key-value pairs or as a JSON object converted to a Base64-encoded string.\n\n\nPaymentTransaction.AmountsReq.Currency\n\nThe transaction currency.\n\n\nPaymentTransaction.AmountsReq.RequestedAmount\n\nThe transaction amount.\n\n\n\n\n\n\n\n\n\n\nIn the  PaymentResponse note the following:\n\n\nPaymentResult.AmountsResp:\n\nTipAmount: The amount of the tip. If the customer declined adding a tip, this field is not included.\nAuthorizedAmount: The total amount of the payment (original transaction amount plus tip amount).\nCurrency: The currency of the payment.\n\n\n\n\nResponse.AdditionalResponse:\n\nposadditionalamounts.originalAmountValue: The original transaction amount in minor units.\nposAmountGratuityValue: The tip amount in minor units.\nauthorisedAmountValue: The total authorised amount in minor units.\n\n\n\n\n\n\n\n\n\nSee also\n\n\n                    Tipping\n                \n","type":"page","locale":"pt","boost":17,"hierarchy":{"lvl0":"Home","lvl1":"Platforms","lvl2":"Process in-person payments","lvl3":"Tipping"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/platforms","lvl2":"https:\/\/docs.adyen.com\/pt\/platforms\/in-person-payments","lvl3":"\/pt\/platforms\/in-person-payments\/tipping"},"levels":4,"category":"Platforms","category_color":"green","tags":["Tipping"]},"articleFiles":{"pos-app-tip.json":"<p alt=\"\">pos-app-tip.json<\/p>","terminal-tip.json":"<p alt=\"\">terminal-tip.json<\/p>"}}
