Questa pagina descrive come proteggere in modo efficace le transazioni di pagamento da attacchi, come attività di carding, frodi per furto di strumenti e frodi per il furto di account, utilizzando la prevenzione delle frodi di reCAPTCHA.
reCAPTCHA Fraud Prevention ti aiuta a proteggere le transazioni di pagamento identificando attacchi manuali mirati e tentativi di frode su larga scala. Addestra automaticamente i modelli di comportamento e di transazione per identificare gli eventi che potrebbero essere fraudolenti e che, se accettati, possono comportare una contestazione o uno storno di addebito.
Nell'ambito di questi modelli, reCAPTCHA Fraud Prevention esamina gli indicatori delle transazioni per consentire il rilevamento delle frodi. Ad esempio, una serie di tentativi di acquisto con prezzi bassi potrebbe indicare un attacco di carding. Nella risposta, ricevi punteggi di rischio per diversi tipi di attività fraudolente, che puoi utilizzare per inviare la transazione a una revisione manuale o bloccare direttamente le transazioni sufficientemente sospette.
Per configurare reCAPTCHA Fraud Prevention, devi completare questi passaggi:
-
Quando viene eseguito JavaScript, reCAPTCHA genera un token reCAPTCHA univoco per ogni sessione utente e raccoglie i dati sul comportamento degli utenti per valutare l'utente.
-
Nella risposta alla richiesta dell'API Create Assessment, reCAPTCHA fornisce un punteggio per il rischio della transazione e un codice del motivo aggiuntivo (ad esempio,
suspected_carding
), se applicabile. Determina l'azione successiva per gli utenti in base ai punteggi.
Puoi scegliere di consentire la transazione, richiedere ulteriori verifiche, inoltrarla a una revisione manuale o bloccare la transazione.
Prima di iniziare
Se non hai mai utilizzato reCAPTCHA, segui questi passaggi:
Abilita Fraud Prevention di reCAPTCHA nel tuo progetto Google Cloud:
Nella console Google Cloud, vai alla pagina reCAPTCHA.
Verifica che il nome del progetto venga visualizzato nel selettore di risorse.
Se non vedi il nome del progetto, fai clic sul selettore di risorse e poi seleziona il progetto.
Fai clic su
Impostazioni.Nel riquadro Fraud Prevention, fai clic su Configura.
Fai clic sul pulsante di attivazione/disattivazione Abilita e poi su Salva.
Assicurati che il tuo ambiente supporti token di dimensioni superiori a 8 kB poiché la prevenzione delle frodi di reCAPTCHA potrebbe utilizzare token più grandi.
Installa reCAPTCHA sul tuo frontend di pagamento
Per iniziare a rilevare gli attacchi, installa una chiave reCAPTCHA basata sul punteggio in ogni pagina del tuo flusso di utenti pagamenti. Questa include l'interfaccia in cui un utente esamina il carrello, seleziona il metodo di pagamento e completa l'acquisto. Dopo che l'utente
ha effettuato la selezione in ogni passaggio, chiama grecaptcha.enterprise.execute()
per
generare un token. Per scoprire come installare le chiavi basate sul punteggio e chiamare
execute()
, consulta Installare le chiavi basate sul punteggio.
L'esempio seguente mostra come integrare una chiave basata sul punteggio in un evento di transazione con carta di credito:
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>
Puoi fare esperimenti con questo codice in JSFiddle facendo clic sull'icona <>
nell'angolo in alto a destra della finestra del codice.
<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>
Creare valutazioni con dati delle transazioni
Per attivare gli esiti delle frodi nei pagamenti, crea valutazioni con dati sulle transazioni utilizzando i campi aggiuntivi del metodo projects.assessments.create.
L'integrazione più semplice include transaction_id
, payment_method
,
card_bin
e value
. Per migliorare la qualità del rilevamento, ti consigliamo di aggiungere campi facoltativi come 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" } } } }
Per migliorare la qualità dei punteggi, ti consigliamo di inviare indicatori aggiuntivi.
Per informazioni su come creare valutazioni, consulta Creare una valutazione per il tuo sito web. reCAPTCHA Fraud Prevention potrebbe utilizzare token di dimensioni maggiori, quindi assicurati che la richiesta venga inviata in una richiesta POST anziché GET e nel corpo, non in un'intestazione.
Interpreta le valutazioni
Dopo aver iniziato a inviare i dati delle transazioni, ricevi le valutazioni come risposta JSON con il componente fraudPreventionAssessment
in riskAnalysis
.
Di seguito è riportato un esempio di risposta:
{ "event": {.... .... } ..... .... .... "riskAnalysis": { "score": "0.5" "reasons": SUSPECTED_CARDING } "fraudPreventionAssessment": { "transactionRisk": 0.9, } }
La risposta che ricevi include un punteggio e codici del motivo, ove applicabile. Più alto è il punteggio, maggiori sono le probabilità che la transazione sia fraudolenta e rischiosa. Più basso è il punteggio, maggiori sono le probabilità che la transazione sia legittima. Ad esempio, un punteggio pari a 0,9 indica che la transazione è più probabilmente fraudolenta e rischiosa, mentre un punteggio pari a 0,1 indica che la transazione è più probabilmente legittima.
Sei responsabile delle azioni che intraprendi in base alla valutazione.
Per l'integrazione più semplice, puoi impostare delle soglie su transactionRisk
per contribuire alla tua decisione. Ad esempio, può contribuire all'invio a una revisione manuale o rifiutare direttamente probabili transazioni fraudolente.
Puoi anche utilizzare il punteggio nei tuoi flussi di lavoro per le attività fraudolente o all'interno di regole con
il tuo sistema esistente. Poiché reCAPTCHA esamina gli indicatori univoci
e ha una visibilità unica sul comportamento su internet, puoi aspettarti
un valore incrementale anche con un motore di rilevamento delle frodi già maturo.
Passaggi successivi
- Per migliorare la qualità del rilevamento di attività fraudolente, scopri di più sugli indicatori aggiuntivi.
- Per annotare le valutazioni, vedi Annotare le valutazioni con eventi di transazione.