Esta página descreve como proteger suas transações de pagamento contra ataques, como cartões, fraude de instrumentos roubados e pagamento de invasão de contas usando a Prevenção contra fraudes reCAPTCHA.
A prevenção contra fraudes do reCAPTCHA ajuda a proteger transações de pagamento identificando ataques manuais direcionados e tentativas de fraude em grande escala. Ela treina automaticamente modelos de comportamento e transação para identificar eventos provavelmente será fraudulento e poderá resultar em uma disputa ou estorno se aceito.
Como parte desses modelos, a prevenção contra fraudes do reCAPTCHA examina de transações para detectar fraudes. Por exemplo, uma série de tentativas de compra com preços baixos pode indicar um ataque de falsificação de cartões. Na resposta, você recebe pontuações de risco para diferentes tipos de fraude, que podem ser usadas para enviar a transação a uma análise manual ou bloquear diretamente transações suspeitas.
Para configurar a prevenção contra fraudes do reCAPTCHA, você precisa concluir o seguintes etapas:
-
Quando o JavaScript é executado, o reCAPTCHA gera um token reCAPTCHA exclusivo para cada sessão de usuário e coleta dados comportamentais para avaliar o usuário.
-
Na resposta da solicitação da API de criação de avaliação, o reCAPTCHA fornece uma pontuação para o risco de transação e um código de motivo adicional (por exemplo,
suspected_carding
), se aplicável. Determine a próxima ação dos usuários com base nas pontuações.
Você pode permitir a transação, pedir uma verificação adicional, encaminhar para uma análise manual ou bloquear a transação.
Antes de começar
Se você não conhece o reCAPTCHA, faça o seguinte:
Ative a prevenção contra fraudes do reCAPTCHA no seu projeto do Google Cloud:
No console do Google Cloud, acesse a página reCAPTCHA.
Verifique se o nome do projeto aparece no seletor de recursos.
Se você não encontrar o nome do projeto, clique no seletor de recursos e selecione o projeto.
Clique em
Configurações.No painel Prevenção contra fraudes, clique em Configurar.
Clique no botão Ativar e em Salvar.
Verifique se o ambiente é compatível com tokens maiores que 8 KB, porque a prevenção contra fraudes do reCAPTCHA pode usar tokens maiores.
Instalar o reCAPTCHA no front-end de pagamento
Para começar a detectar ataques, instale uma chave reCAPTCHA baseada em pontuação em cada página do
seu fluxo de usuários para pagamentos. Isso inclui a interface em que um usuário analisa
carrinho, seleciona a forma de pagamento e conclui a compra. Depois que o usuário
escolher uma opçã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 a uma conta de evento de transação do cartão:
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ções
Para ativar os 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
,
card_bin
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", "Apt 1" ], "locality": "Sunnyvale", "administrative_area": "CA", "region_code": "USA", "postal_code": "123456" } } } }
Para melhorar a qualidade das pontuações, recomendamos que você envie indicadores adicionais.
Para saber como criar avaliações, consulte Criar uma avaliação para seu site. O reCAPTCHA Fraud Prevention pode usar tokens maiores. Portanto, verifique se a solicitação é enviada em uma solicitação POST, e não 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 que você recebe inclui uma pontuação e códigos de motivo, quando 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 tem maior probabilidade é fraudulento e arriscado, e um escore de 0,1 indica que a transação é provavelmente legítima.
Você é responsável pelas ações que realiza com base na avaliação.
Para a integração mais simples, você pode definir limites no transactionRisk
de contribuir para sua decisão. Por exemplo, ela pode contribuir para o envio para uma
revisão manual ou a rejeição direta de transações provavelmente fraudulentas.
Você também pode usar a pontuação nos seus próprios fluxos de trabalho de fraude ou como parte das regras do seu sistema atual. Como o reCAPTCHA examina indicadores exclusivos
e tem uma visibilidade única do comportamento na Internet, é possível esperar
um valor incremental mesmo com um mecanismo de detecção de fraudes já maduro.
A seguir
- Para melhorar a qualidade da detecção de fraudes, saiba mais sobre outros indicadores.
- Para anotar avaliações, consulte Anotar avaliações com eventos de transação.