{"title":"Handle signatures","category":"default","creationDate":1776961627,"content":"<h2 id=\"delegate\">Delegate<\/h2>\n<p>The <code>transactionRequiresSignature<\/code> delegate is called when a signature must be confirmed as part of processing a transaction. Handle the\u00a0<code>transactionRequiresSignature<\/code> delegate by writing the POS app to call either\u00a0<code>[ADYSignatureRequest submitConfirmedSignature:]<\/code>\u00a0or\u00a0<code>[ADYSignatureRequest submitUnconfirmedSignature:]<\/code>.<\/p>\n<p>After this method has been called, the transaction will be paused until either\u00a0<code>submitConfirmedSignature:<\/code>\u00a0or\u00a0<code>submitUnconfirmedSignature:<\/code>\u00a0has been called on the given\u00a0<code>signatureRequest<\/code>.<\/p>\n<p>This method must be implemented in two different ways, depending on the presence of a printer on the payment-device (as determined by the\u00a0<code>paymentDeviceHasPrinter<\/code>\u00a0method on the Adyen class).<\/p>\n<p>If the device has a printer:<\/p>\n<ol>\n<li>The device prints a receipt, which must be signed by the customer.<\/li>\n<li>The attendant compares this signature to the signature on the card, and either confirm that they are identical, or not.<\/li>\n<li>Implement the method to show a user-interface where the attendant can choose between\u00a0Confirmed\u00a0or\u00a0Not confirmed, for example by pressing a button.<\/li>\n<li>The method must call either\u00a0<code>submitConfirmedSignature:<\/code>\u00a0or\u00a0<code>submitUnconfirmedSignature:<\/code>\u00a0on the\u00a0<code>signatureRequest<\/code>, both with\u00a0<code>nil<\/code>\u00a0as the\u00a0<code>signatureImage<\/code>\u00a0parameter, to continue transaction processing.<\/li>\n<\/ol>\n<p>If the device does not have a printer:<\/p>\n<ol>\n<li>Implement the method to display a user-interface on which the customer can draw a signature.<\/li>\n<li>Implement the method to allow the attendant to confirm or deny the drawn signature after comparing it to the signature on the card - for example, by pressing a button.<\/li>\n<li>The method must call either\u00a0<code>submitConfirmedSignature:<\/code>\u00a0or\u00a0<code>submitUnconfirmedSignature:<\/code>\u00a0on the given\u00a0<code>signatureRequest<\/code>, both with the drawn image as\u00a0<code>signatureImage<\/code>\u00a0parameter.  <\/li>\n<\/ol>\n<div class=\"sc-notice note\"><div>\n<p>Instead of calling\u00a0<code>submitConfirmedSignature:<\/code>\u00a0or\u00a0<code>submitUnconfirmedSignature:<\/code>, it is also possible to cancel the transaction at this point as usual, by calling\u00a0<code>[ADYTransactionRequest requestCancel]<\/code>. After a transaction has been cancelled, subsequent calls to\u00a0<code>submitConfirmedSignature:<\/code>\u00a0or\u00a0<code>submitUnconfirmedSignature:<\/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>signatureRequest<\/code><\/td>\n<td>ADYSignatureRequest<\/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 continue transaction processing.<\/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)transactionRequiresSignature:(ADYSignatureRequest *)signatureRequest;<\/code><\/pre>\n<h4 id=\"swift\">Swift<\/h4>\n<pre><code class=\"language-swift\">func transactionRequiresSignature(_ signatureRequest: ADYSignatureRequest!)<\/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-signatures-ios","articleFields":{"id":"34120747","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-signatures-ios","title":"Handle signatures","content":"Delegate\nThe transactionRequiresSignature delegate is called when a signature must be confirmed as part of processing a transaction. Handle the\u00a0transactionRequiresSignature delegate by writing the POS app to call either\u00a0[ADYSignatureRequest submitConfirmedSignature:]\u00a0or\u00a0[ADYSignatureRequest submitUnconfirmedSignature:].\nAfter this method has been called, the transaction will be paused until either\u00a0submitConfirmedSignature:\u00a0or\u00a0submitUnconfirmedSignature:\u00a0has been called on the given\u00a0signatureRequest.\nThis method must be implemented in two different ways, depending on the presence of a printer on the payment-device (as determined by the\u00a0paymentDeviceHasPrinter\u00a0method on the Adyen class).\nIf the device has a printer:\n\nThe device prints a receipt, which must be signed by the customer.\nThe attendant compares this signature to the signature on the card, and either confirm that they are identical, or not.\nImplement the method to show a user-interface where the attendant can choose between\u00a0Confirmed\u00a0or\u00a0Not confirmed, for example by pressing a button.\nThe method must call either\u00a0submitConfirmedSignature:\u00a0or\u00a0submitUnconfirmedSignature:\u00a0on the\u00a0signatureRequest, both with\u00a0nil\u00a0as the\u00a0signatureImage\u00a0parameter, to continue transaction processing.\n\nIf the device does not have a printer:\n\nImplement the method to display a user-interface on which the customer can draw a signature.\nImplement the method to allow the attendant to confirm or deny the drawn signature after comparing it to the signature on the card - for example, by pressing a button.\nThe method must call either\u00a0submitConfirmedSignature:\u00a0or\u00a0submitUnconfirmedSignature:\u00a0on the given\u00a0signatureRequest, both with the drawn image as\u00a0signatureImage\u00a0parameter.  \n\n\nInstead of calling\u00a0submitConfirmedSignature:\u00a0or\u00a0submitUnconfirmedSignature:, it is also possible to cancel the transaction at this point as usual, by calling\u00a0[ADYTransactionRequest requestCancel]. After a transaction has been cancelled, subsequent calls to\u00a0submitConfirmedSignature:\u00a0or\u00a0submitUnconfirmedSignature:\u00a0will have no effect.\n\nParameters\n\n\n\nName\nType\nRequired\nDescription\n\n\n\n\nsignatureRequest\nADYSignatureRequest\n\nRequest-object used to continue transaction processing.\n\n\n\nDeclaration code example\nObjective-C\n- (void)transactionRequiresSignature:(ADYSignatureRequest *)signatureRequest;\nSwift\nfunc transactionRequiresSignature(_ signatureRequest: ADYSignatureRequest!)","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 signatures"},"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-signatures-ios"},"levels":8,"category":"In-person payments","category_color":"green","tags":["Handle","signatures"]}}
