Are you looking for test card numbers?

Would you like to contact support?

Default icon

Criando perfis de clientes

Crie um perfil para seus clientes, online e na loja.

Antes de poder reconhecer um cliente, é necessário criar um perfil para ele no CRM (Customer Relationship Management System) ou em outro banco de dados. Cada perfil de cliente deve incluir os seguintes identificadores:

  • Detalhes de contato, como um endereço de e-mail. Isso permite que você entre em contato com esse cliente (por exemplo, para informá-lo sobre recompensas de fidelidade, ou para enviar um recibo digital).
  • Uma referência exclusiva que você gera para cada cliente. Você armazena esse identificador com a Adyen e o usa para identificar o cliente quando ele faz uma compra.
  • Um token gerado pela Adyen representando os detalhes do cartão. Você recebe esse token da Adyen ao efetuar um pagamento. Você pode usar isso para oferecer ao cliente um checkout online com menos atrito mostrando o cartão salvo, ou crie uma assinatura para seus produtos ou serviços.

Você sempre deve pedir o consentimento do seu cliente antes de armazenar suas informações pessoais ou tokenizar seu cartão. Para mais informações, consulte Gerenciando a privacidade do cliente.

Neste guia, mostraremos como criar um perfil para um cliente quando você efetuar um pagamento online ou na loja. Você poderá reconhecer esse cliente na próxima vez que efetuar uma compra.

Criar perfil a partir do pagamento online

Pedir consentimento do cliente

Você está usando o Drop-in ou nosso componente de cartão? Você pode configurar sua integração para mostrar uma caixa de seleção Salvar detalhes para a próxima vez em sua forma de pagamento

Se os clientes selecionarem esta caixa, eles escolherão salvar e tokenizar os detalhes do cartão.

Quando um cliente faz uma compra em sua loja virtual ou no aplicativo, colete os detalhes de contato (como o endereço de e-mail) em seu pagamento e gere uma referência exclusiva para ele.

Para criar um perfil de cliente:

  1. Faça uma solicitação POST /payments para iniciar o pagamento. Nesta solicitação, inclua adicionalmente:

    • shopperEmail: O endereço de e-mail do cliente.
    • shopperReference: Sua referência exclusiva para este cliente.
    • storePaymentMethod: Defina como true se o cliente optar por salvar os detalhes do cartão para pagamentos futuros ou para uma assinatura.

    O exemplo abaixo mostra como você faria uma solicitação de pagamento de 10.99 EUR, armazenando os detalhes do cliente e solicitando um token representando seu cartão. Este cliente tem o endereço de e-mails john.smith@example.com e a referência exclusiva john_smith:

    Pedido de pagamento online
    {
        "amount":{
            "value":1099,
            "currency":"EUR"
        },
        "paymentMethod": {
          "type": "scheme",
          "encryptedCardNumber": "test_4111111111111111",
          "encryptedExpiryMonth": "test_03",
          "encryptedExpiryYear": "test_2030",
          "encryptedSecurityCode": "test_737"
        },
        "reference":"YOUR_ORDER_NUMBER",
        "merchantAccount":"YOUR_MERCHANT_ACCOUNT",
        "returnUrl":"https://your-company.com/...",
        "shopperReference":"john_smith",
        "shopperEmail":"john.smith@example.com",
        "storePaymentMethod":true
    }

    Você recebe uma resposta contendo um objeto additionalData. Se o pagamento foi bem sucedido, este objeto inclui:

    • shopperEmail: Endereço de e-mail do cliente. Isso ecoa o shopperEmail fornecido na solicitação de pagamento
    • shopperReference: Sua referência exclusiva para o cliente. Isso ecoa o shopperReference fornecido na solicitação de pagamento.
    • recurringDetailReference: Token que representa o cartão salvo do cliente.

    O exemplo abaixo é de um pagamento bem-sucedido, onde os detalhes do cliente foram salvos com sucesso com a Adyen. Isso inclui uma recurringDetailReference 7219687191761347, indicando que seu método de pagamento foi tokenizado.

    Resposta de pagamento online
    {
        "additionalData":{
            "recurring.shopperEmail":"john.smith@example.com",
            "recurring.shopperReference":"john_smith",
            "recurring.recurringDetailReference":"7219687191761347",
            ...
        },
        "pspReference":"881468919096134D",
        "resultCode":"Authorised"
    }
  2. Armazene o shopperEmail, shopperReference, e recurringDetailReference em seu banco de dados de clientes. Para mais informações, consulte Armazenar dados do cliente.

    Você poderá usar o shopperEmail e shopperReference para esse cliente quando ele fizer uma compra em suas lojas físicas ou online.

