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

Saat 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 terisi, bergantung pada perangkat pengguna dan apakah mereka memesan melalui suara.

Berikut 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 pemenuhan

Berdasarkan alamat IP pengguna dan informasi agen pengguna yang diberikan di SubmitOrderRequest, gunakan algoritma pencegahan penipuan internal Anda untuk menentukan apakah transaksi tersebut sah.

Jika transaksi tampak menipu, respons dengan orderState 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 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 pesan dan memungkinkan pengguna memperbarui alamat penagihan atau memilih metode pembayaran lain. Error PAYMENT_DECLINED dikecualikan dalam Mengirim Pemberitahuan Error Pesanan.