Sinyal pencegahan penipuan
Google dapat memberikan informasi klien pengguna tambahan saat kami mengirim
SubmitOrderRequest
. Anda dapat menggunakan informasi ini untuk membantu mencegah transaksi
penipuan dalam integrasi Anda.
Cara membaca sinyal pencegahan penipuan
Jika project Anda diaktifkan untuk menerima sinyal pencegahan penipuan tambahan, header SubmitOrderRequest
akan berisi informasi tentang klien pengguna, bukan server Google. Header permintaan akan berisi informasi berikut:
Alamat IP: Alamat IP klien pengguna tersedia sebagai IP pertama di kolom
x-forwarded-for
. Alamat ini dalam format IPV4 atau IPV6 seperti yang ditentukan oleh konfigurasi klien pengguna.Agen pengguna: String agen pengguna disimpan di kolom
user-agent
dengan akhiran "Google-ActionsOnGoogle/1.0". Perhatikan bahwa kolom ini mungkin tidak diisi, bergantung pada perangkat pengguna dan apakah mereka melakukan pemesanan melalui 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 pencegahan penipuan, hubungi kontak Google Anda untuk mendiskusikan solusi alternatif.
Cara menangani transaksi penipuan selama fulfillment
Berdasarkan alamat IP pengguna dan informasi agen pengguna yang diberikan di
SubmitOrderRequest
, gunakan algoritme pencegahan penipuan internal Anda untuk menentukan
apakah transaksi tersebut sah.
Jika transaksi tampaknya bersifat penipuan, respons dengan orderState
dari
REJECTED
dan rejectionInfo
dari INELIGIBLE
, beserta deskripsi error
yang sesuai di SubmitOrderResponseMessage
.
Jika transaksi tampaknya sah, proses pesanan seperti biasa.
Validasi alamat penagihan
Untuk mengurangi penipuan, Anda dapat menyertakan alamat penagihan dalam permintaan transaksi pembayaran ke PSP. billingAddress ditampilkan dalam
SubmitOrderRequestMessage
.
- Tetapkan CardParameters.billingAddressRequired ke
true
dalam respons checkout untuk mewajibkan pengguna memasukkan alamat penagihan mereka. - Tetapkan CardParameters.billingAddressParameters untuk menentukan
kolom yang diperlukan. Sebaiknya tetapkan
{"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
pesan dan memungkinkan pengguna memperbarui alamat penagihan atau memilih metode
pembayaran lain. Error PAYMENT_DECLINED
dikecualikan dalam Notifikasi Error
Pesanan Pengiriman.