Em seguida, vamos descobrir como criar um perfil de cliente na loja, a partir de um pagamento no terminal.

Criar perfil a partir do pagamento na loja

Assim como uma compra on-line, quando seu cliente faz um pagamento na loja, você precisa coletar os detalhes de contato e enviá-los em uma solicitação de pagamento.

Para incentivar seu cliente a fornecer os detalhes de contato, você pode oferecer incentivos, como fidelidade vinculada ao pagamento, ou a opção de receber o recibo por e-mail .

Para criar um perfil de cliente a partir de um pagamento na loja:

  1. Colete os detalhes de contato do seu cliente, como um endereço de e-mail.

    Existem várias maneiras de fazer isso. Você pode permitir que seu cliente insira isso diretamente no terminal, usando a. Como alternativa, sua equipe pode solicitar essas informações e inseri-las no seu software de caixa registradora.

    Nos exemplos abaixo, explicaremos como coletar o endereço de e-mail de um cliente no terminal. Isso usará solicitações de entrada GetText, que você pode iniciar a partir da sua caixa registradora. O OutputText.Text que você fornecer nesta solicitação será apresentado ao cliente.

    Solicitação de entrada GetText
    {
      "SaleToPOIRequest": {
        "MessageHeader": {
            "ProtocolVersion":"3.0",
            "MessageClass":"Service",
            "MessageCategory":"Payment",
            "MessageType":"Request",
            "ServiceID":"0207112304",
            "SaleID":"POSSystemID12345",
            "POIID":"V400m-324688179"
        },
        "InputRequest": {
          "DisplayOutput": {
            "Device": "CustomerDisplay",
            "InfoQualify": "Display",
            "OutputContent": {
              "OutputFormat": "Text",
              "PredefinedContent": {
                "ReferenceID": "GetText"
              },
              "OutputText": [
                {"Text": "Enter your email address"}
              ]
            }
          },
          "InputData": {
            "Device": "CustomerInput",
            "InfoQualify": "Input",
            "InputCommand": "TextString",
            "MaxInputTime": 120,
            "DefaultInputString": "name@domain.com"
          }
        }
      }
    }

    Um teclado aparecerá na tela o terminal, onde seu cliente pode inserir o endereço de e-mail..

    Você recebe uma resposta de entrada quando o cliente terminar de inserir o endereço de e-mail. O texto digitado pelo cliente é fornecido no Input.TextInput.

    O exemplo abaixo mostra como seria essa resposta se um cliente digitasse john.smith@example.com como endereço de e-mail.

    Resposta de entrada GetText
    {
      "SaleToPOIResponse": {
        "InputResponse": {
          "InputResult": {
            "Device":"CustomerInput",
            "InfoQualify":"Input",
            ...
            },
            "Input": {
              "TextInput":"john.smith@example.com",
              "InputCommand":"TextString"
            }
          },
          "OutputResult": {
            "Device":"CustomerDisplay",
            "InfoQualify":"Display",
            "Response": {
              "Result":"Success"
            }
          }
        },
        "MessageHeader": {...}
      }
    }

  1. Inicie o pagamento fazendo uma solicitação de pagamento. Nesta solicitação, inclua adicionalmente o seguinte no objeto PaymentRequest.SaleData:

    • TokenRequestedType: Se o cliente concordar em tokenizar seus detalhes de pagamento, forneça esse parâmetro com um valor de Customer. Isso salva os detalhes do cartão do cliente e cria um token.
    • SaleToAcquirerData: Inclua os seguintes parâmetros como um objeto JSON convertido em uma cadeia codificada em base64 ou como pares de valores-chave codificados em formulário. Para o nosso exemplo, usaremos um formato de par de valor-chave codificado em formulário.
      • shopperReference: Sua referência exclusiva para o cliente.
      • shopperEmail: O endereço de e-mail do cliente que você recebeu da resposta de entrada GetText.
      • recurringContract: Se o cliente concordar em tokenizar seus detalhes de pagamento, forneça esse parâmetro com o valo RECURRING,ONECLICK. Isso cria um token que você pode usar para assinaturas e para pagamentos futuros em sua loja online.

    Antes de salvar os detalhes de pagamento de um cliente, solicite seu consentimento. Para mais informações, consulte Gerenciando a privacidade do cliente.

    O exemplo abaixo mostra como você faria uma solicitação de pagamento de 10.99 EUR, armazenando os detalhes do cliente e solicitando um token representando seu cartão. Este cliente tem o endereço de e-mails john.smith@example.com e a referência exclusiva john_smith:

    Solicitação da API de terminais
    {
        "SaleToPOIRequest":{
            "MessageHeader":{
                "ProtocolVersion":"3.0",
                "MessageClass":"Service",
                "MessageCategory":"Payment",
                "MessageType":"Request",
                "ServiceID":"0207112304",
                "SaleID":"POSSystemID12345",
                "POIID":"V400m-324688179"
            },
            "PaymentRequest":{
                "SaleData":{
                    "SaleTransactionID":{
                        "TransactionID":"27958",
                        "TimeStamp":"2019-12-12T10:11:04+00:00"
                    },
                    "TokenRequestedType":"Customer",
                    "SaleToAcquirerData":"shopperReference=john_smith&shopperEmail=john.smith@example.com&recurringContract=RECURRING,ONECLICK"
                },
                "PaymentTransaction":{
                    "AmountsReq":{
                        "Currency":"EUR",
                        "RequestedAmount":10.99
                    }
                }
            }
        }
    }

    Você recebe uma resposta de pagamento contendo um objeto de sequência PaymentResponse.Response.AdditionalResponse. Se o pagamento foi bem-sucedido, a sequência inclui:

    • shopperEmail: Endereço de e-mail do cliente. Isso ecoa o shopperEmail que você pforneceu na solicitação de pagamento.
    • shopperReference: Sua referência exclusiva para o cliente. Isso ecoa o shopperReference que você forneceu na solicitação de pagamento.
    • recurringDetailReference: Token que representa os detalhes do cartão deste cliente.
      Você pode usar esse token para oferecer ao seu cliente uma experiência de checkout sem atrito, ou criar uma assinatura para seus produtos ou serviços.

    O exemplo abaixo é de um pagamento bem-sucedido, no qual os detalhes do cliente foram armazenados com sucesso na Adyen. Isso inclui o recurringDetailReference 7219687191761347, indicando que seu método de pagamento foi tokenizado.

    Resposta de pagamento
    {
      "SaleToPOIResponse":{
        "MessageHeader":{...},
        "PaymentResponse":{
          "Response":{
            "Result":"Success",
            "AdditionalResponse":"...recurringDetailReference=8315753858208091&shopperReference=john_smith&shopperEmail=john.smith@example.com"
          },
          ...
        },
        "PaymentReceipt":{...}
      }
    }
  2. Armazenar o shopperEmail, shopperReference, e o recurringDetailReference seu banco de dados de clientes. Para mais informações, consulte Armazenar dados do cliente.

