Zahlungstransaktionen mit der Betrugsprävention schützen

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

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

Im Rahmen dieser Modelle prüft die Betrugsprävention von reCAPTCHA Transaktionssignale, um Betrug zu erkennen. Beispielsweise kann eine Reihe von Kaufversuchen zu niedrigen Preisen auf einen Carding-Angriff hinweisen. In der Antwort erhalten Sie Risikobewertungen für verschiedene Arten von Betrug. Anhand dieser Bewertungen können Sie die Transaktion zur manuellen Überprüfung senden oder ausreichend verdächtige Transaktionen direkt blockieren.

So richten Sie die Betrugsprävention von reCAPTCHA ein:

  1. Installieren Sie reCAPTCHA-JavaScript auf Ihrem Zahlungs-Frontend, indem Sie einen auf Punktzahlen basierenden reCAPTCHA-Schlüssel installieren.

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

  2. Reichen Sie über Ihr Backend eine API-Anfrage zum Erstellen einer Bewertung mit Transaktionsdaten zu Nutzerereignissen in Ihrem Zahlungsvorgang ein.

    In der Antwort auf die API-Anfrage „create assessment“ gibt reCAPTCHA einen Wert für das Transaktionsrisiko und gegebenenfalls einen zusätzlichen Grundcode (z. B. suspected_carding) an.

  3. Bestimmen Sie anhand der Bewertungen die nächste Aktion für Ihre Nutzer.

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

Hinweise

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

    1. Konfigurieren Sie reCAPTCHA in Ihrem Google Cloud-Projekt.

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

  2. So aktivieren Sie die Betrugsprävention von reCAPTCHA in Ihrem Google Cloud-Projekt:

    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. Klicke auf Einstellungen.

    4. Klicken Sie im Bereich Betrugsprävention auf Konfigurieren.

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

  3. Ihre Umgebung muss Tokens mit einer Größe von mehr als 8 KB unterstützen, da für die reCAPTCHA-Betrugsprävention möglicherweise größere Tokens verwendet werden.

reCAPTCHA im Zahlungs-Frontend installieren

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 prüfen, die Zahlungsmethode auswählen und den Kauf abschließen. Nachdem der Nutzer in jedem Schritt seine Auswahl getroffen hat, rufe grecaptcha.enterprise.execute() auf, um ein Token zu generieren. Informationen zum Installieren punktzahlbasierter Schlüssel und zum Aufrufen von execute() finden Sie unter Punktebasierte 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" 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>

Bewertungen mit Transaktionsdaten erstellen

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

Die einfachste Integration umfasst transaction_id, payment_method, card_bin und value. Um die Qualität der Erkennung zu verbessern, empfehlen wir, optionale Felder wie email 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": "USA",
                "postal_code": "123456"
            }
        }
    }
}

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

Weitere Informationen zum Erstellen von Bewertungen finden Sie unter Bewertung für Ihre Website erstellen. reCAPTCHA Fraud Prevention verwendet möglicherweise größere Tokens. Achten Sie daher darauf, dass die Anfrage als POST-Anfrage und nicht als GET-Anfrage gesendet wird und im Body und nicht in einem Header.

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 ist eine Beispielantwort:

{
  "event": {....
  ....
  }
  .....
  ....
  ....
"riskAnalysis": {
    "score": "0.5"
    "reasons": SUSPECTED_CARDING
}
"fraudPreventionAssessment": {
    "transactionRisk": 0.9,
}
}

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 mit höherer Wahrscheinlichkeit betrügerisch und riskant ist, während ein Wert von 0,1 darauf hindeutet, dass die Transaktion mit höherer Wahrscheinlichkeit 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 beispielsweise dazu beigetragen werden, dass Transaktionen, die wahrscheinlich betrügerisch sind, einer manuellen Überprüfung zugeführt oder direkt abgelehnt werden. Sie können den Wert auch in Ihren eigenen Betrugsworkflows oder als Teil von Regeln in Ihrem bestehenden System verwenden. Da reCAPTCHA einzigartige Signale untersucht und eine einzigartige Sichtbarkeit des Verhaltens im Internet hat, können Sie auch mit einer bereits ausgereiften Betrugserkennungs-Engine einen zusätzlichen Wert erwarten.

Nächste Schritte