Questa pagina descrive come proteggere efficacemente le transazioni di pagamento da attacchi come carding, frodi per furto di strumenti e frodi di pagamento per violazione di account utilizzando la prevenzione dalle attività fraudolente di reCAPTCHA.
reCAPTCHA Fraud Prevention ti aiuta a proteggere le transazioni di pagamento identificando attacchi manuali mirati e tentativi di frode scalati. Addestra automaticamente i modelli di comportamento e transazione per identificare gli eventi che hanno maggiori probabilità di essere fraudolenti e che, se accettati, possono comportare una contestazione o un chargeback.
Nell'ambito di questi modelli, la prevenzione dalle attività fraudolente di reCAPTCHA 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 i punteggi di rischio per diversi tipi di frode, che puoi utilizzare per inviare la transazione a una revisione manuale o bloccare direttamente le transazioni sufficientemente sospette.
Per configurare la prevenzione dalle attività fraudolente di reCAPTCHA, devi completare i seguenti passaggi:
Abilita la prevenzione dalle attività fraudolente di reCAPTCHA nel tuo Google Cloud progetto.
Scegli Integrazione frontend per incorporare automaticamente i segnali dal dispositivo frontend oppure Integrazione solo API se preferisci non eseguire l'integrazione nel frontend.
Quando viene eseguito il codice JavaScript, reCAPTCHA genera un token reCAPTCHA univoco per ogni sessione utente e raccoglie i dati comportamentali dell'utente per valutarlo.
L'integrazione solo API restituisce un verdetto utilizzando solo i dati della transazione richiesti e non richiede questo token.
Invia una richiesta API
create assessmentdal backend con i dati delle transazioni, utilizzando l'integrazione frontend o l'integrazione solo API scelta in precedenza.Nella risposta alla richiesta API
create assessment, reCAPTCHA fornisce un punteggio per il rischio di transazione e ulteriori motivi di spiegabilità (ad esempio,HIGH_TRANSACTION_VELOCITY), se applicabile.Determina l'azione successiva per gli utenti in base ai punteggi.
Puoi scegliere di consentire la transazione, richiedere una verifica aggiuntiva, inoltrare la transazione per una revisione manuale o bloccarla.
Prima di iniziare
Se non hai mai utilizzato reCAPTCHA, procedi nel seguente modo:
Se stai pianificando un'integrazione frontend, verifica che il tuo ambiente supporti token più grandi di 8 kB, perché la prevenzione delle frodi reCAPTCHA potrebbe utilizzare token più grandi.
Abilitare la prevenzione dalle attività fraudolente di reCAPTCHA
Nella console Google Cloud , vai alla pagina reCAPTCHA.
Verifica che il nome del tuo progetto venga visualizzato nel selettore di risorse.
Se non vedi il nome del tuo progetto, fai clic sul selettore di risorse, poi seleziona il tuo progetto.
Fai clic su Impostazioni.
Nel riquadro Fraud Prevention, fai clic su Configura.
Fai clic sul pulsante di attivazione/disattivazione Attiva e poi su Salva.
Integrazione del frontend: installa reCAPTCHA sul tuo sito web
L'utilizzo di Fraud Prevention con un'integrazione frontend di reCAPTCHA contribuisce a proteggere da attacchi di carding e transazioni fraudolente. Per iniziare a rilevare gli attacchi, installa una chiave reCAPTCHA
basata sul punteggio in ogni pagina del tuo flusso di utenti pagamenti. Ciò include l'interfaccia in cui un
utente rivede 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 chiavi basate sul punteggio e chiamare
execute(), consulta Installare 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 sperimentare 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>Integrazione frontend: crea valutazioni con dati sulle transazioni
Per ricevere i verdetti sulla frode nei pagamenti, crea valutazioni con Dati delle transazioni utilizzando i campi aggiuntivi nel metodo projects.assessments.create.
Come minimo, l'integrazione richiede i campi payment_method,
card_bin e card_last_four. Per migliorare la qualità del rilevamento, ti consigliamo di aggiungere campi facoltativi come email, phone_number e billing_address.
Per ricevere una valutazione della prevenzione delle frodi con l'integrazione frontend, è necessario uno dei seguenti elementi:
- Dati delle transazioni
cardBinecardLastFour. - Utente
accountId - Utente
email - Utente
phoneNumber
{ "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 anche indicatori aggiuntivi.
Per scoprire come creare valutazioni, consulta Creare una valutazione per il tuo sito web. La prevenzione dalle attività fraudolente di reCAPTCHA potrebbe utilizzare token più grandi, quindi verifica che la richiesta venga inviata in una richiesta POST anziché GET e nel corpo, non in un'intestazione.
Integrazione solo API: crea valutazioni con i dati sulle transazioni
Per ricevere i verdetti sulla frode nei pagamenti, crea valutazioni con Dati delle transazioni utilizzando i campi aggiuntivi nel metodo projects.assessments.create.
Poiché l'integrazione solo API reCAPTCHA produce una valutazione della prevenzione delle frodi utilizzando solo i dati delle transazioni che fornisci, devi fornire almeno quanto segue:
- Indirizzo di fatturazione
regionCodeepostalCode. - Dati sulle transazioni
paymentMethod. - Uno dei seguenti:
- Dati delle transazioni
cardBinecardLastFour. - Utente
accountId - Utente
email - Utente
phoneNumber
- Dati delle transazioni
{ "event": { "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": { "account_id": "abcde12345", "email": "someEmailAddress@example.com", "phone_number": "+18005550175", }, "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 fornire il maggior numero possibile di input e di inviare anche indicatori aggiuntivi.
Interpreta le valutazioni
Dopo aver iniziato a inviare i dati delle transazioni, ricevi le valutazioni come risposta JSON con il componente fraudPreventionAssessment in riskAnalysis.
Il seguente esempio è una risposta campione:
{ "event": {.... .... } ..... .... .... "fraudPreventionAssessment": { "transactionRisk": 0.9, "riskReasons": HIGH_TRANSACTION_VELOCITY } }
La risposta che ricevi include un punteggio e i codici di motivazione, ove applicabile. Più alto è il punteggio, più è probabile che la transazione sia fraudolenta e rischiosa; più basso è il punteggio, più è probabile 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 le soglie su transactionRisk
per contribuire alla tua decisione. Ad esempio, può contribuire a inviare una revisione manuale o a rifiutare direttamente le transazioni probabilmente fraudolente.
Puoi anche utilizzare il punteggio nei tuoi flussi di lavoro antifrode o come parte delle regole del tuo sistema esistente. Poiché reCAPTCHA esamina indicatori unici e ha una visibilità unica del comportamento su internet, puoi aspettarti un valore incrementale anche con un motore di rilevamento delle frodi già maturo.
Ogni bucket di punteggio è calibrato su un tasso massimo di falsi positivi, che rappresenta la proporzione massima di utenti legittimi che potrebbero riscontrare ulteriori problemi. Le soglie che devi selezionare dipendono dalle esigenze della tua attività. Di seguito sono riportati alcuni esempi di utilizzo del punteggio transactionRisk:
| Tolleranza di rischio | Soglia consigliata | Tasso massimo di falsi positivi | Esempio di utilizzo |
|---|---|---|---|
| Bassa | 0,5 | 5% | Richiedere una verifica aggiuntiva, ad esempio l'autenticazione a due fattori, prima di accettare la transazione |
| Media | 0,7 | 1% | Invia transazione per la revisione manuale |
| Alta | 0,9 | 0,1% | Rifiuta transazione |
Passaggi successivi
- Per migliorare la qualità del rilevamento delle frodi, scopri di più sugli indicatori aggiuntivi.
- Per annotare le valutazioni, vedi Annotare le valutazioni con gli eventi di transazione.