Zahlungstransaktionen mit der Betrugsprävention schützen

Auf dieser Seite wird beschrieben, wie Sie Zahlungsvorgänge mithilfe von reCAPTCHA Fraud Prevention effektiv vor Angriffen wie Carding, Betrug mit gestohlenen Zahlungsmitteln und Betrug mit Kontoübernahmen schützen.

Mit reCAPTCHA Fraud Prevention können Sie Zahlungstransaktionen schützen, indem Sie gezielte manuelle Angriffe und groß angelegte Betrugsversuche erkennen. Es trainiert automatisch Verhaltens- und Transaktionsmodelle, um Ereignisse zu erkennen, die wahrscheinlich betrügerisch sind und bei Annahme zu einer Streitigkeit oder Rückbuchung führen können.

Im Rahmen dieser Modelle werden mit reCAPTCHA Fraud Prevention Transaktionssignale untersucht, um Betrug zu erkennen. Eine Reihe von Kaufversuchen mit niedrigen Preisen kann beispielsweise auf einen Carding-Angriff hindeuten. In der Antwort erhalten Sie Risikobewertungen für verschiedene Arten von Betrug, die Sie verwenden können, um die Transaktion zur manuellen Überprüfung weiterzuleiten oder ausreichend verdächtige Transaktionen direkt zu blockieren.

So richten Sie die Betrugsprävention von reCAPTCHA ein:

  1. Umgebung vorbereiten

  2. Aktivieren Sie die Betrugsprävention von reCAPTCHA für Ihr Google Cloud Projekt.

  3. Wählen Sie die Frontend-Integration aus, um Signale vom Frontend-Gerät automatisch einzubinden, oder die API-only-Integration, wenn Sie die Integration im Frontend nicht bevorzugen.

    Wenn das JavaScript ausgeführt wird, generiert reCAPTCHA für jede Nutzersitzung ein eindeutiges reCAPTCHA-Token und erfasst Daten zum Nutzerverhalten, um den Nutzer zu bewerten.

    Bei der reinen API-Integration wird ein Ergebnis nur anhand der erforderlichen Transaktionsdaten zurückgegeben. Dieses Token ist nicht erforderlich.

  4. Senden Sie eine create assessment API-Anfrage mit Transaktionsdaten von Ihrem Backend aus. Verwenden Sie dazu entweder die zuvor ausgewählte Frontend-Integration oder die reine API-Integration.

    In der Antwort auf die create assessment API-Anfrage gibt reCAPTCHA einen Wert für das Transaktionsrisiko und gegebenenfalls zusätzliche Gründe für die Erläuterung an, z. B. HIGH_TRANSACTION_VELOCITY.

  5. Nächste Aktion für Ihre Nutzer basierend auf den Ergebnissen festlegen:

    Sie können die Transaktion zulassen, eine zusätzliche Bestätigung anfordern, die Transaktion zur manuellen Überprüfung weiterleiten oder sie blockieren.

Hinweise

  1. Wenn Sie reCAPTCHA noch nicht kennen, gehen Sie so vor:

    1. reCAPTCHA für Ihr Google Cloud Projekt konfigurieren.

    2. Erstellen Sie einen auf Punktzahlen basierenden reCAPTCHA-Schlüssel.

  2. Wenn Sie eine Frontend-Integration planen, prüfen Sie, ob Ihre Umgebung Tokens unterstützt, die größer als 8 KB sind, da bei der reCAPTCHA-Betrugsprävention möglicherweise größere Tokens verwendet werden.

reCAPTCHA-Betrugsprävention aktivieren

  1. Rufen Sie in der Google Cloud Console die reCAPTCHA-Seite auf.

    Zu reCAPTCHA

  2. Prüfen Sie, ob der Name Ihres Projekts in der Ressourcenauswahl angezeigt wird.

    Wenn Sie den Namen Ihres Projekts nicht sehen, klicken Sie auf die Ressourcenauswahl und wählen Sie Ihr Projekt aus.

  3. Klicken Sie auf Einstellungen.

  4. Klicken Sie im Bereich Fraud Prevention auf Konfigurieren.

  5. Klicken Sie auf den Schalter Aktivieren und dann auf Speichern.

Frontend-Integration – reCAPTCHA auf Ihrer Website installieren

Wenn Sie die Betrugsprävention mit einer reCAPTCHA-Frontend-Integration verwenden, können Sie sich vor Carding-Angriffen und betrügerischen Transaktionen schützen. Um mit dem Erkennen von Angriffen zu beginnen, müssen Sie auf jeder Seite Ihrer Aufrufabfolge für Zahlungen einen wertbasierten reCAPTCHA-Schlüssel installieren. Dazu gehört auch die Benutzeroberfläche, auf der Nutzer ihren Einkaufswagen überprüfen, ihre Zahlungsmethode auswählen und den Kauf abschließen. Nachdem der Nutzer in jedem Schritt eine Auswahl getroffen hat, rufen Sie grecaptcha.enterprise.execute() auf, um ein Token zu generieren. Informationen zum Installieren von punktzahlbasierten Schlüsseln und zum Aufrufen von execute() finden Sie unter Punktzahlbasierte Schlüssel installieren.

