{"title":"Reconhecimento de clientes e tokeniza\u00e7\u00e3o","category":"default","creationDate":1776961627,"content":"<p>A conex\u00e3o dos identificadores de clientes com os detalhes da transa\u00e7\u00e3o permite:<\/p>\n<ul>\n<li>\n<p><strong>Reconhecimento passivo de clientes<\/strong>: obtenha insights para expandir seus neg\u00f3cios.<br \/>\nPor exemplo, os dados de origem do cliente podem ajud\u00e1-lo a decidir se voc\u00ea deve aceitar novas formas de pagamento, oferecer convers\u00e3o de moeda em seus terminais, adicionar sinaliza\u00e7\u00e3o em outros idiomas da loja e assim por diante.<\/p>\n<\/li>\n<li>\n<p><strong>Reconhecimento ativo de clientes<\/strong>: Envolva clientes j\u00e1 reconhecidos personalizando sua experi\u00eancia de compra.<br \/>\nPor exemplo, aplique descontos ou presentes de fidelidade no local ou envie ao comprador um recibo eletr\u00f4nico por e-mail.<\/p>\n<\/li>\n<li>\n<p><strong>Tokeniza\u00e7\u00e3o<\/strong>: para pagamentos recorrentes.<br \/>\nVoc\u00ea pode usar isso ao vender produtos cruzados que exigem pagamentos regulares, como uma ap\u00f3lice de seguro para um produto que o cliente comprou em sua loja.<\/p>\n<\/li>\n<\/ul>\n<p>Tudo isso \u00e9 especialmente poderoso em todos os canais. Veja nossa <a href=\"https:\/\/www.adyen.com\/unified-commerce\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">solu\u00e7\u00e3o de com\u00e9rcio unificado<\/a> para obter mais informa\u00e7\u00f5es e casos de uso.<\/p>\n<h2 id=\"shopper-recognition-data\">Identificadores de clientes e perfis de clientes<\/h2>\n<p>As solicita\u00e7\u00f5es de aquisi\u00e7\u00e3o e pagamento de cart\u00e3o podem retornar v\u00e1rios identificadores de clientes que voc\u00ea pode usar para reconhecimento e tokeniza\u00e7\u00e3o passivos e ativos dos clientes:<\/p>\n<ul>\n<li><strong>Alias do cart\u00e3o<\/strong>: Um valor que representa exclusivamente o n\u00famero do cart\u00e3o (PAN) do comprador, por exemplo  <code>A37317672402294<\/code>.<\/li>\n<li><strong>Refer\u00eancia do cliente<\/strong>: Um valor exclusivo de sua escolha para identificar o cliente. Se voc\u00ea tamb\u00e9m coletar o endere\u00e7o de e-mail do cliente, poder\u00e1 vincular v\u00e1rios aliases de cart\u00e3o ao mesmo cliente por meio do endere\u00e7o de e-mail.<\/li>\n<li><strong>Pa\u00eds emissor<\/strong>: C\u00f3digo do pa\u00eds em que o cart\u00e3o foi emitido. Geralmente, esse \u00e9 um bom indicador da nacionalidade do cliente.<\/li>\n<li><strong>Fonte de financiamento<\/strong>: Fonte de financiamento do cart\u00e3o, como d\u00e9bito, cr\u00e9dito ou pr\u00e9-pago.<\/li>\n<li><strong>Refer\u00eancia detalhada recorrente<\/strong>: O token para <a href=\"\/pt\/get-started-with-adyen\/adyen-glossary\/#recurring-payments-definition\">pagamentos recorrentes<\/a>. Para esses pagamentos, o cliente n\u00e3o precisa estar presente, mas o alias do cart\u00e3o deve estar vinculado ao endere\u00e7o de e-mail do cliente. Para mais informa\u00e7\u00f5es, consulte nossa documenta\u00e7\u00e3o sobre <a href=\"\/pt\/online-payments\/tokenization\">Tokeniza\u00e7\u00e3o<\/a> documentation.<\/li>\n<\/ul>\n<p>Cabe a voc\u00ea decidir qual desses identificadores voc\u00ea deseja usar. No banco de dados do cliente, voc\u00ea precisa criar um perfil para cada cliente para armazenar seus identificadores, bem como os detalhes da transa\u00e7\u00e3o. Dessa forma, voc\u00ea poder\u00e1 vincular um novo pagamento a pagamentos anteriores feitos com o mesmo cart\u00e3o ou pelo mesmo cliente.<\/p>\n<h2 id=\"before-you-begin\">Antes de come\u00e7ar<\/h2>\n<p>Antes de come\u00e7ar a vincular os detalhes do cart\u00e3o aos clientes:<\/p>\n<ol>\n<li>\n<p>Certifique-se de:<\/p>\n<ul>\n<li>Criar uma integra\u00e7\u00e3o capaz de <a href=\"\/pt\/point-of-sale\/basic-tapi-integration\/make-a-payment\">efetuar um pagamento<\/a>.<\/li>\n<li>\n<p>Ler e compreender a documenta\u00e7\u00e3o de <a href=\"\/pt\/point-of-sale\/card-acquisition\">aquisi\u00e7\u00e3o do cart\u00e3o<\/a>.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<li>Considere como voc\u00ea dever\u00e1 lidar com as <a href=\"#privacy\">implica\u00e7\u00f5es de privacidade<\/a>.<\/li>\n<\/ol>\n<h3 id=\"privacy\">Gerenciando dados e privacidade do cliente<\/h3>\n<p>Antes de armazenar quaisquer dados do cliente, voc\u00ea deve consultar as leis e regulamentos locais nos pa\u00edses em que opera. Voc\u00ea tamb\u00e9m deve solicitar permiss\u00e3o expl\u00edcita do seu cliente para armazenar esses dados e ter clareza sobre o que pretende us\u00e1-los.<\/p>\n<p>Oferecemos uma <a href=\"\/pt\/development-resources\/data-protection-api\">API de prote\u00e7\u00e3o de dados<\/a>. Voc\u00ea pode us\u00e1-la para remover todos os dados do cliente que voc\u00ea armazenou na Adyen, a fim de atender ao <a href=\"https:\/\/gdpr-info.eu\/art-17-gdpr\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">right to erasure mandate<\/a> do Regulamento Geral de Prote\u00e7\u00e3o de Dados (GDPR).<\/p>\n<h2 id=\"enable-receiving-shopper-identifiers\">Ativar receptores de identificadores de clientes<\/h2>\n<ol>\n<li>\n<p>Em sua <a href=\"https:\/\/ca-test.adyen.com\/\" target=\"_blank\" rel=\"nofollow noopener noreferrer\" class=\"external-link no-image\">Customer Area<\/a>, v\u00e1 para <strong>Developers<\/strong> &gt; <strong>Additional data<\/strong> e, selecione estas op\u00e7\u00f5es:<\/p>\n<ul>\n<li><strong>Recurring details<\/strong><\/li>\n<li><strong>Recurring contract type<\/strong><\/li>\n<li><strong>issuerCountry<\/strong><\/li>\n<li>\n<p><strong>Funding source<\/strong><\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<p>A API de terminais retorna esses dados no <code>AdditionalResponse<\/code>.<\/p>\n<\/li>\n<li>\n<p>Opcionalmente, receba identificadores de clientes tamb\u00e9m em webhooks de notifica\u00e7\u00e3o:<\/p>\n<ol>\n<li><a href=\"\/pt\/development-resources\/notifications\">Configure webhooks de notifica\u00e7\u00e3o <\/a>.<\/li>\n<li>\n<p>Entre em contato com nossa <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> e solicite que ele garanta que o alias do cart\u00e3o esteja inclu\u00eddo na notifica\u00e7\u00e3o.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<h2 id=\"how-it-works\">Como funciona<\/h2>\n<p>Quando o cliente faz uma compra na sua loja:<\/p>\n<ol>\n<li>Voc\u00ea faz uma solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o de cart\u00e3o para <a href=\"#pre-transaction-recognition\">verificar se o cliente \u00e9 reconhecido<\/a>.<\/li>\n<li>Se a resposta de aquisi\u00e7\u00e3o do cart\u00e3o indicar que voc\u00ea n\u00e3o possui registro do cliente, <a href=\"#create-shopper\">rie um novo perfil de cliente e fa\u00e7a um pagamento<\/a>. Opcionalmente, tokenize os detalhes do cart\u00e3o para pagamentos recorrentes.<br \/>\nA partir de agora, o cliente ser\u00e1 reconhecido com base na refer\u00eancia que voc\u00ea criar com essa solicita\u00e7\u00e3o de pagamento.<\/li>\n<li>Se a resposta de aquisi\u00e7\u00e3o do cart\u00e3o indicar que voc\u00ea j\u00e1 possui o cliente registrado, <a href=\"#payment-for-recognized-shopper\">efetue um pagamento para um cliente reconhecido<\/a>.<\/li>\n<\/ol>\n<h2 id=\"pre-transaction-recognition\">Verifique se o cliente \u00e9 reconhecido<\/h2>\n<p>Quando o cliente faz uma compra, verifique primeiro se voc\u00ea j\u00e1 possui o registro. Isso tamb\u00e9m \u00e9 conhecido como 'reconhecimento pr\u00e9-transa\u00e7\u00e3o'.<\/p>\n<ol>\n<li>\n<p>Fa\u00e7a uma solicita\u00e7\u00e3o de <a href=\"\/pt\/point-of-sale\/card-acquisition\">aquisi\u00e7\u00e3o de cart\u00e3o<\/a> request.<\/p>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'card-acquisition'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":[{\"name\":\"request\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"CardAcquisition\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"ServiceID\\\":\\\"1020711110\\\",\\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                \\\"TokenRequestedType\\\":\\\"Customer\\\"\\n            },\\n            \\\"CardAcquisitionTransaction\\\":{\\n                \\\"TotalAmount\\\":24.98\\n            }\\n        }\\n    }\\n}\"},{\"name\":\"response\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"CardAcquisitionResponse\\\": {\\n            \\\"POIData\\\": {\\n                \\\"POITransactionID\\\": {\\n                    \\\"TimeStamp\\\": \\\"2020-01-17T14:14:48.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"8ha5001579009268002\\\"\\n                },\\n                \\\"SaleData\\\": {...}\\n            },\\n            \\\"PaymentInstrumentData\\\": {\\n                \\\"CardData\\\": {\\n                    \\\"PaymentToken\\\": {\\n                        \\\"TokenRequestedType\\\": \\\"Customer\\\",\\n                        \\\"TokenValue\\\": \\\"M469509594859802\\\"\\n                    },\\n                    \\\"PaymentBrand\\\": \\\"mc\\\",\\n                    \\\"MaskedPan\\\": \\\"541333 **** 9999\\\",\\n                    \\\"SensitiveCardData\\\": {\\n                        \\\"ExpiryDate\\\": \\\"0228\\\"\\n                    }\\n                },\\n                \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n            },\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Success\\\",\\n                \\\"AdditionalResponse\\\": \\\"tid=46403161&amp;transactionType=GOODS_SERVICES&amp;backendGiftcardIndicator=false&amp;posadditionalamounts.originalAmountValue=2370&amp;expiryYear=2028&amp;alias=M469509594859802&amp;posAmountGratuityValue=0&amp;giftcardIndicator=false&amp;paymentMethodVariant=mc&amp;txtime=17%3a34%3a33&amp;iso8601TxDate=2020-01-08T16%3a34%3a33.0000000%2b0000&amp;cardType=mc&amp;posOriginalAmountValue=2370&amp;aliasType=Default&amp;txdate=08-01-2020&amp;paymentMethod=mc&amp;merchantReference=02076&amp;expiryMonth=02&amp;cardSummary=9999&amp;posadditionalamounts.originalAmountCurrency=EUR&amp;posAuthAmountCurrency=EUR&amp;posAmountCashbackValue=0&amp;posEntryMode=CLESS_CHIP&amp;fundingSource=CREDIT&amp;cardScheme=mc&amp;cardBin=541333&amp;posAuthAmountValue=2370\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\n    }\\n}\"}]},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":[{\"name\":\"request\",\"content\":\"String serviceID = \\\"YOUR_UNIQUE_ATTEMPT_ID\\\";\\nString saleID = \\\"YOUR_CASH_REGISTER_ID\\\";\\nString POIID = \\\"YOUR_TERMINAL_ID\\\";\\nString transactionID = \\\"YOUR_UNIQUE_TRANSACTION_ID\\\";\\n\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nmessageHeader.setProtocolVersion(\\\"3.0\\\");\\nmessageHeader.setMessageClass( MessageClassType.SERVICE );\\nmessageHeader.setMessageCategory( MessageCategoryType.CARD_ACQUISITION );\\nmessageHeader.setMessageType( MessageType.REQUEST );\\nmessageHeader.setServiceID(serviceID);\\nmessageHeader.setSaleID(saleID);\\nmessageHeader.setPOIID(POIID);\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nCardAcquisitionRequest cardAcquisitionRequest = new CardAcquisitionRequest();\\nSaleData saleData = new SaleData();\\nTransactionIdentification saleTransactionID = new TransactionIdentification();\\nsaleTransactionID.setTransactionID(transactionID);\\nsaleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\nsaleData.setSaleTransactionID(saleTransactionID);\\nsaleData.setTokenRequestedType( TokenRequestedType.CUSTOMER );\\ncardAcquisitionRequest.setSaleData(saleData);\\n\\nCardAcquisitionTransaction cardAcquisitionTransaction = new CardAcquisitionTransaction();\\ncardAcquisitionTransaction.setTotalAmount( BigDecimal.valueOf(24.98) );\\ncardAcquisitionRequest.setCardAcquisitionTransaction(cardAcquisitionTransaction);\\nsaleToPOIRequest.setCardAcquisitionRequest(cardAcquisitionRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>No <code>CardAcquisitionResponse<\/code>, observe o seguinte:<\/p>\n<ul>\n<li><code>POIData.POITransactionID<\/code>: O <code>TimeStamp<\/code> e <code>TransactionID<\/code> desta solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o de cart\u00e3o. Voc\u00ea precisar\u00e1 desses dados posteriormente quando continuar com o pagamento.<\/li>\n<li><code>PaymentInstrumentData.CardData.PaymentToken.TokenValue<\/code>: O alias do cart\u00e3o. Este campo est\u00e1 inclu\u00eddo se voc\u00ea especificou um <code>TokenRequestedType<\/code> do <strong>Cliente<\/strong> em seu pedido. O alias tamb\u00e9m est\u00e1 inclu\u00eddo no <code>Response.AdditionalResponse<\/code>.<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>Verifique se a sequ\u00eacia <code>AdditionalResponse<\/code> da resposta de aquisi\u00e7\u00e3o do cart\u00e3o cont\u00e9m a  <code>shopperReference<\/code>.<\/p>\n<ul>\n<li>Se o <code>shopperReference<\/code> estiver ausente, o comprador ainda n\u00e3o \u00e9 conhecido. V\u00e1 para <a href=\"#create-shopper\">Criar um novo perfil de cliente e efetue um pagamento<\/a>.<\/li>\n<li>Se o <code>shopperReference<\/code> estiver presente o cliente j\u00e1 \u00e9 conhecido. V\u00e1 para <a href=\"#payment-for-recognized-shopper\">Efetuar um pagamento para um cliente reconhecido<\/a>.<\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<h2 id=\"create-shopper\">Crie um novo perfil de cliente e efetue um pagamento<\/h2>\n<p>Quando a resposta de aquisi\u00e7\u00e3o do cart\u00e3o mostra que o cliente ainda n\u00e3o \u00e9 conhecido, voc\u00ea continua com uma solicita\u00e7\u00e3o de pagamento que se refere \u00e0 aquisi\u00e7\u00e3o do cart\u00e3o e tamb\u00e9m cria identificadores de cliente.<\/p>\n<ol>\n<li>\n<p>Para <strong>reconhecimento ativo do cliente<\/strong>: Dependendo da l\u00f3gica de neg\u00f3cios, primeiro colete o endere\u00e7o de e-mail do cliente, pergunte se ele deseja se inscrever no seu programa de fidelidade e assim por diante.<br \/>\nVoc\u00ea pode fazer <a href=\"\/pt\/point-of-sale\/shopper-engagement\/shopper-input\">solicita\u00e7\u00f5es de entrada<\/a> para coletar essas informa\u00e7\u00f5es ou permitir que sua equipe insira as informa\u00e7\u00f5es no seu software de caixa registradora.<\/p>\n<\/li>\n<li>\n<p>Fa\u00e7a uma <a href=\"\/pt\/point-of-sale\/basic-tapi-integration\/make-a-payment#step-1-initiate-payment\">solicita\u00e7\u00e3o de pagamento<\/a> especificando um objeto <code>PaymentRequest.SaleData<\/code> que inclua adicionalmente:<\/p>\n<ul>\n<li>\n<p><code>TokenRequestedType<\/code>: <strong>Customer<\/strong>. Isso retorna o alias do cart\u00e3o no campo <code>TokenValue<\/code> da resposta. Se voc\u00ea n\u00e3o incluir o campo <code>TokenRequestedType<\/code>, o alias do cart\u00e3o ser\u00e1 retornado apenas no campo <code>AdditionalResponse<\/code>. Para o <strong>reconhecimento passivo de clien<\/strong> isso \u00e9 suficiente e voc\u00ea n\u00e3o precisa especificar mais identificadores de clientes.<\/p>\n<\/li>\n<li>\n<p><code>SaleToAcquirerData<\/code>: Dados para cirar identificadores de clientes para <strong>reconhecimento ativo de clientes<\/strong> e <strong>tokeniza\u00e7\u00e3o<\/strong>:<\/p>\n<ul>\n<li><code>shopperEmail<\/code>: O endere\u00e7o de e-mail do cliente, se voc\u00ea o coletou na primeira etapa.<\/li>\n<li><code>shopperReference<\/code>: Your unique reference for this shopper.<\/li>\n<li>\n<p><code>recurringContract<\/code>: <strong>ONECLICK,RECURRING<\/strong>. Inclua isso se desejar criar um token para <a href=\"\/pt\/online-payments\/tokenization\">pagamentos recorrentes<\/a> online.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<p>Passe esses dados em um dos seguintes formatos:<\/p>\n<ul>\n<li>Um objeto JSON convertido em uma sequ\u00eancia codificada Base64.<\/li>\n<li>Pares de valores-chave codificados em formul\u00e1rio (usando <strong>&amp;<\/strong> como separador). Por exemplo:<br \/>\n<code>shopperEmail=S.Hopper@example.com&amp;shopperReference=12345&amp;recurringContract=ONECLICK,RECURRING<\/code><\/li>\n<\/ul>\n<p>O formato que voc\u00ea usa aqui determina o formato <code>AdditionalResponse<\/code> que voc\u00ea receber\u00e1.<\/p>\n<\/li>\n<li>\n<p><code>PaymentData.CardAcquisitionReference<\/code>: O <code>Timestamp<\/code> e <code>TransactionID<\/code> da solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o do cart\u00e3o. Voc\u00ea recebeu esses dados no objeto <code>POIData.POITransactionID<\/code> do <code>CardAcquisitionResponse<\/code>.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'tokenization'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":[{\"name\":\"request\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"Payment\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"ServiceID\\\":\\\"01142\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"PaymentRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"12420\\\",\\n                    \\\"TimeStamp\\\":\\\"2020-01-07T14:15:25.114Z\\\"\\n                },\\n                \\\"SaleToAcquirerData\\\":\\\"shopperEmail=S.Hopper@example.com&amp;shopperReference=YOUR_UNIQUE_SHOPPER_ID&amp;recurringProcessingModel=UnscheduledCardOnFile\\\",\\n                \\\"TokenRequestedType\\\":\\\"Customer\\\"\\n            },\\n            \\\"PaymentTransaction\\\":{\\n                \\\"AmountsReq\\\":{\\n                    \\\"Currency\\\":\\\"EUR\\\",\\n                    \\\"RequestedAmount\\\":24.98\\n                }\\n            }\\n        }\\n    }\\n}\"},{\"name\":\"response\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"PaymentResponse\\\": {\\n            \\\"POIData\\\": {...},\\n            \\\"SaleData\\\": {...}\\n            \\\"PaymentReceipt\\\": [...],\\n            \\\"PaymentResult\\\": {\\n                ...\\n                \\\"PaymentInstrumentData\\\": {\\n                    \\\"CardData\\\": {\\n                        \\\"EntryMode\\\": [\\n                            \\\"Contactless\\\"\\n                        ],\\n                    \\\"PaymentToken\\\": {\\n                        \\\"TokenRequestedType\\\": \\\"Customer\\\",\\n                        \\\"TokenValue\\\": \\\"M469509594859802\\\"\\n                    },\\n                    \\\"PaymentBrand\\\": \\\"mc\\\",\\n                    \\\"MaskedPan\\\": \\\"541333 **** 9999\\\",\\n                    \\\"SensitiveCardData\\\": {\\n                        \\\"CardSeqNumb\\\": \\\"83\\\",\\n                        \\\"ExpiryDate\\\": \\\"0228\\\"\\n                    }\\n                },\\n                \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n            },\\n            \\\"AmountsResp\\\": {\\n                \\\"AuthorizedAmount\\\": 24.98,\\n                \\\"Currency\\\": \\\"EUR\\\"\\n            },\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Success\\\",\\n                \\\"AdditionalResponse\\\": \\\"...recurring.recurringDetailReference=8415790083332048...&amp;recurring.shopperReference=YOUR_UNIQUE_SHOPPER_ID...&amp;shopperReference=YOUR_UNIQUE_SHOPPER_ID&amp;shopperEmail=S.Hopper%40gmail.com...&amp;adjustAuthorisationData=BQABAQBoaOt7n1q1Ons6Ec...\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\n    }\\n}\"}]},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":[{\"name\":\"request\",\"content\":\"String serviceID = \\\"YOUR_UNIQUE_ATTEMPT_ID\\\";\\nString saleID = \\\"YOUR_CASH_REGISTER_ID\\\";\\nString POIID = \\\"YOUR_TERMINAL_ID\\\";\\nString transactionID = \\\"YOUR_UNIQUE_TRANSACTION_ID\\\";\\n\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nmessageHeader.setProtocolVersion(\\\"3.0\\\");\\nmessageHeader.setMessageClass( MessageClassType.SERVICE );\\nmessageHeader.setMessageCategory( MessageCategoryType.PAYMENT );\\nmessageHeader.setMessageType( MessageType.REQUEST );\\nmessageHeader.setServiceID(serviceID);\\nmessageHeader.setSaleID(saleID);\\nmessageHeader.setPOIID(POIID);\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nPaymentRequest paymentRequest = new PaymentRequest();\\nSaleData saleData = new SaleData();\\nsaleData.setSaleToAcquirerData(\\\"shopperEmail=s.hopper@example.com&amp;shopperReference=YOUR_UNIQUE_SHOPPER_ID_IOfW3k9G2PvXFu2j&amp;recurringProcessingModel=UnscheduledCardOnFile\\\");\\nsaleData.setTokenRequestedType( TokenRequestedType.CUSTOMER );\\nTransactionIdentification saleTransactionID = new TransactionIdentification();\\nsaleTransactionID.setTransactionID(transactionID);\\nsaleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\nsaleData.setSaleTransactionID(saleTransactionID);\\npaymentRequest.setSaleData(saleData);\\n\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\nAmountsReq amountsReq = new AmountsReq();\\namountsReq.setCurrency(\\\"EUR\\\");\\namountsReq.setRequestedAmount( BigDecimal.valueOf(24.98) );\\npaymentTransaction.setAmountsReq(amountsReq);\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\n\\nPaymentData paymentData = new PaymentData();\\nTransactionIdentification cardAcquisitionReference = new TransactionIdentification();\\ncardAcquisitionReference.setTransactionID(transactionID);\\ncardAcquisitionReference.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\npaymentData.setCardAcquisitionReference(cardAcquisitionReference);\\npaymentRequest.setPaymentData(paymentData);\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Na resposta de pagamento, observe o seguinte (pode ser necess\u00e1rio decodificar Base64 a cadeia primeiro):<\/p>\n<ul>\n<li><code>PaymentToken.TokenValue<\/code>: O alias do cart\u00e3o. Isso est\u00e1 inclu\u00eddo se voc\u00ea especificou um <code>TokenRequestedType<\/code> de <strong>Customer<\/strong> no seu pedido.<\/li>\n<li>\n<p>Os identificadores de clientes em <code>Response.AdditionalResponse<\/code>:<\/p>\n<ul>\n<li><code>alias<\/code>: O alias do cart\u00e3o.<\/li>\n<li><code>recurringDetailReference<\/code>: Um token que representa o m\u00e9todo de pagamento do cliente, para uso em pagamentos recorrentes on-line. Voc\u00ea recebe isso se voc\u00ea incluiu o par\u00e2metro <code>recurringContract<\/code> na solicita\u00e7\u00e3o.<\/li>\n<li><code>shopperReference<\/code>: Sua refer\u00eancia exclusiva para este comprador que voc\u00ea especificou na solicita\u00e7\u00e3o.<\/li>\n<li>\n<p><code>shopperEmail<\/code>: O endere\u00e7o de e-mail do cliente que voc\u00ea especificou na solicita\u00e7\u00e3o.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Os identificadores de cliente para esse comprador agora est\u00e3o armazenados na plataforma de pagamentos da Adyen.<\/p>\n<\/li>\n<li>\n<p>No seu sistema, crie um perfil de cliente para o cliente e armazene os identificadores de cliente que voc\u00ea recebeu na resposta de pagamento.<\/p>\n<\/li>\n<li>\n<p>Tamb\u00e9m armazene os dados da transa\u00e7\u00e3o com o perfil do cliente do cliente.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"payment-for-recognized-shopper\">Efetue um pagamento para um cliente reconhecido<\/h2>\n<p>Quando a resposta de aquisi\u00e7\u00e3o do cart\u00e3o mostra que o cliente j\u00e1 \u00e9 conhecido, voc\u00ea segue uma solicita\u00e7\u00e3o de pagamento referente \u00e0 aquisi\u00e7\u00e3o do cart\u00e3o.<\/p>\n<ol>\n<li>\n<p>Combine o <code>shopperReference<\/code> que voc\u00ea recebeu na resposta de aquisi\u00e7\u00e3o do cart\u00e3o com o <code>shopperReference<\/code> armazenado no seu sistema.<\/p>\n<\/li>\n<li>\n<p>Para <strong>reconhecimento ativo do cliente<\/strong>: Dependendo da l\u00f3gica de neg\u00f3cios, decida se deseja aplicar um desconto, oferecer um presente e assim por diante. Se necess\u00e1rio, atualize o valor devido.<\/p>\n<\/li>\n<li>\n<p>Fa\u00e7a uma <a href=\"\/pt\/point-of-sale\/card-acquisition#continue-with-payment\">solicita\u00e7\u00e3o de pagamento<\/a> especificando um objeto <code>PaymentRequest.PaymentData<\/code> que inclua adicionalmente:<\/p>\n<ul>\n<li><code>TokenRequestedType<\/code>: <strong>Customer<\/strong>. Isso retorna o alias do cart\u00e3o no campo <code>TokenValue<\/code> da resposta. Se voc\u00ea n\u00e3o incluir o campo <code>TokenRequestedType<\/code>, o alias do cart\u00e3o ser\u00e1 retornado apenas no <code>AdditionalResponse<\/code>.<\/li>\n<li>\n<p><code>CardAcquisitionReference<\/code>: A <code>Timestamp<\/code> e <code>TransactionID<\/code> da solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o do cart\u00e3o. Voc\u00ea recebeu esses dados no obejto <code>POIData.POITransactionID<\/code> da <code>CardAcquisitionResponse<\/code>.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<div data-component-wrapper=\"code-sample\">\n<code-sample :title=\"''\" :id=\"'shopper-recognized'\" :code-data='[{\"language\":\"json\",\"tabTitle\":\"JSON\",\"content\":[{\"name\":\"request\",\"content\":\"{\\n    \\\"SaleToPOIRequest\\\":{\\n        \\\"MessageHeader\\\":{\\n            \\\"ProtocolVersion\\\":\\\"3.0\\\",\\n            \\\"MessageClass\\\":\\\"Service\\\",\\n            \\\"MessageCategory\\\":\\\"Payment\\\",\\n            \\\"MessageType\\\":\\\"Request\\\",\\n            \\\"SaleID\\\":\\\"POSSystemID12345\\\",\\n            \\\"ServiceID\\\":\\\"01142\\\",\\n            \\\"POIID\\\":\\\"V400m-346403161\\\"\\n        },\\n        \\\"PaymentRequest\\\":{\\n            \\\"SaleData\\\":{\\n                \\\"SaleTransactionID\\\":{\\n                    \\\"TransactionID\\\":\\\"12420\\\",\\n                    \\\"TimeStamp\\\":\\\"2020-01-07T14:15:25.114Z\\\"\\n                },\\n                \\\"TokenRequestedType\\\":\\\"Customer\\\"\\n            },\\n            \\\"PaymentTransaction\\\":{\\n                \\\"AmountsReq\\\":{\\n                    \\\"Currency\\\":\\\"EUR\\\",\\n                    \\\"RequestedAmount\\\":24.98\\n                }\\n            },\\n            \\\"PaymentData\\\":{\\n                \\\"CardAcquisitionReference\\\":{\\n                    \\\"TimeStamp\\\": \\\"2020-01-17T14:14:48.000Z\\\",\\n                    \\\"TransactionID\\\": \\\"8ha5001579009268002\\\"\\n                }\\n            }\\n        }\\n    }\\n}\"},{\"name\":\"response\",\"content\":\"{\\n    \\\"SaleToPOIResponse\\\": {\\n        \\\"PaymentResponse\\\": {\\n            \\\"POIData\\\": {...},\\n            \\\"PaymentReceipt\\\": [...],\\n            \\\"PaymentResult\\\": {\\n                ...,\\n                \\\"PaymentInstrumentData\\\": {\\n                    \\\"CardData\\\": {\\n                        ...,\\n                        \\\"PaymentToken\\\": {\\n                            \\\"TokenRequestedType\\\": \\\"Customer\\\",\\n                            \\\"TokenValue\\\": \\\"M469509594859802\\\"\\n                        },\\n                        \\\"PaymentBrand\\\": \\\"mc\\\",\\n                        \\\"MaskedPan\\\": \\\"541333 **** 9999\\\",\\n                        \\\"SensitiveCardData\\\": {\\n                            \\\"CardSeqNumb\\\": \\\"83\\\",\\n                            \\\"ExpiryDate\\\": \\\"0228\\\"\\n                        }\\n                    },\\n                    \\\"PaymentInstrumentType\\\": \\\"Card\\\"\\n                },\\n                \\\"AmountsResp\\\": {\\n                    \\\"AuthorizedAmount\\\": 24.98,\\n                    \\\"Currency\\\": \\\"EUR\\\"\\n                }\\n            },\\n            \\\"Response\\\": {\\n                \\\"Result\\\": \\\"Success\\\",\\n                \\\"AdditionalResponse\\\": \\\"...recurring.recurringDetailReference=8415790083332048...&amp;recurring.shopperReference=YOUR_UNIQUE_SHOPPER_ID...&amp;shopperReference=YOUR_UNIQUE_SHOPPER_ID&amp;shopperEmail=S.Hopper%40gmail.com...&amp;adjustAuthorisationData=BQABAQBoaOt7n1q1Ons6Ec...\\\"\\n            }\\n        },\\n        \\\"MessageHeader\\\": {...}\\n    }\\n}\"}]},{\"language\":\"java\",\"tabTitle\":\"Java\",\"content\":[{\"name\":\"request\",\"content\":\"String serviceID = \\\"YOUR_UNIQUE_ATTEMPT_ID\\\";\\nString saleID = \\\"YOUR_CASH_REGISTER_ID\\\";\\nString POIID = \\\"YOUR_TERMINAL_ID\\\";\\nString transactionID = \\\"YOUR_UNIQUE_TRANSACTION_ID\\\";\\n\\nSaleToPOIRequest saleToPOIRequest = new SaleToPOIRequest();\\nMessageHeader messageHeader = new MessageHeader();\\nmessageHeader.setProtocolVersion(\\\"3.0\\\");\\nmessageHeader.setMessageClass( MessageClassType.SERVICE );\\nmessageHeader.setMessageCategory( MessageCategoryType.PAYMENT );\\nmessageHeader.setMessageType( MessageType.REQUEST );\\nmessageHeader.setServiceID(serviceID);\\nmessageHeader.setSaleID(saleID);\\nmessageHeader.setPOIID(POIID);\\nsaleToPOIRequest.setMessageHeader(messageHeader);\\n\\nPaymentRequest paymentRequest = new PaymentRequest();\\nSaleData saleData = new SaleData();\\nsaleData.setTokenRequestedType( TokenRequestedType.CUSTOMER );\\nTransactionIdentification saleTransactionID = new TransactionIdentification();\\nsaleTransactionID.setTransactionID(transactionID);\\nsaleTransactionID.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\nsaleData.setSaleTransactionID(saleTransactionID);\\npaymentRequest.setSaleData(saleData);\\n\\nPaymentTransaction paymentTransaction = new PaymentTransaction();\\nAmountsReq amountsReq = new AmountsReq();\\namountsReq.setCurrency(\\\"EUR\\\");\\namountsReq.setRequestedAmount( BigDecimal.valueOf(24.98) );\\npaymentTransaction.setAmountsReq(amountsReq);\\npaymentRequest.setPaymentTransaction(paymentTransaction);\\n\\nPaymentData paymentData = new PaymentData();\\nTransactionIdentification cardAcquisitionReference = new TransactionIdentification();\\ncardAcquisitionReference.setTransactionID(transactionID);\\ncardAcquisitionReference.setTimeStamp(DatatypeFactory.newInstance().newXMLGregorianCalendar(new GregorianCalendar()));\\npaymentData.setCardAcquisitionReference(cardAcquisitionReference);\\npaymentRequest.setPaymentData(paymentData);\\nsaleToPOIRequest.setPaymentRequest(paymentRequest);\\nterminalAPIRequest.setSaleToPOIRequest(saleToPOIRequest);\"}]}]' :enable-copy-link-to-code-block=\"true\" :code-sample-card-size=\"'fullsize'\"><\/code-sample>\n<\/div>\n<\/li>\n<li>\n<p>Na resposta de pagamento, observe o seguinte (pode ser necess\u00e1rio decodificar Base64 a cadeia primeiro):<\/p>\n<ul>\n<li><code>PaymentToken.TokenValue<\/code>: O alias do cart\u00e3o. Isso est\u00e1 inclu\u00eddo se voc\u00ea especificou um <code>TokenRequestedType<\/code> do <strong>Customer<\/strong> no seu pedido.<\/li>\n<li>\n<p>Os identificadores de cliente no <code>Response.AdditionalResponse<\/code>:<\/p>\n<ul>\n<li><code>alias<\/code>: O alias do cart\u00e3o.<\/li>\n<li><code>recurringDetailReference<\/code>: Um token que representa o m\u00e9todo de pagamento do cliente, para uso em <a href=\"\/pt\/online-payments\/tokenization\">pagamentos recorrentes<\/a> online.<\/li>\n<li><code>shopperReference<\/code>: Sua refer\u00eancia exclusiva para este cliente.<\/li>\n<li>\n<p><code>shopperEmail<\/code>: O endere\u00e7o de e-mail do cliente.<\/p>\n<!-- list separator -->\n<\/li>\n<\/ul>\n<p>Voc\u00ea pode n\u00e3o receber tudo isso, dependendo dos par\u00e2metros que voc\u00ea incluiu ao <a href=\"#create-shopper\">criar um novo perfil de cliente<\/a>.<\/p>\n<\/li>\n<\/ul>\n<\/li>\n<li>\n<p>No seu sistema, armazene os dados da transa\u00e7\u00e3o com o perfil do cliente.<\/p>\n<\/li>\n<\/ol>\n<h2 id=\"see-also\">Veja tamb\u00e9m<\/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                    Aquisi\u00e7\u00e3o de cart\u00e3o\n                <\/a><\/li><li><a href=\"\/point-of-sale\/pass-additional-data\"\n                        target=\"_self\"\n                        >\n                    Passar dados adicionais\n                <\/a><\/li><li><a href=\"\/online-payments\/tokenization\"\n                        target=\"_self\"\n                        >\n                    Tokeniza\u00e7\u00e3o\n                <\/a><\/li><\/ul><\/div>\n","url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-recognition","articleFields":{"description":"Vincule os detalhes da transa\u00e7\u00e3o a um cliente para obter insights, informa\u00e7\u00f5es sobre o engajamento do cliente e tokeniza\u00e7\u00e3o.","id":"42857073","type":"page","_expandable":{"operations":""},"status":"current","last_edit_on":"12-05-2020 15:53"},"algolia":{"url":"https:\/\/docs.adyen.com\/pt\/point-of-sale\/shopper-recognition","title":"Reconhecimento de clientes e tokeniza\u00e7\u00e3o","content":"A conex\u00e3o dos identificadores de clientes com os detalhes da transa\u00e7\u00e3o permite:\n\n\nReconhecimento passivo de clientes: obtenha insights para expandir seus neg\u00f3cios.\nPor exemplo, os dados de origem do cliente podem ajud\u00e1-lo a decidir se voc\u00ea deve aceitar novas formas de pagamento, oferecer convers\u00e3o de moeda em seus terminais, adicionar sinaliza\u00e7\u00e3o em outros idiomas da loja e assim por diante.\n\n\nReconhecimento ativo de clientes: Envolva clientes j\u00e1 reconhecidos personalizando sua experi\u00eancia de compra.\nPor exemplo, aplique descontos ou presentes de fidelidade no local ou envie ao comprador um recibo eletr\u00f4nico por e-mail.\n\n\nTokeniza\u00e7\u00e3o: para pagamentos recorrentes.\nVoc\u00ea pode usar isso ao vender produtos cruzados que exigem pagamentos regulares, como uma ap\u00f3lice de seguro para um produto que o cliente comprou em sua loja.\n\n\nTudo isso \u00e9 especialmente poderoso em todos os canais. Veja nossa solu\u00e7\u00e3o de com\u00e9rcio unificado para obter mais informa\u00e7\u00f5es e casos de uso.\nIdentificadores de clientes e perfis de clientes\nAs solicita\u00e7\u00f5es de aquisi\u00e7\u00e3o e pagamento de cart\u00e3o podem retornar v\u00e1rios identificadores de clientes que voc\u00ea pode usar para reconhecimento e tokeniza\u00e7\u00e3o passivos e ativos dos clientes:\n\nAlias do cart\u00e3o: Um valor que representa exclusivamente o n\u00famero do cart\u00e3o (PAN) do comprador, por exemplo  A37317672402294.\nRefer\u00eancia do cliente: Um valor exclusivo de sua escolha para identificar o cliente. Se voc\u00ea tamb\u00e9m coletar o endere\u00e7o de e-mail do cliente, poder\u00e1 vincular v\u00e1rios aliases de cart\u00e3o ao mesmo cliente por meio do endere\u00e7o de e-mail.\nPa\u00eds emissor: C\u00f3digo do pa\u00eds em que o cart\u00e3o foi emitido. Geralmente, esse \u00e9 um bom indicador da nacionalidade do cliente.\nFonte de financiamento: Fonte de financiamento do cart\u00e3o, como d\u00e9bito, cr\u00e9dito ou pr\u00e9-pago.\nRefer\u00eancia detalhada recorrente: O token para pagamentos recorrentes. Para esses pagamentos, o cliente n\u00e3o precisa estar presente, mas o alias do cart\u00e3o deve estar vinculado ao endere\u00e7o de e-mail do cliente. Para mais informa\u00e7\u00f5es, consulte nossa documenta\u00e7\u00e3o sobre Tokeniza\u00e7\u00e3o documentation.\n\nCabe a voc\u00ea decidir qual desses identificadores voc\u00ea deseja usar. No banco de dados do cliente, voc\u00ea precisa criar um perfil para cada cliente para armazenar seus identificadores, bem como os detalhes da transa\u00e7\u00e3o. Dessa forma, voc\u00ea poder\u00e1 vincular um novo pagamento a pagamentos anteriores feitos com o mesmo cart\u00e3o ou pelo mesmo cliente.\nAntes de come\u00e7ar\nAntes de come\u00e7ar a vincular os detalhes do cart\u00e3o aos clientes:\n\n\nCertifique-se de:\n\nCriar uma integra\u00e7\u00e3o capaz de efetuar um pagamento.\n\nLer e compreender a documenta\u00e7\u00e3o de aquisi\u00e7\u00e3o do cart\u00e3o.\n\n\n\n\nConsidere como voc\u00ea dever\u00e1 lidar com as implica\u00e7\u00f5es de privacidade.\n\nGerenciando dados e privacidade do cliente\nAntes de armazenar quaisquer dados do cliente, voc\u00ea deve consultar as leis e regulamentos locais nos pa\u00edses em que opera. Voc\u00ea tamb\u00e9m deve solicitar permiss\u00e3o expl\u00edcita do seu cliente para armazenar esses dados e ter clareza sobre o que pretende us\u00e1-los.\nOferecemos uma API de prote\u00e7\u00e3o de dados. Voc\u00ea pode us\u00e1-la para remover todos os dados do cliente que voc\u00ea armazenou na Adyen, a fim de atender ao right to erasure mandate do Regulamento Geral de Prote\u00e7\u00e3o de Dados (GDPR).\nAtivar receptores de identificadores de clientes\n\n\nEm sua Customer Area, v\u00e1 para Developers &gt; Additional data e, selecione estas op\u00e7\u00f5es:\n\nRecurring details\nRecurring contract type\nissuerCountry\n\nFunding source\n\n\n\nA API de terminais retorna esses dados no AdditionalResponse.\n\n\nOpcionalmente, receba identificadores de clientes tamb\u00e9m em webhooks de notifica\u00e7\u00e3o:\n\nConfigure webhooks de notifica\u00e7\u00e3o .\n\nEntre em contato com nossa Support Team e solicite que ele garanta que o alias do cart\u00e3o esteja inclu\u00eddo na notifica\u00e7\u00e3o.\n\n\n\n\n\nComo funciona\nQuando o cliente faz uma compra na sua loja:\n\nVoc\u00ea faz uma solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o de cart\u00e3o para verificar se o cliente \u00e9 reconhecido.\nSe a resposta de aquisi\u00e7\u00e3o do cart\u00e3o indicar que voc\u00ea n\u00e3o possui registro do cliente, rie um novo perfil de cliente e fa\u00e7a um pagamento. Opcionalmente, tokenize os detalhes do cart\u00e3o para pagamentos recorrentes.\nA partir de agora, o cliente ser\u00e1 reconhecido com base na refer\u00eancia que voc\u00ea criar com essa solicita\u00e7\u00e3o de pagamento.\nSe a resposta de aquisi\u00e7\u00e3o do cart\u00e3o indicar que voc\u00ea j\u00e1 possui o cliente registrado, efetue um pagamento para um cliente reconhecido.\n\nVerifique se o cliente \u00e9 reconhecido\nQuando o cliente faz uma compra, verifique primeiro se voc\u00ea j\u00e1 possui o registro. Isso tamb\u00e9m \u00e9 conhecido como 'reconhecimento pr\u00e9-transa\u00e7\u00e3o'.\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o de cart\u00e3o request.\n\n\n\n\n\nNo CardAcquisitionResponse, observe o seguinte:\n\nPOIData.POITransactionID: O TimeStamp e TransactionID desta solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o de cart\u00e3o. Voc\u00ea precisar\u00e1 desses dados posteriormente quando continuar com o pagamento.\nPaymentInstrumentData.CardData.PaymentToken.TokenValue: O alias do cart\u00e3o. Este campo est\u00e1 inclu\u00eddo se voc\u00ea especificou um TokenRequestedType do Cliente em seu pedido. O alias tamb\u00e9m est\u00e1 inclu\u00eddo no Response.AdditionalResponse.\n\n\n\nVerifique se a sequ\u00eacia AdditionalResponse da resposta de aquisi\u00e7\u00e3o do cart\u00e3o cont\u00e9m a  shopperReference.\n\nSe o shopperReference estiver ausente, o comprador ainda n\u00e3o \u00e9 conhecido. V\u00e1 para Criar um novo perfil de cliente e efetue um pagamento.\nSe o shopperReference estiver presente o cliente j\u00e1 \u00e9 conhecido. V\u00e1 para Efetuar um pagamento para um cliente reconhecido.\n\n\n\nCrie um novo perfil de cliente e efetue um pagamento\nQuando a resposta de aquisi\u00e7\u00e3o do cart\u00e3o mostra que o cliente ainda n\u00e3o \u00e9 conhecido, voc\u00ea continua com uma solicita\u00e7\u00e3o de pagamento que se refere \u00e0 aquisi\u00e7\u00e3o do cart\u00e3o e tamb\u00e9m cria identificadores de cliente.\n\n\nPara reconhecimento ativo do cliente: Dependendo da l\u00f3gica de neg\u00f3cios, primeiro colete o endere\u00e7o de e-mail do cliente, pergunte se ele deseja se inscrever no seu programa de fidelidade e assim por diante.\nVoc\u00ea pode fazer solicita\u00e7\u00f5es de entrada para coletar essas informa\u00e7\u00f5es ou permitir que sua equipe insira as informa\u00e7\u00f5es no seu software de caixa registradora.\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o de pagamento especificando um objeto PaymentRequest.SaleData que inclua adicionalmente:\n\n\nTokenRequestedType: Customer. Isso retorna o alias do cart\u00e3o no campo TokenValue da resposta. Se voc\u00ea n\u00e3o incluir o campo TokenRequestedType, o alias do cart\u00e3o ser\u00e1 retornado apenas no campo AdditionalResponse. Para o reconhecimento passivo de clien isso \u00e9 suficiente e voc\u00ea n\u00e3o precisa especificar mais identificadores de clientes.\n\n\nSaleToAcquirerData: Dados para cirar identificadores de clientes para reconhecimento ativo de clientes e tokeniza\u00e7\u00e3o:\n\nshopperEmail: O endere\u00e7o de e-mail do cliente, se voc\u00ea o coletou na primeira etapa.\nshopperReference: Your unique reference for this shopper.\n\nrecurringContract: ONECLICK,RECURRING. Inclua isso se desejar criar um token para pagamentos recorrentes online.\n\n\n\nPasse esses dados em um dos seguintes formatos:\n\nUm objeto JSON convertido em uma sequ\u00eancia codificada Base64.\nPares de valores-chave codificados em formul\u00e1rio (usando &amp; como separador). Por exemplo:\nshopperEmail=S.Hopper@example.com&amp;shopperReference=12345&amp;recurringContract=ONECLICK,RECURRING\n\nO formato que voc\u00ea usa aqui determina o formato AdditionalResponse que voc\u00ea receber\u00e1.\n\n\nPaymentData.CardAcquisitionReference: O Timestamp e TransactionID da solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o do cart\u00e3o. Voc\u00ea recebeu esses dados no objeto POIData.POITransactionID do CardAcquisitionResponse.\n\n\n\n\n\n\n\n\nNa resposta de pagamento, observe o seguinte (pode ser necess\u00e1rio decodificar Base64 a cadeia primeiro):\n\nPaymentToken.TokenValue: O alias do cart\u00e3o. Isso est\u00e1 inclu\u00eddo se voc\u00ea especificou um TokenRequestedType de Customer no seu pedido.\n\nOs identificadores de clientes em Response.AdditionalResponse:\n\nalias: O alias do cart\u00e3o.\nrecurringDetailReference: Um token que representa o m\u00e9todo de pagamento do cliente, para uso em pagamentos recorrentes on-line. Voc\u00ea recebe isso se voc\u00ea incluiu o par\u00e2metro recurringContract na solicita\u00e7\u00e3o.\nshopperReference: Sua refer\u00eancia exclusiva para este comprador que voc\u00ea especificou na solicita\u00e7\u00e3o.\n\nshopperEmail: O endere\u00e7o de e-mail do cliente que voc\u00ea especificou na solicita\u00e7\u00e3o.\n\n\n\n\n\nOs identificadores de cliente para esse comprador agora est\u00e3o armazenados na plataforma de pagamentos da Adyen.\n\n\nNo seu sistema, crie um perfil de cliente para o cliente e armazene os identificadores de cliente que voc\u00ea recebeu na resposta de pagamento.\n\n\nTamb\u00e9m armazene os dados da transa\u00e7\u00e3o com o perfil do cliente do cliente.\n\n\nEfetue um pagamento para um cliente reconhecido\nQuando a resposta de aquisi\u00e7\u00e3o do cart\u00e3o mostra que o cliente j\u00e1 \u00e9 conhecido, voc\u00ea segue uma solicita\u00e7\u00e3o de pagamento referente \u00e0 aquisi\u00e7\u00e3o do cart\u00e3o.\n\n\nCombine o shopperReference que voc\u00ea recebeu na resposta de aquisi\u00e7\u00e3o do cart\u00e3o com o shopperReference armazenado no seu sistema.\n\n\nPara reconhecimento ativo do cliente: Dependendo da l\u00f3gica de neg\u00f3cios, decida se deseja aplicar um desconto, oferecer um presente e assim por diante. Se necess\u00e1rio, atualize o valor devido.\n\n\nFa\u00e7a uma solicita\u00e7\u00e3o de pagamento especificando um objeto PaymentRequest.PaymentData que inclua adicionalmente:\n\nTokenRequestedType: Customer. Isso retorna o alias do cart\u00e3o no campo TokenValue da resposta. Se voc\u00ea n\u00e3o incluir o campo TokenRequestedType, o alias do cart\u00e3o ser\u00e1 retornado apenas no AdditionalResponse.\n\nCardAcquisitionReference: A Timestamp e TransactionID da solicita\u00e7\u00e3o de aquisi\u00e7\u00e3o do cart\u00e3o. Voc\u00ea recebeu esses dados no obejto POIData.POITransactionID da CardAcquisitionResponse.\n\n\n\n\n\n\n\n\nNa resposta de pagamento, observe o seguinte (pode ser necess\u00e1rio decodificar Base64 a cadeia primeiro):\n\nPaymentToken.TokenValue: O alias do cart\u00e3o. Isso est\u00e1 inclu\u00eddo se voc\u00ea especificou um TokenRequestedType do Customer no seu pedido.\n\nOs identificadores de cliente no Response.AdditionalResponse:\n\nalias: O alias do cart\u00e3o.\nrecurringDetailReference: Um token que representa o m\u00e9todo de pagamento do cliente, para uso em pagamentos recorrentes online.\nshopperReference: Sua refer\u00eancia exclusiva para este cliente.\n\nshopperEmail: O endere\u00e7o de e-mail do cliente.\n\n\n\nVoc\u00ea pode n\u00e3o receber tudo isso, dependendo dos par\u00e2metros que voc\u00ea incluiu ao criar um novo perfil de cliente.\n\n\n\n\nNo seu sistema, armazene os dados da transa\u00e7\u00e3o com o perfil do cliente.\n\n\nVeja tamb\u00e9m\n\n\n                    Aquisi\u00e7\u00e3o de cart\u00e3o\n                \n                    Passar dados adicionais\n                \n                    Tokeniza\u00e7\u00e3o\n                \n","type":"page","locale":"pt","boost":18,"hierarchy":{"lvl0":"Home","lvl1":"Terminais","lvl2":"Reconhecimento de clientes e tokeniza\u00e7\u00e3o"},"hierarchy_url":{"lvl0":"https:\/\/docs.adyen.com\/pt","lvl1":"https:\/\/docs.adyen.com\/pt\/point-of-sale","lvl2":"\/pt\/point-of-sale\/shopper-recognition"},"levels":3,"category":"In-person payments","category_color":"green","tags":["Reconhecimento","clientes","tokeniza\u00e7\u00e3o"]},"articleFiles":{"card-acquisition.request.json":"<p alt=\"\">card-acquisition.request.json<\/p>","card-acquisition.response.json":"<p alt=\"\">card-acquisition.response.json<\/p>","create-identifiers.request.json":"<p alt=\"\">create-identifiers.request.json<\/p>","create-identifiers.response.json":"<p alt=\"\">create-identifiers.response.json<\/p>","shopper-recognized.request.json":"<p alt=\"\">shopper-recognized.request.json<\/p>","shopper-recognized.response.json":"<p alt=\"\">shopper-recognized.response.json<\/p>","simple-payment.request.json":"<p alt=\"\">simple-payment.request.json<\/p>","tokenization.request.json":"<p alt=\"\">tokenization.request.json<\/p>","tokenization.response.json":"<p alt=\"\">tokenization.response.json<\/p>"}}
