Zahlungstransaktionen mit Transaction Defense schützen

Auf dieser Seite wird beschrieben, wie Sie Zahlungstransaktionen mit Transaction Defense effektiv vor Angriffen wie Carding, Betrug durch gestohlene Zahlungsmittel und Zahlungsbetrug durch Kontoübernahme schützen können.

Transaction Defense hilft Ihnen, Zahlungstransaktionen zu schützen, indem gezielte manuelle Angriffe und groß angelegte Betrugsversuche erkannt werden. Es trainiert automatisch Verhaltens- und Transaktionsmodelle, um Ereignisse zu identifizieren, die wahrscheinlich betrügerisch sind und bei Annahme zu einem Streitfall oder einer Rückbuchung führen können.

Im Rahmen dieser Modelle werden bei Transaction Defense Transaktionssignale untersucht, um Carding- und Rückbuchungsangriffe zu erkennen. Beispielsweise kann eine Reihe von Kaufversuchen mit niedrigen Preisen auf einen Carding-Angriff hindeuten. In der Antwort erhalten Sie Risikobewertungen für verschiedene Arten von Betrug. Sie können diese verwenden, um die Transaktion manuell zu prüfen oder verdächtige Transaktionen direkt zu blockieren.

So richten Sie Transaction Defense ein:

  1. Umgebung vorbereiten

  2. Aktivieren Sie Transaction Defense für Ihr Google Cloud -Projekt.

  3. Wählen Sie eine Integrationsmethode aus.

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

    In der Antwort der API-Anfrage create assessment gibt reCAPTCHA einen Wert für das Transaktionsrisiko und gegebenenfalls zusätzliche Erklärbarkeitsgründe (z. B. HIGH_TRANSACTION_VELOCITY) an.

  5. Nächste Aktion für Ihre Nutzer anhand der Bewertungen festlegen

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

Hinweis

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

    1. reCAPTCHA in Ihrem Google Cloud -Projekt konfigurieren

    2. Erstellen Sie einen punktzahlbasierten reCAPTCHA-Schlüssel.

  2. Wenn Sie eine Frontend-Integration planen, prüfen Sie, ob Ihre Umgebung Tokens mit einer Größe von mehr als 8 kB unterstützt, da Transaction Defense möglicherweise größere Tokens verwendet.

Transaction Defense 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 Transaction Defense auf Konfigurieren.

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

Integrationsmethode auswählen

Wählen Sie die Frontend-Integration aus, um Signale vom Frontend-Gerät automatisch einzubinden, oder die Nur-API-Integration, wenn Sie keine Integration im Frontend wünschen.

Wenn das JavaScript ausgeführt wird, generiert reCAPTCHA für jede Nutzersitzung ein eindeutiges reCAPTCHA-Token und erfasst Verhaltensdaten des Nutzers, um ihn zu bewerten.

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

Frontend-Integration – reCAPTCHA auf Ihrer Website installieren

Die Verwendung von Transaction Defense mit einer reCAPTCHA-Frontend-Integration hilft, sich vor Carding-Angriffen und betrügerischen Transaktionen zu schützen. Um mit dem Erkennen von Angriffen zu beginnen, müssen Sie auf jeder Webseite Ihrer Aufrufabfolge für Zahlungen einen wertbasierten reCAPTCHA-Schlüssel installieren. Dazu gehört die Benutzeroberfläche, auf der Nutzer ihren Einkaufswagen prü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 auf Punktzahlen basierenden Schlüsseln und zum Aufrufen von execute() finden Sie unter Auf Punktzahlen basierende Schlüssel installieren.

Im folgenden Beispiel wird gezeigt, wie ein punktzahlbasierter 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"></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"></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 Bewertungen für Zahlungsbetrug erhalten möchten, erstellen Sie Bewertungen mit Transaktionsdaten. Verwenden Sie dazu die zusätzlichen Felder in der Methode projects.assessments.create.

Wenn Sie eine Transaction Defense-Bewertung mit Frontend-Integration erhalten möchten, geben Sie mindestens eines der folgenden erforderlichen ID-Felder an:

Um die Erkennungsqualität zu verbessern, empfehlen wir, optionale Felder wie payment_method, email, phone_number und billing_address hinzuzufügen.

{
  "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": "US",
                "postal_code": "123456"
            }
        }
    }
}

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

Informationen zum Erstellen von Bewertungen finden Sie unter Bewertung für Ihre Website erstellen. Für Transaction Defense werden möglicherweise größere Tokens verwendet. Prüfen Sie daher, ob die Anfrage in einer POST-Anfrage und nicht in einer GET-Anfrage gesendet wird, und zwar im Text und nicht in einem Header.

Nur API-Integration – Bewertungen mit Transaktionsdaten erstellen

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

Da die reine API-Integration von reCAPTCHA eine Transaction Defense-Bewertung nur anhand der von Ihnen bereitgestellten Transaktionsdaten erstellt, 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": "US",
                "postal_code": "123456"
            }
        }
    }
}

Um die Qualität der Bewertungen zu verbessern, empfehlen wir, so viele Eingaben wie möglich bereitzustellen und auch zusätzliche Signale zu senden.

Bewertungen interpretieren

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

Das folgende Beispiel ist eine Beispielantwort:

{
  "event": {....
  ....
  }
  .....
  ....
  ....
  "fraudPreventionAssessment": {
    "transactionRisk": 0.9,
    "riskReasons": [
      {
        "reason": "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, und 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. Die einfachste Integration besteht darin, Schwellenwerte für transactionRisk festzulegen, die zu Ihrer Entscheidung beitragen. Beispielsweise kann sie dazu beitragen, dass wahrscheinlich betrügerische Transaktionen manuell überprüft oder direkt abgelehnt werden. Sie können den Wert auch in Ihren eigenen Betrugs-Workflows oder als Teil von Regeln mit Ihrem vorhandenen System verwenden. Da reCAPTCHA eindeutige Signale untersucht und eine einzigartige Sichtbarkeit des Verhaltens im Internet hat, können Sie selbst mit einer bereits ausgereiften Betrugserkennungs-Engine einen inkrementellen Wert erwarten.

Jeder Score-Bucket ist auf eine maximale Falsch-Positiv-Rate kalibriert. Diese Rate stellt den maximalen Anteil legitimer Nutzer dar, bei denen zusätzliche Reibung auftreten kann. Welche Grenzwerte Sie auswählen sollten, hängt von Ihren Geschäftsanforderungen 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 anfordern, bevor die Transaktion akzeptiert wird
Mittel 0,7 1 % Transaktion zur manuellen Überprüfung senden
Hoch 0,9 0,1 % Transaktion ablehnen

Nächste Schritte