Das folgende Beispiel zeigt, wie ein auf Punktzahlen basierender Schlüssel in ein Kreditkartentransaktionsereignis eingebunden wird:

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>

Sie können mit diesem Code in JSFiddle experimentieren. Klicken Sie dazu in der oberen rechten Ecke des Codefensters auf das Symbol <>.

<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>

Frontend-Integration – Bewertungen mit Transaktionsdaten erstellen

Wenn Sie Ergebnisse zu Zahlungsbetrug erhalten möchten, erstellen Sie Bewertungen mit Transaktionsdaten. Verwenden Sie dazu die zusätzlichen Felder in der Methode projects.assessments.create.

Für die Integration sind mindestens die Felder payment_method, card_bin und card_last_four erforderlich. Um die Erkennungsqualität zu verbessern, empfehlen wir, optionale Felder wie email, phone_number und billing_address hinzuzufügen.

Für eine Betrugspräventionsanalyse mit Frontend-Integration ist eine der folgenden Voraussetzungen erforderlich:

{
  "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"
            }
        }
    }
}

Um die Qualität der Werte zu verbessern, empfehlen wir, auch zusätzliche Signale zu senden.

Informationen zum Erstellen von Bewertungen finden Sie unter Bewertung für Ihre Website erstellen. reCAPTCHA Fraud Prevention verwendet möglicherweise größere Tokens. Prüfen Sie daher, ob die Anfrage in einer POST-Anfrage und nicht in einer GET-Anfrage gesendet wird und ob sie im Textkörper und nicht in einem Header enthalten ist.

Nur-API-Integration – Analysen mit Transaktionsdaten erstellen

Wenn Sie Ergebnisse zu Zahlungsbetrug erhalten möchten, erstellen Sie Bewertungen mit Transaktionsdaten. Verwenden Sie dazu die zusätzlichen Felder in der Methode projects.assessments.create.

Da bei der reCAPTCHA API-only-Integration eine Betrugspräventionsbewertung nur anhand der von Ihnen bereitgestellten Transaktionsdaten erstellt wird, müssen Sie mindestens Folgendes angeben:

  1. Rechnungsadresse regionCode und postalCode.
  2. Transaktionsdaten paymentMethod:
  3. Eine der folgenden:
{
  "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"
            }
        }
    }
}

Damit die Qualität der Werte verbessert wird, empfehlen wir, so viele Eingaben wie möglich zu machen und zusätzliche Signale zu senden.

Bewertungen interpretieren

Nachdem Sie mit dem Senden der Transaktionsdaten begonnen haben, erhalten Sie Bewertungen als JSON-Antwort mit der fraudPreventionAssessment-Komponente in riskAnalysis.

Das folgende Beispiel zeigt eine Beispielantwort:

{
  "event": {....
  ....
  }
  .....
  ....
  ....
"fraudPreventionAssessment": {
    "transactionRisk": 0.9,
    "riskReasons": HIGH_TRANSACTION_VELOCITY
}
}

Die Antwort, die Sie erhalten, enthält einen Wert und gegebenenfalls Ursachencodes. Je höher der Wert, desto wahrscheinlicher ist die Transaktion betrügerisch und riskant. Je niedriger der Wert, desto wahrscheinlicher ist die Transaktion legitim. Ein Wert von 0,9 bedeutet beispielsweise, dass die Transaktion eher betrügerisch und riskant ist, während ein Wert von 0,1 bedeutet, dass die Transaktion eher legitim ist.

Sie sind für die Maßnahmen verantwortlich, die Sie auf Grundlage der Bewertung ergreifen. Für die einfachste Integration können Sie Schwellenwerte für transactionRisk festlegen, um Ihre Entscheidung zu unterstützen. So kann es beispielsweise dazu beitragen, dass mutmaßlich betrügerische Transaktionen zur manuellen Überprüfung weitergeleitet oder direkt abgelehnt werden. Sie können den Wert auch in Ihren eigenen Betrugs-Workflows oder als Teil von Regeln in Ihrem bestehenden System verwenden. Da reCAPTCHA eindeutige Signale untersucht und eine einzigartige Sichtbarkeit des Verhaltens im gesamten Internet bietet, können Sie auch mit einer bereits ausgereiften Engine zur Betrugserkennung einen zusätzlichen Nutzen erwarten.

Jeder Score-Bucket ist auf eine maximale Falsch-Positiv-Rate abgestimmt, die den maximalen Anteil legitimer Nutzer darstellt, die möglicherweise zusätzliche Reibung erfahren. Die Schwellenwerte, die Sie auswählen müssen, hängen von Ihren geschäftlichen Anforderungen ab. Im Folgenden finden Sie einige Beispiele für die Verwendung des transactionRisk-Werts:

Risikotoleranz Empfohlener Schwellenwert Maximale Rate falsch positiver Ergebnisse Nutzungsbeispiel
Niedrig 0,5 5 % Zusätzliche Bestätigung wie 2FA vor der Annahme der Transaktion erforderlich
Mittel 0,7 1 % Transaktion zur manuellen Überprüfung senden
Hoch 0,9 0,1 % Transaktion ablehnen

Nächste Schritte