Zahlungstransaktionen mit Fraud Prevention schützen

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

reCAPTCHA Enterprise Fraud Prevention hilft Ihnen beim Schutz von Zahlungstransaktionen, indem es gezielte manuelle Angriffe und skalierte Betrugsversuche identifiziert. Es trainiert automatisch Verhaltens- und Transaktionsmodelle, um Ereignisse zu erkennen, die wahrscheinlich betrügerische sind und zu einem Konflikt oder einer Rückbuchung führen können, wenn sie akzeptiert werden.

Im Rahmen dieser Modelle untersucht reCAPTCHA Enterprise Fraud Prevention Transaktionssignale, um Betrug zu erkennen. Beispielsweise kann eine Reihe von Kaufversuchen mit niedrigen Preisen auf einen Carding-Angriff hindeuten. Die Antwort enthält Risikobewertungen für verschiedene Arten von Betrug, die Sie verwenden können, um die Transaktion zur manuellen Überprüfung zu senden oder ausreichend verdächtige Transaktionen direkt zu blockieren.

Führen Sie die folgenden Schritte aus, um reCAPTCHA Enterprise Fraud Prevention einzurichten:

  1. Installieren Sie reCAPTCHA Enterprise auf Ihrem Zahlungs-Front-End.

  2. Erstellen Sie Bewertungen mit Transaktionsdaten.

  3. Bewertungen mit Transaktionsereignissen annotieren

  4. Antworten interpretieren, um Maßnahmen gegen potenziellen Betrug zu ergreifen

Hinweise

  1. Lesen Sie die Preisinformationen zu reCAPTCHA Enterprise Fraud Prevention.

  2. Bereiten Sie Ihre Umgebung für reCAPTCHA Enterprise vor.

  3. Punktzahlbasierte Schlüssel erstellen

  4. Prüfen Sie, ob Ihre Integration Tokens unterstützt, die größer als 8 KB sind. reCAPTCHA Enterprise Fraud Prevention verwendet möglicherweise größere Tokens. Stellen Sie daher sicher, dass sie in POST-Anfragen und nicht in GET-Anfragen und im Text und nicht in einem Header gesendet werden.

reCAPTCHA Enterprise im Zahlungs-Front-End installieren

Installieren Sie auf jeder Seite des Zahlungsvorgangs für Nutzer einen wertbasierten Schlüssel, um mit der Erkennung von Angriffen zu beginnen. Dazu gehört die Benutzeroberfläche, auf der der Nutzer seinen Einkaufswagen überprüft, seine Zahlungsmethode auswählt und den Kauf abschließt. Nachdem der Nutzer bei jedem Schritt eine Auswahl getroffen hat, rufen Sie grecaptcha.enterprise.execute() auf, um ein Token zu generieren. Informationen zum Installieren von wertbezogenen Schlüsseln und zum Aufrufen von execute() finden Sie unter Wertungsbasierte Schlüssel installieren.

Das folgende Beispiel zeigt, wie ein punktzahlbasierter Schlüssel in ein Kreditkartentransaktionsereignis integriert 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>

Bewertung mit Transaktionsdaten erstellen

Erstellen Sie Bewertungen mit Transaktionsdaten, um die Ergebnisse für Zahlungsbetrug zu aktivieren. Verwenden Sie dazu die zusätzlichen Felder in der Methode projects.assessments.create. Damit Sie diese Funktion verwenden können, muss Google sie für Ihre Organisation aktivieren. Wenn Sie Zugriff auf diese Funktion anfordern möchten, kontaktieren Sie uns.

Die einfachste Integration umfasst die Transaktions-ID, die Zahlungsmethode, die Währung und den Transaktionswert.

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

Die folgenden Felder sind optional. Wir empfehlen jedoch, diese Felder anzugeben, um die Qualität der Betrugserkennung zu verbessern.

