Sinyal pencegahan penipuan
Google dapat memberikan informasi klien pengguna tambahan saat kami mengirim
SubmitOrderRequest
. Anda dapat menggunakan informasi ini untuk membantu mencegah penipuan
transaksi dalam integrasi Anda.
Cara membaca sinyal pencegahan penipuan
Saat project Anda dapat menerima sinyal pencegahan penipuan tambahan,
Header SubmitOrderRequest
akan berisi informasi tentang klien pengguna
bukannya server Google. Header permintaan akan berisi hal berikut
informasi:
Alamat IP: Alamat IP klien pengguna tersedia sebagai alamat IP pertama IP di kolom
x-forwarded-for
. Alamat ini menggunakan IPV4 atau IPV6 format seperti yang ditentukan oleh konfigurasi klien pengguna.Agen pengguna: String agen pengguna disimpan di kolom
user-agent
dengan "Google-ActionsOnGoogle/1.0" akhiran. Perhatikan bahwa kolom ini mungkin tidak terisi tergantung pada perangkat pengguna dan apakah mereka melakukan pemesanan dengan suara.
Di bawah ini adalah cuplikan header HTTP SubmitOrderRequest
saat pencegahan penipuan
diaktifkan:
X-Forwarded-For: 72.00.123.12,66.111.12.123, 169.254.1.1 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/109.0.0.0 Safari/537.36,gzip(gfe),gzip(gfe) Google-ActionsOnGoogle/1.0
Jika informasi klien pengguna tidak memadai bagi Anda untuk melakukan penipuan pencegahan, hubungi kontak Google Anda untuk mendiskusikan solusi alternatif.
Cara menangani transaksi penipuan selama pemenuhan
Berdasarkan alamat IP pengguna dan informasi agen pengguna yang diberikan di
SubmitOrderRequest
, gunakan algoritma pencegahan penipuan internal Anda untuk menentukan
apakah transaksi itu sah.
Jika transaksi tampaknya bersifat menipu, balas dengan orderState
REJECTED
dan rejectionInfo
dari INELIGIBLE
, bersama dengan
deskripsi error di SubmitOrderResponseMessage
.
Jika transaksi terlihat sah, proses pesanan seperti biasa.
Validasi alamat penagihan
Untuk mengurangi penipuan, Anda dapat menyertakan alamat penagihan di halaman pembayaran
permintaan transaksi ke PSP Anda. billingAddress ditampilkan di
SubmitOrderRequestMessage
- Tetapkan CardParameters.billingAddressRequired ke
true
di respons checkout untuk mengharuskan pengguna memasukkan alamat penagihan mereka. - Setel CardParameters.billingAddressParameters untuk menentukan
kolom yang wajib diisi. Sebaiknya setel
{"format":"MIN"}
untuk mengurangi hambatan bagi pengguna. - Sertakan billingAddress lengkap atau hanya billingAddress.postalCode untuk validasi sebagai bagian dari transaksi pembayaran dengan PSP Anda.
Contoh googleProvidedPaymentOptions:
{ "facilitationSpecification": "{\"apiVersion\":2,\"apiVersionMinor\":0,\"merchantInfo\":{\"merchantId\":\"Merchant ID\",\"merchantName\":\"Merchant Name\"},\"allowedPaymentMethods\":[{\"type\":\"CARD\",\"parameters\":{\"allowedAuthMethods\":[\"PAN_ONLY\"],\"allowedCardNetworks\":[\"VISA\",\"AMEX\",\"MASTERCARD\"],\"billingAddressRequired\":true,\"billingAddressParameters\":{\"format\":\"MIN\"}},\"tokenizationSpecification\":{\"type\":\"PAYMENT_GATEWAY\",\"parameters\":{\"gateway\":\"stripev2\",\"gatewayMerchantId\":\"stripe_pk_live_key\"}}}]}" }
Jika PSP merespons bahwa alamat atau kode pos salah, Anda harus
menampilkan contoh respons SubmitOrderResponseMessage
yang serupa.
Contoh respons
{ "expectUserResponse": false, "finalResponse": { "richResponse": { "items": [ { "structuredResponse": { "orderUpdate": { "actionOrderId": "sample_action_order_id", "orderState": { "state": "REJECTED", "label": "Order rejected" }, "updateTime": "2017-05-10T02:30:00.000Z", "rejectionInfo": { "type": "PAYMENT_DECLINED", "reason": "Invalid zipcode" }, "orderManagementActions": [ { "type": "CUSTOMER_SERVICE", "button": { "title": "Contact customer service", "openUrlAction": { "url": "mailto:support@example.com" } } }, { "type": "EMAIL", "button": { "title": "Email restaurant", "openUrlAction": { "url": "mailto:person@example.com" } } }, { "type": "CALL", "button": { "title": "Call restaurant", "openUrlAction": { "url": "tel:+16505554679" } } }, { "type": "VIEW_DETAILS", "button": { "title": "View order", "openUrlAction": { "url": "https://orderview.partner.com?orderid=sample_action_order_id" } } } ] } } } ] } } }
Menampilkan jenis rejectionInfo PAYMENT_DECLINED
akan menampilkan
dan memungkinkan pengguna memperbarui alamat penagihan atau memilih alamat lain.
metode pembayaran Anda. PAYMENT_DECLINED
error dikecualikan dalam Mengirimkan Error Pesanan
Pemberitahuan.