Halaman ini menjelaskan cara melindungi transaksi pembayaran secara efektif dari serangan, seperti carding, penipuan instrumen curian, dan penipuan pembayaran pengambilalihan akun menggunakan Pencegahan Penipuan reCAPTCHA.
Pencegahan Penipuan reCAPTCHA membantu Anda melindungi transaksi pembayaran dengan mengidentifikasi serangan manual yang ditargetkan dan upaya penipuan berskala besar. Model ini otomatis melatih model perilaku dan transaksi untuk mengidentifikasi peristiwa yang kemungkinan merupakan penipuan dan dapat menyebabkan sengketa atau penagihan balik jika diterima.
Sebagai bagian dari model ini, Pencegahan Penipuan reCAPTCHA memeriksa sinyal transaksi untuk memungkinkan deteksi penipuan. Misalnya, serangkaian upaya pembelian dengan harga rendah mungkin menunjukkan serangan carding. Dalam respons, Anda akan menerima skor risiko untuk berbagai jenis penipuan, yang dapat Anda gunakan untuk mengirim transaksi ke peninjauan manual, atau langsung memblokir transaksi yang cukup mencurigakan.
Untuk menyiapkan Pencegahan Penipuan reCAPTCHA, Anda perlu menyelesaikan langkah-langkah berikut:
-
Saat JavaScript dijalankan, reCAPTCHA akan membuat token reCAPTCHA unik untuk setiap sesi pengguna dan mengumpulkan data perilaku pengguna untuk mengevaluasi pengguna.
-
Dalam respons permintaan API penilaian pembuatan, reCAPTCHA memberikan skor untuk risiko transaksi dan kode alasan tambahan (misalnya,
suspected_carding
), jika berlaku. Tentukan tindakan berikutnya untuk pengguna Anda berdasarkan skor.
Anda dapat memilih untuk mengizinkan transaksi, meminta verifikasi tambahan, meneruskan ke peninjauan manual, atau memblokir transaksi.
Sebelum memulai
Jika Anda baru menggunakan reCAPTCHA, lakukan hal berikut:
Aktifkan Pencegahan Penipuan reCAPTCHA di project Google Cloud Anda:
Di konsol Google Cloud, buka halaman reCAPTCHA.
Pastikan nama project Anda muncul di pemilih resource.
Jika tidak melihat nama project, klik pemilih resource, lalu pilih project Anda.
Klik
Setelan.Di panel Fraud Prevention, klik Configure.
Klik tombol Aktifkan, lalu klik Simpan.
Pastikan lingkungan Anda mendukung token yang lebih besar dari 8 KB karena reCAPTCHA Fraud Prevention mungkin menggunakan token yang lebih besar.
Menginstal reCAPTCHA di frontend pembayaran
Untuk mulai mendeteksi serangan, instal kunci reCAPTCHA berbasis skor di setiap halaman dalam
alur penggunaan pembayaran Anda. Hal ini mencakup antarmuka tempat pengguna meninjau
keranjang, memilih metode pembayaran, dan menyelesaikan pembelian. Setelah pengguna
membuat pilihan di setiap langkah, panggil grecaptcha.enterprise.execute()
untuk
membuat token. Untuk mempelajari cara menginstal kunci berbasis skor dan memanggil
execute()
, lihat Menginstal kunci berbasis skor.
Contoh berikut menunjukkan cara mengintegrasikan kunci berbasis skor pada peristiwa transaksi kartu kredit:
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>
Anda dapat bereksperimen dengan kode ini di JSFiddle dengan mengklik ikon <>
di sudut kanan atas jendela kode.
<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>
Membuat penilaian dengan data transaksi
Untuk mengaktifkan verdict penipuan pembayaran, buat penilaian dengan data transaksi menggunakan kolom tambahan dalam metode projects.assessments.create.
Integrasi yang paling sederhana mencakup transaction_id
, payment_method
,
card_bin
, dan value
. Untuk meningkatkan kualitas deteksi, sebaiknya
tambahkan kolom opsional seperti email
dan billing_address
.
{ "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" } } } }
Untuk meningkatkan kualitas skor, sebaiknya kirimkan sinyal tambahan.
Untuk mempelajari cara membuat penilaian, lihat Membuat penilaian untuk situs Anda. reCAPTCHA Fraud Prevention mungkin menggunakan token yang lebih besar, jadi pastikan permintaan dikirim dalam permintaan POST, bukan GET; dan dalam isi, bukan di header.
Menafsirkan penilaian
Setelah mulai mengirim data transaksi, Anda akan menerima penilaian sebagai respons JSON dengan komponen fraudPreventionAssessment
di riskAnalysis
.
Contoh berikut adalah contoh respons:
{ "event": {.... .... } ..... .... .... "riskAnalysis": { "score": "0.5" "reasons": SUSPECTED_CARDING } "fraudPreventionAssessment": { "transactionRisk": 0.9, } }
Respons yang Anda terima akan menyertakan skor dan kode alasan jika berlaku. Makin tinggi skornya, makin besar kemungkinan transaksi tersebut bersifat menipu dan berisiko; makin rendah skornya, makin besar kemungkinan transaksi tersebut sah. Misalnya, skor 0,9 menunjukkan bahwa transaksi kemungkinan besar menipu dan berisiko, dan skor 0,1 menunjukkan bahwa transaksi kemungkinan besar sah.
Anda bertanggung jawab atas tindakan yang Anda lakukan berdasarkan penilaian.
Untuk integrasi yang paling sederhana, Anda dapat menetapkan nilai minimum pada transactionRisk
untuk berkontribusi pada keputusan Anda. Misalnya, hal ini dapat berkontribusi pada pengiriman ke
peninjauan manual atau langsung menolak transaksi yang kemungkinan merupakan penipuan.
Anda juga dapat menggunakan skor dalam alur kerja penipuan Anda sendiri, atau sebagai bagian dari aturan dengan
sistem yang ada. Karena reCAPTCHA memeriksa sinyal unik
dan memiliki visibilitas perilaku yang unik di seluruh internet, Anda dapat mengharapkan
nilai inkremental bahkan dengan mesin deteksi penipuan yang sudah matang.
Langkah selanjutnya
- Untuk meningkatkan kualitas deteksi penipuan, pelajari sinyal tambahan.
- Untuk menganotasi penilaian, lihat Mengananotasi penilaian dengan peristiwa transaksi.