Proteja transações de pagamento com a prevenção contra fraudes

Nesta página, descrevemos como usar a prevenção contra fraudes do reCAPTCHA Enterprise para proteger suas transações de pagamento de maneira eficaz contra ataques, como cartões de crédito, fraudes de instrumentos roubados e fraudes de pagamento de contas.

A prevenção contra fraudes do reCAPTCHA Enterprise ajuda a proteger transações de pagamento identificando ataques manuais direcionados e tentativas de fraude em escala. Ela treina automaticamente modelos de comportamento e transação para identificar eventos que provavelmente são fraudulentos e podem resultar em uma disputa ou estorno, se aceito.

Como parte desses modelos, a prevenção contra fraudes do reCAPTCHA Enterprise examina indicadores de transações para permitir a detecção de fraudes. Por exemplo, uma série de tentativas de compra com preços baixos pode indicar um ataque de carding. Na resposta, você recebe pontuações de risco para diferentes tipos de fraude, que podem ser usadas para enviar a transação para uma revisão manual ou bloquear diretamente transações suspeitas o suficiente.

Para configurar a prevenção contra fraudes do reCAPTCHA Enterprise, você precisa concluir as seguintes etapas:

  1. Instale uma chave reCAPTCHA Enterprise baseada em pontuação para instalar o JavaScript reCAPTCHA Enterprise no front-end de pagamento.

    Quando o JavaScript é executado, o reCAPTCHA gera um token reCAPTCHA exclusivo para cada sessão do usuário e coleta dados comportamentais para avaliar o usuário.

  2. Envie uma solicitação de criação da API de avaliação do back-end com dados de transação em eventos do usuário no seu fluxo de trabalho de pagamento.

    Na resposta à solicitação de criação da API de avaliação, o reCAPTCHA Enterprise fornece uma pontuação para o risco da transação e outro código de motivo (por exemplo, suspected_carding), se aplicável.

  3. Determine a próxima ação para os usuários com base nas pontuações.

    É possível permitir a transação, solicitar uma verificação adicional, encaminhar para uma análise manual ou bloquear a transação.

Antes de começar

  1. Se você não tem experiência com o reCAPTCHA Enterprise, faça o seguinte:

    1. Configure o reCAPTCHA Enterprise no seu projeto do Google Cloud.

    2. Crie uma chave reCAPTCHA com base em pontuação.

  2. Ative a prevenção contra fraudes do reCAPTCHA no seu projeto do Google Cloud:

    1. No console do Google Cloud, acesse a página do reCAPTCHA Enterprise.

      Acessar o reCAPTCHA Enterprise

    2. Verifique se o nome do projeto aparece no seletor de recursos.

      Se você não vir o nome do seu projeto, clique no seletor de recursos e selecione o projeto.

    3. Clique em Configurações.

    4. No painel Prevenção contra fraudes, clique em Configurar.

    5. Clique no botão de alternância Ativar e, em seguida, em Salvar.

  3. Verifique se o ambiente oferece suporte a tokens com mais de 8 KB, porque a prevenção contra fraudes do reCAPTCHA Enterprise pode usar tokens maiores.

Instalar o reCAPTCHA Enterprise no seu front-end de pagamento

Para começar a detectar ataques, instale uma chave reCAPTCHA com base em pontuação em cada página do fluxo de usuário para pagamentos. Isso inclui a interface em que o usuário analisa o carrinho, seleciona a forma de pagamento e conclui a compra. Depois que o usuário tiver feito a seleção em cada etapa, chame grecaptcha.enterprise.execute() para gerar um token. Para saber como instalar chaves baseadas em pontuação e chamar execute(), consulte Instalar chaves baseadas em pontuação.

O exemplo a seguir mostra como integrar uma chave baseada em pontuação em um evento de transação de cartão de crédito:

function submitForm() {
  grecaptcha.enterprise.ready(function() {
    grecaptcha.enterprise.execute(
      'reCAPTCHA_site_key', {action: 'purchase'}).then(function(token) {
       document.getElementById("token").value = token;
       document.getElementByID("paymentForm").submit();
    });
  });
}
<form id="paymentForm" action="?" method="POST">
  Total: $1.99
  Credit Card Number: <input name="cc-number" id="cc-number" autocomplete="cc-number"><br/>
  <input type="hidden" id="token" name="recaptcha_token"/>
  <button onclick="submitForm()">Purchase</button>
