Pencegahan penipuan

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.

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.

  {
    "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.