{
  "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,
      "shipping_value": 7.99,
      "shipping_address": {
        "recipient": "name1 name2",
        "address": "123 Street Name",
        "address": "Apt 1",
        "locality": "Sunnyvale",
        "administrative_area": "CA",
        "region_code": "USA",
        "postal_code": "123456"
      },
      "billing_address": {
        "recipient": "name1 name2",
        "address": "123 Street Name",
        "address": "Apt 1",
        "locality": "Sunnyvale",
        "administrative_area": "CA",
        "region_code": "USA",
        "postal_code": "123456"
      },
      "user": {
        "account_id": "abcde12345",
        "creation_ms": 1650000000000,
        "email": "user@example.com",
        "email_verified": true,
        "phone_number": "+16502530000",
        "phone_verified" false
      },
      "merchant": {
        "account_id": "abcde12345",
        "creation_ms": 1650000000000,
        "email": "user@example.com",
        "email_verified": true,
        "phone_number": "+16502530000",
        "phone_verified": false
      },
      "items": {
        "name": "first item",
        "value": 19.99,
        "quantity": 1,
        "merchant_account_id": "abcde12345",
      },
      "items": {
        "name": "second item",
        "value": 19.99,
        "quantity": 1,
        "merchant_account_id": "abcde12345",
      },
      "gateway_info": {
        "name": "google",
        "gateway_response_code": "SUCCESS",
        "avs_response_code": "Y",
        "cvv_response_code": "Y",
      }
    }
  }
}

Weitere Informationen zum Erstellen von Prüfungen für Ihre Website

Bewertungen mit Transaktionsereignissen annotieren

Für eine optimale Leistung benötigt reCAPTCHA Enterprise Fraud Prevention Einblick in die Ereignisse des Zahlungslebenszyklus für Transaktionen. Daher müssen Sie Annotationen für die Bewertungen senden, die Sie mit Transaktionsdaten erstellt haben. Beispielsweise müssen Sie in den folgenden Szenarien die Transaktionsinformationen für reCAPTCHA Enterprise Fraud Prevention als Transaktionsereignis angeben:

  • Der Zahlungsdienstleister nimmt die Transaktion an oder lehnt sie ab.

  • Der Händler veranlasst eine Erstattung.

  • Der Zahlungsaussteller beantragt eine Erstattung.

Weitere Informationen zum Senden von Annotationen finden Sie unter Bewertungen annotieren.

Wir empfehlen, diese Anfragen automatisch als Teil der entsprechenden Logik in Ihrem System zu senden, wenn die Daten verfügbar sind, z. B. wenn sich der Status einer Transaktion ändert.

Nachdem Sie eine Bewertung mit den enthaltenen Transaktionsdaten erstellt haben, gibt reCAPTCHA Enterprise Fraud Prevention ein Ergebnis und ein assessment_id zurück. Annotieren Sie die Bewertung mit Transaktionsereignissen in den folgenden wichtigen Phasen des Zahlungslebenszyklus, wenn sie auftreten:

Ereignistyp Beschreibung Beispiel für Grund Beispiel für Wert
MERCHANT_APPROVE | MERCHANT_DENY Wenn Sie entscheiden, ob die Transaktion fortgesetzt werden darf. IN_HOUSE
AUTHORIZATION | AUTHORIZATION_DECLINE Wenn Sie die zu verarbeitende Transaktion einreichen und der Kartenaussteller entscheidet, ob die Transaktion fortgesetzt werden darf. 82 (Ursachencode für falsche CVV)
CHARGEBACK Wenn die Transaktion zurückgebucht wird. Card Reported Stolen 20 (für eine teilweise Rückbuchung von 20 Währungseinheiten)

Gib zusammen mit dem Ereignistyp CHARGEBACK im Feld reason den vom Kartenaussteller angegebenen Grundcode für die Rückbuchung an. Geben Sie außerdem den rückgebuchten Geldbetrag in das Feld value ein, wenn die Transaktion teilweise zurückgebucht wurde.

Geben Sie im Feld für das Transaktionsereignis reason entweder klärende Bedingungen an, um mehr Kontext zum Grund des Ereignisses zu liefern, oder geben Sie Ursachencodes an, die direkt vom Zahlungsnetzwerk oder Kartenaussteller abgerufen werden. Diese Begriffe und Codes unterscheiden sich je nach Ereignistyp.

In der folgenden Tabelle ist die vollständige Liste der Transaktionsereignistypen aufgeführt:

