Pencegahan penipuan

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

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.