Zahlungstransaktionen mit Transaction Defense schützen

Auf dieser Seite wird beschrieben, wie Sie Zahlungstransaktionen mithilfe von Transaction defense effektiv vor Angriffen wie Kartenmissbrauch, Betrug mit gestohlenen Zahlungsmitteln und Kontoübernahmen schützen.

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

Im Rahmen dieser Modelle untersucht Transaction defense Transaktionssignale, um Kartenmissbrauch und Rückbuchungsangriffe zu erkennen. Beispielsweise kann eine Reihe von Kaufversuchen mit niedrigen Preisen auf einen Kartenmissbrauch hindeuten. In der Antwort erhalten Sie Risikobewertungen für verschiedene Arten von Betrug, mit denen Sie die Transaktion zur manuellen Überprüfung senden oder ausreichend verdächtige Transaktionen direkt blockieren können.

So richten Sie Transaction defense ein:

  1. Umgebung vorbereiten

  2. Transaction defense für Ihr Google Cloud Projekt aktivieren.

  3. Integrationsmethode auswählen

  4. Senden Sie über Ihr Back-End eine create assessment API-Anfrage mit Transaktionsdaten. Verwenden Sie dabei entweder die zuvor ausgewählte Frontend-Integration oder die reine API-Integration.

    In der Antwort auf die API-Anfrage vom Typ create assessment gibt reCAPTCHA gegebenenfalls eine Bewertung für das Transaktionsrisiko und zusätzliche Gründe für die Erklärbarkeit zurück (z. B. HIGH_TRANSACTION_VELOCITY).

  5. Legen Sie anhand der Bewertungen die nächste Aktion für Ihre Nutzer fest.

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

Hinweis

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

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

    2. Auf Bewertungen basierenden reCAPTCHA-Schlüssel erstellen.

  2. Wenn Sie eine Frontend-Integration planen, prüfen Sie, ob Ihre Umgebung Token unterstützt, die größer als 8 KB sind, da Transaction defense möglicherweise größere Token verwendet.

Transaction defense aktivieren

  1. Rufen Sie in der Google Cloud Console die Seite reCAPTCHA 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 automatisch Signale vom Frontend-Gerät einzubeziehen, oder die reine API-Integration, wenn Sie keine Frontend-Integration 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.

Die reine API-Integration gibt nur anhand der erforderlichen Transaktionsdaten ein Ergebnis zurück und erfordert dieses Token nicht.

Frontend-Integration: reCAPTCHA auf Ihrer Website installieren

Wenn Sie Transaction defense mit einer reCAPTCHA-Frontend-Integration verwenden, können Sie sich vor Kartenmissbrauch und betrügerischen Transaktionen schützen. Um mit dem Erkennen von Angriffen zu beginnen, müssen Sie auf jeder Webseite Ihrer Aufrufabfolge für Zahlungen einen auf Bewertungen basierenden reCAPTCHA-Schlüssel installieren. Dazu gehört auch die Benutzeroberfläche, auf der ein Nutzer seinen Warenkorb überprüft, seine Zahlungsmethode auswählt und den Kauf abschließt. 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 Bewertungen basierenden Schlüsseln und zum Aufrufen von execute() finden Sie unter Auf Bewertungen basierende Schlüssel installieren.

Das folgende Beispiel zeigt, wie ein auf Bewertungen 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 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 Transaction defense-Bewertung mit Frontend-Integration ist eines der folgenden Elemente 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 Bewertungen zu verbessern, empfehlen wir, auch zusätzliche Signale zu senden.

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

Reine API-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 projects.assessments.create .

Da bei der reinen API-Integration von reCAPTCHA eine Transaction defense-Bewertung nur anhand der von Ihnen bereitgestellten Transaktionsdaten erstellt wird, müssen Sie mindestens Folgendes angeben:

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

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

Bewertungen interpretieren

Nachdem Sie die Transaktionsdaten gesendet haben, erhalten Sie Bewertungen als JSON-Antwort mit der Komponente fraudPreventionAssessment in riskAnalysis.

Das folgende Beispiel zeigt eine Antwort:

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

Die Antwort, die Sie erhalten, enthält einen Wert und gegebenenfalls Ursachencodes. Je höher die Bewertung, desto wahrscheinlicher ist die Transaktion betrügerisch und riskant. Je niedriger die Bewertung, desto wahrscheinlicher ist die Transaktion legitim. Eine Bewertung von 0,9 deutet beispielsweise darauf hin, dass die Transaktion eher betrügerisch und riskant ist, während eine Bewertung von 0,1 darauf hindeutet, 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 können Sie beispielsweise eine manuelle Überprüfung veranlassen oder wahrscheinlich betrügerische Transaktionen direkt ablehnen. Sie können die Bewertung auch in Ihren eigenen Betrugsworkflows oder als Teil von Regeln mit Ihrem bestehenden System verwenden. Da reCAPTCHA eindeutige Signale untersucht und einen einzigartigen Einblick in das Verhalten im Internet hat, können Sie auch mit einer bereits ausgereiften Betrugserkennungs-Engine einen zusätzlichen Mehrwert erzielen.

Jeder Bewertungsbereich ist auf eine maximale Rate falsch positiver Ergebnisse abgestimmt. Diese Rate gibt den maximalen Anteil legitimer Nutzer an, die möglicherweise zusätzliche Schwierigkeiten haben. Die Schwellenwerte, die Sie auswählen müssen, hängen von Ihren geschäftlichen Anforderungen ab. Im Folgenden finden Sie einige Beispiele dafür, wie Sie die Bewertung transactionRisk verwenden können:

Risikotoleranz Empfohlener Schwellenwert Maximale Rate falsch positiver Ergebnisse Nutzungsbeispiel
Niedrig 0,5 5% Vor dem Akzeptieren der Transaktion ist eine zusätzliche Überprüfung erforderlich, z. B. die 2‑Faktor-Authentifizierung.
Mittel 0,7 1% Transaktion zur manuellen Überprüfung senden
Hoch 0,9 0,1% Transaktion ablehnen

Nächste Schritte