{"title":"Handle additional data","category":"default","creationDate":1776961627,"content":"<h2 id=\"delegate\">Delegate<\/h2>\n<p>The <code>transactionProvidesAdditionalData<\/code>\u00a0delegate is called when a transaction provides additional data, for example loyalty-related data, providing the app with an opportunity to modify the amount charged based on that data.<\/p>\n<p>After this method has been called, transaction-processing will be paused until\u00a0<code>continueWithUpdatedAmount<\/code>\u00a0is called on the given\u00a0<code>additionalDataRequest<\/code>, either with an\u00a0<code>NSNumber<\/code>\u00a0to update the amount, or with\u00a0<code>nil<\/code>\u00a0to continue with the original amount.<\/p>\n<div class=\"sc-notice note\"><div>\n<p>Instead of calling\u00a0<code>continueWithUpdatedAmount<\/code>, it it also possible to cancel the transaction at this point as usual, by calling\u00a0<code>[ADYTransactionRequest requestCancel]<\/code>. After the transaction has been cancelled, subsequent calls to\u00a0<code>continueWithUpdatedAmount<\/code>\u00a0will have no effect.<\/p>\n<\/div><\/div>\n<h3 id=\"parameters\">Parameters<\/h3>\n<table>\n<thead>\n<tr>\n<th style=\"text-align: right;\">Name<\/th>\n<th>Type<\/th>\n<th>Required<\/th>\n<th>Description<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"text-align: right;\"><code>additionalDataRequest<\/code><\/td>\n<td>ADYAdditionalDataRequest<\/td>\n<td><img title=\"-white_check_mark-\" alt=\"-white_check_mark-\" class=\"smileys\" src=\"\/user\/data\/smileys\/emoji\/white_check_mark.png\" \/><\/td>\n<td>Request-object used to inform the ADYTransactionProcessorDelegate that additional data is available.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3 id=\"declaration-code-example\">Declaration code example<\/h3>\n<h4 id=\"objective-c\">Objective-C<\/h4>\n<pre><code class=\"language-objectivec\">- (void)transactionProvidesAdditionalData:\n    (ADYAdditionalDataRequest *)additionalDataRequest;<\/code><\/pre>\n<h4 id=\"swift\">Swift<\/h4>\n<pre><code class=\"language-swift\">func transactionProvidesAdditionalData(_ additionalDataRequest: ADYAdditionalDataRequest!)<\/code><\/pre>","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration\/key-steps-ios\/process-a-basic-transaction-ios\/handle-additional-data-ios","articleFields":{"id":"34120758","type":"page","_expandable":{"operations":""},"status":"current"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration\/key-steps-ios\/process-a-basic-transaction-ios\/handle-additional-data-ios","title":"Handle additional data","content":"Delegate\nThe transactionProvidesAdditionalData\u00a0delegate is called when a transaction provides additional data, for example loyalty-related data, providing the app with an opportunity to modify the amount charged based on that data.\nAfter this method has been called, transaction-processing will be paused until\u00a0continueWithUpdatedAmount\u00a0is called on the given\u00a0additionalDataRequest, either with an\u00a0NSNumber\u00a0to update the amount, or with\u00a0nil\u00a0to continue with the original amount.\n\nInstead of calling\u00a0continueWithUpdatedAmount, it it also possible to cancel the transaction at this point as usual, by calling\u00a0[ADYTransactionRequest requestCancel]. After the transaction has been cancelled, subsequent calls to\u00a0continueWithUpdatedAmount\u00a0will have no effect.\n\nParameters\n\n\n\nName\nType\nRequired\nDescription\n\n\n\n\nadditionalDataRequest\nADYAdditionalDataRequest\n\nRequest-object used to inform the ADYTransactionProcessorDelegate that additional data is available.\n\n\n\nDeclaration code example\nObjective-C\n- (void)transactionProvidesAdditionalData:\n    (ADYAdditionalDataRequest *)additionalDataRequest;\nSwift\nfunc transactionProvidesAdditionalData(_ additionalDataRequest: ADYAdditionalDataRequest!)","type":"page","locale":"pt","boost":13,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Deprecation of classic libraries","lvl3":"Library integrations","lvl4":"iOS integration","lvl5":"Key steps","lvl6":"Process a basic transaction","lvl7":"Handle additional data"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation","lvl3":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations","lvl4":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration","lvl5":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration\/key-steps-ios","lvl6":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration\/key-steps-ios\/process-a-basic-transaction-ios","lvl7":"\/pt\/point-of-sale\/classic-library-deprecation\/classic-library-integrations\/ios-integration\/key-steps-ios\/process-a-basic-transaction-ios\/handle-additional-data-ios"},"levels":8,"category":"In-person payments","category_color":"green","tags":["Handle","additional"]}}