Grund für den Vermerk Beschreibung
MERCHANT_APPROVE Gibt an, dass die Transaktion vom Händler genehmigt wurde. Die zugehörigen Gründe können Begriffe wie IN_HOUSE, ACCERTIFY, CYBERSOURCE oder MANUAL_REVIEW umfassen.
MERCHANT_DENY Gibt an, dass die Transaktion aufgrund von Risiken, die vom Händler erkannt wurden, abgelehnt und abgeschlossen wird. Die zugehörigen Gründe können Begriffe wie IN_HOUSE, ACCERTIFY, CYBERSOURCE oder MANUAL_REVIEW umfassen.
MANUAL_REVIEW Gibt an, dass die Transaktion aufgrund eines Verdachts oder eines Risikos von einem Menschen bewertet wird.
AUTHORIZATION Gibt an, dass der Autorisierungsversuch beim Kartenaussteller erfolgreich war.
AUTHORIZATION_DECLINE Gibt an, dass der Autorisierungsversuch beim Kartenaussteller fehlgeschlagen ist. Dazu kann der 54 von Visa, der angibt, dass die Karte abgelaufen ist, oder 82, dass die CVV falsch ist.
PAYMENT_CAPTURE Gibt an, dass die Transaktion abgeschlossen ist, da der Betrag beglichen wurde.
PAYMENT_CAPTURE_DECLINE Gibt an, dass die Transaktion nicht abgeschlossen werden konnte, da der Betrag nicht beglichen wurde.
CANCEL Gibt an, dass die Transaktion abgebrochen wurde. Geben Sie den Grund für den Abbruch an. Beispiel: INSUFFICIENT_INVENTORY.
CHARGEBACK_INQUIRY Gibt an, dass der Händler eine Rückbuchungsanfrage aufgrund eines Betrugs bei der Transaktion erhalten hat. Er fordert zusätzliche Informationen an, bevor eine betrugsbedingte Rückbuchung offiziell veranlasst wird und eine formale Rückbuchungsbenachrichtigung gesendet wird.
CHARGEBACK_ALERT Gibt an, dass der Händler eine Rückbuchungsbenachrichtigung aufgrund von Betrug für die Transaktion erhalten hat. Der Prozess zur Beilegung der Streitigkeit ohne Einbeziehung des Zahlungsnetzwerks wird eingeleitet.
FRAUD_NOTIFICATION Gibt an, dass für die Transaktion eine Betrugsbenachrichtigung ausgegeben wird, die von der ausstellenden Bank des Zahlungsmittels gesendet wird, da die Transaktion betrügerisch zu sein scheint. Wir empfehlen, TC40- oder SAFE-Daten in das Feld reason für diesen Ereignistyp aufzunehmen. Bei teilweisen Rückbuchungen sollten Sie einen Betrag in das Feld value eingeben.
CHARGEBACK Gibt an, dass der Händler vom Zahlungsnetzwerk darüber informiert wird, dass die Transaktion aufgrund eines Betrugs in den Rückbuchungsprozess aufgenommen wurde. Beispiele für Ursachencodes sind 6005 und 6041 von Discover. Bei teilweisen Rückbuchungen sollten Sie einen Betrag in das Feld value eingeben.
CHARGEBACK_REPRESENTMENT Gibt an, dass die Transaktion aufgrund von Betrug in den Rückbuchungsprozess eingetreten ist und dass sich der Händler für eine Vertretung entschieden hat. Beispiele für Gründe sind 6005 und 6041 von Discover. Bei teilweisen Rückbuchungen sollten Sie einen Betrag in das Feld value eingeben.
CHARGEBACK_REVERSE Gibt an, dass für die Transaktion eine betrugsbedingte Rückbuchung unrechtmäßig war und daher rückgängig gemacht wurde. Bei teilweisen Rückbuchungen sollten Sie einen Betrag in das Feld value eingeben.
REFUND_REQUEST Gibt an, dass der Händler eine Erstattung für eine abgeschlossene Transaktion erhalten hat. Für Teilerstattungen empfehlen wir, einen Betrag im Feld value anzugeben. Beispiel für den Grund: FRAUD.
REFUND_DECLINE Gibt an, dass der Händler einen Erstattungsantrag für diese Transaktion erhalten, die Transaktion aber abgelehnt hat. Für Teilerstattungen empfehlen wir, einen Betrag im Feld value anzugeben. Beispiel für den Grund: FRAUD.
REFUND Gibt an, dass die abgeschlossene Transaktion vom Händler erstattet wurde. Für teilweise Erstattungen empfehlen wir, einen Betrag im Feld value anzugeben. Beispiel für den Grund: PROACTIVE_FRAUD.
REFUND_REVERSE Gibt an, dass die abgeschlossene Transaktion vom Händler erstattet und diese Erstattung rückgängig gemacht wurde. Für Teilerstattungen empfehlen wir, einen Betrag im Feld value anzugeben.

Das folgende Beispiel zeigt eine Beispielnutzlast für eine Annotation, die ein Transaktionsereignis enthält. Weitere Informationen finden Sie unter Bewertungen annotieren.