Você poderá usar o shopperEmail e shopperReference para reconhecer esse cliente quando ele fizer uma compra novamente, seja online ou na loja. Você também pode usar o shopperReference e recurringDetailReference para oferecer ao cliente um checkout sem atrito mostrando o cartão salvo ou criar uma assinatura para seus produtos ou serviços.

Armazenar dados do cliente

Você precisará armazenar os dados do cliente coletados em suas lojas físicas ou online como um registro em seu CRM ou outro banco de dados.

Em cada perfil de cliente, armazene as seguintes informações:

  • shopperEmail: O endereço de e-mail do cliente.
  • shopperReference: Sua referência exclusiva para o cliente.
  • recurringDetailReference: Token que representa os detalhes do cartão do cliente. Caso um cliente tenha vários cartões, crie um token para cada cartão usando o mesmo shopperReference em sua solicitação de pagamento. Adicione o novo recurringDetailReference retornado na resposta ao registro do cliente existente. Para saber se um cliente está usando um novo cartão, primeiro você precisa reconhecê-lo.

    Para obter mais informações sobre como criar e gerenciar tokens, consulte nossa documentação sobre Tokenização.

Você precisará tornar os dados neste registro legíveis e graváveis para todos os seus canais de vendas.

Gerenciando dados e privacidade do cliente

Antes de armazenar quaisquer dados do cliente, incluindo o método de pagamento tokenizado, você deve consultar as leis e os regulamentos locais nos países em que opera. Você também deve solicitar a permissão explícita do cliente para armazenar esses dados e ser claro para o motivo que você pretende usá-los.

Se o cliente solicitar a remoção de suas informações, você poderá usar nossa API de proteção de dados para remover quaisquer dados relacionados ao cliente que você tenha armazenado com a Adyen. A API também permite que você cumpra com o Regulamento Geral de Proteção de Dados (GDPR) para apagar o mandato.

Próximos passos

Agora que você pode criar perfis de clientes em seu banco de dados, vamos descobrir como você pode reconhecer seus clientes que retornam.

Você também pode aprender como usar os tokens recebidos da Adyen para efetuar pagamentos únicos ou de assinatura.