Proteggi le transazioni di pagamento con la Prevenzione delle attività fraudolente

Questa pagina descrive come proteggere efficacemente le transazioni di pagamento da attacchi come il carding, le frodi per furto di strumenti e le frodi di pagamento con compromissione dell'account utilizzando reCAPTCHA Fraud Prevention.

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 transazioni per identificare gli eventi probabilmente fraudolenti che possono comportare una contestazione o uno storno di addebito se accettati.

Nell'ambito di questi modelli, reCAPTCHA Fraud Prevention esamina gli indicatori delle transazioni per consentire il rilevamento delle attività fraudolente. 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à fraudolenta, 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:

  1. Installa il codice JavaScript di reCAPTCHA sul frontend di pagamento installando una chiave reCAPTCHA basata su punteggi.

    Quando viene eseguito il codice JavaScript, reCAPTCHA genera un token reCAPTCHA univoco per ogni sessione utente e raccoglie i dati sul comportamento dell'utente per valutarlo.

  2. Invia una richiesta all'API Create Assessment dal tuo backend con i dati sulle transazioni relative agli eventi utente nel flusso di lavoro di pagamento.

    Nella risposta della richiesta dell'API create assessment, reCAPTCHA fornisce un punteggio per il rischio di transazione e un codice motivo aggiuntivo (ad es. suspected_carding), se applicabile.

  3. Determina l'azione successiva per gli utenti in base ai punteggi.

    Puoi scegliere di consentire la transazione, richiedere un'ulteriore verifica, mandare la transazione a una revisione manuale o bloccarla.

Prima di iniziare

  1. Se non hai mai utilizzato reCAPTCHA:

    1. Configura reCAPTCHA nel tuo progetto Google Cloud.

    2. Crea una chiave reCAPTCHA basata sul punteggio.

  2. Abilita la prevenzione delle attività fraudolente di reCAPTCHA nel tuo progetto Google Cloud:

    1. Nella console Google Cloud, vai alla pagina reCAPTCHA.

      Vai a reCAPTCHA

    2. 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, poi seleziona il progetto.

    3. Fai clic su Impostazioni.

    4. Nel riquadro Prevenzione delle frodi, fai clic su Configura.

    5. Fai clic sul pulsante di attivazione/disattivazione Attiva e poi su Salva.

  3. Assicurati che il tuo ambiente supporti i token di dimensioni superiori a 8 KB, in quanto la funzionalità reCAPTCHA Fraud Prevention potrebbe utilizzare token di dimensioni maggiori.

Installare reCAPTCHA nel 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. È inclusa 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 su 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 di 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 i dati sulle transazioni

Per attivare i giudizi relativi alla frode di pagamento, crea valutazioni con i dati sulle transazioni utilizzando i campi aggiuntivi nel 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 scoprire come creare valutazioni, consulta Creare una valutazione per il tuo sito web. reCAPTCHA Fraud Prevention potrebbe utilizzare token più grandi, 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 sulle 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 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 intraprese 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 al rifiuto diretto di transazioni probabilmente fraudolente. Puoi anche utilizzare il punteggio nei tuoi flussi di lavoro per la prevenzione delle frodi o come parte delle regole del 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 attività fraudolente già maturo.

Passaggi successivi