POST https://recaptchaenterprise.googleapis.com/v1/ASSESSMENT_ID:annotate
{
  "transaction_event": {
    "event_type": "CHARGEBACK",
    "reason": "Card Reported Stolen",
    "value": 20
  }
}

Bewertungen interpretieren

Nachdem Sie mit dem Senden der Transaktionsdaten begonnen haben, wird die Komponente fraudPreventionAssessment in der riskAnalysis-Antwort angezeigt.

Die Komponente fraudPreventionAssessment umfasst eine Transaktionsrisikobewertung und mehrere Betrugsbewertungen, mit denen verschiedene Arten von Angriffen identifiziert werden. Der transactionRisk-Score von reCAPTCHA Enterprise Fraud Prevention reicht von 0,0 bis 1,0, was das mit dieser Transaktion verbundene Risiko aus den folgenden Komponenten zusammenfasst. Die Risikobewertung 0,0 gibt an, dass das Risiko niedrig und die Transaktion wahrscheinlich legitim ist, und 1,0 bedeutet, dass das Risiko hoch ist und die Interaktion wahrscheinlich betrügerisch ist.

Wenn Sie reCAPTCHA Enterprise Fraud Prevention installieren und die Komponente TransactionData hinzufügen, erhalten Sie Zugriff auf den Wert cardTestingVerdict. Dieser erkennt Angreifer, die Ihre Website verwenden, um Listen mit gestohlenen Instrumenten oder Brute-Force-Informationen zu testen. Wenn sie erfolgreich sind, bedeutet dies Verluste für Ihr Unternehmen.

Außerdem erhalten Sie Zugriff auf den Wert behavioralTrustVerdict, der das Vertrauen in eine Sitzung basierend auf Verhaltenssignalen auf Ihrer Website und im Internet angibt. Dieser Wert ist besonders hilfreich, wenn Sie eine vorhandene Betrugs-Engine verwenden und falsch positive Ergebnisse reduzieren möchten. Da diese Punktzahl eindeutige und orhogonale Informationen zur konventionellen, auf Transaktionsdaten basierenden Erkennung enthält, erhöht er die Konfidenz bestimmter ansonsten riskanter oder neutraler Transaktionen.

Nachdem Sie Lebenszyklusereignisse einschließlich Rückbuchungsinformationen gesendet haben, erhalten Sie Zugriff auf den Wert stolenInstrumentVerdict. Dadurch werden selbst in sehr kleinem Umfang Angriffe erkannt, die wahrscheinlich betrügerische sind. Dies basiert auf den Signalen, die reCAPTCHA Enterprise in Bezug auf die Transaktion und das Verhalten des Nutzers im Netzwerk von Millionen von Websites analysiert.

Der Zugriff auf die zusätzlichen Punktzahlen (Risiko eines gestohlenen Zahlungsmittels, Risiko von Kartentests) wird nach einer Sicherheitsüberprüfung aktiviert. Wenden Sie sich an unser Vertriebsteam, um die Sicherheitsprüfung einzuleiten.

Der folgende Block zeigt eine Beispielantwort mit den Werten transactionRisk, cardTestingVerdict, stolenInstrumentVerdict und behavioralTrustVerdict.

"riskAnalysis": {
    "score": "BOT_SCORE"
}
"fraudPreventionAssessment": {
    "transactionRisk": 0.9,
    "stolenInstrumentVerdict": {
        "risk": 0.7
    },
    "cardTestingVerdict": {
        "risk": 1.0
    }
    "behavioralTrustVerdict": {
        "trust": 0.0
    }
}

Sie sind für die Maßnahmen verantwortlich, die Sie auf Grundlage der Bewertung ergreifen. Für die einfachste Einbindung können Sie Schwellenwerte auf der obersten Ebene transactionRisk festlegen, die zu Ihrer Entscheidung beitragen. Sie kann beispielsweise dazu beitragen, eine manuelle Überprüfung durchzuführen oder wahrscheinlich betrügerische Transaktionen direkt abzulehnen. Sie können diese Bewertungen auch in Ihren eigenen Betrugsworkflows oder als Teil von Regeln in Ihrem bestehenden System verwenden. Da reCAPTCHA Enterprise verschiedene Signale untersucht und eine andere Sichtbarkeit des Verhaltens bietet, können Sie auch mit einer bereits ausgereiften Erkennungs-Engine einen zusätzlichen Wert erwarten.

Nächste Schritte