</form>
<script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>

Você pode experimentar esse código no JSFiddle clicando no ícone <> no canto superior direito da janela de código.

<html>
  <head>
    <title>Protected Payment</title>
    <script src="https://www.google.com/recaptcha/enterprise.js" async defer></script>
    <script>
    function submitForm() {
      grecaptcha.enterprise.ready(function() {
        grecaptcha.enterprise.execute(
          'reCAPTCHA_site_key', {action: 'purchase'}).then(function(token) {
           document.getElementById("token").value = token;
           document.getElementByID("paymentForm").submit();
        });
      });
    }
    </script>
  </head>
  <body>
    <form id="paymentForm" action="?" method="POST">
      Total: $1.99
      Credit Card Number: <input name="cc-number" id="cc-number" autocomplete="cc-number"><br/>
      <input type="hidden" id="token" name="recaptcha_token"/>
      <button onclick="submitForm()">Purchase</button>
    </form>
  </body>
</html>

Criar avaliações com dados de transação

Para ativar vereditos de fraude de pagamento, crie avaliações com dados de transação usando os campos adicionais no método projects.assessments.create.

A integração mais simples inclui transaction_id, payment_method, currency_code e value. Para melhorar a qualidade da detecção, recomendamos adicionar campos opcionais, como email e billing_address.

{
  "event": {
    "token": "YOUR_TOKEN",
    "site_key": "KEY_ID",
    "expected_action": "YOUR_CHECKOUT_ACTION_NAME",
    "transaction_data": {
      "transaction_id": "txid-1234567890",
      "payment_method": "credit-card",
      "card_bin": "411111",
      "card_last_four": "1234",
      "currency_code": "USD",
      "value": 39.98,
    }
   user: {
    email: "someEmailAddress@example.com",
   },
   billing_address: {
    "recipient": "name1 name2",
        "address": "123 Street Name",
        "address": "Apt 1",
        "locality": "Sunnyvale",
        "administrative_area": "CA",
        "region_code": "USA",
        "postal_code": "123456"
  }
 }
}

Para melhorar a qualidade dos índices, recomendamos que você envie outros indicadores.

Para saber como criar avaliações, consulte Criar uma avaliação para seu site. A Prevenção contra fraudes do reCAPTCHA Enterprise pode usar tokens maiores. Por isso, verifique se a solicitação é enviada em uma solicitação POST em vez de GET e no corpo, não em um cabeçalho.

Interpretar avaliações

Depois de começar a enviar os dados da transação, você vai receber avaliações como uma resposta JSON com o componente fraudPreventionAssessment em riskAnalysis.

Confira a seguir um exemplo de resposta:

{
  "event": {....
  ....
  }
  .....
  ....
  ....
"riskAnalysis": {
    "score": "0.5"
    "reasons": SUSPECTED_CARDING
}
"fraudPreventionAssessment": {
    "transactionRisk": 0.9,
}
}

A resposta recebida inclui uma pontuação e códigos de motivo sempre que aplicável. Quanto maior a pontuação, maior a probabilidade de a transação ser fraudulenta e arriscada. Quanto menor a pontuação, maior a probabilidade de a transação ser legítima. Por exemplo, uma pontuação de 0,9 indica que a transação é mais provavelmente fraudulenta e arriscada, e uma pontuação de 0,1 indica que a transação é mais provavelmente legítima.

Você é responsável pelas ações que realiza com base na avaliação. Para a integração mais simples, defina limites em transactionRisk para contribuir para sua decisão. Por exemplo, isso pode contribuir para o envio de uma revisão manual ou para a rejeição direta de transações prováveis fraudulentas. Também é possível usar a pontuação nos seus próprios fluxos de trabalho contra fraudes ou como parte de regras do sistema atual. Como o reCAPTCHA Enterprise examina sinais exclusivos e tem uma visibilidade exclusiva de comportamento na Internet, é possível esperar um valor incremental, mesmo com um mecanismo de detecção de fraudes já maduro.

A seguir