Sahtekarlığı önleme

Sahtekarlığı önleme sinyalleri

Google, SubmitOrderRequest gönderdiğimizde ek kullanıcı istemci bilgileri sağlayabilir. Entegrasyonunuzda sahtekarlık amaçlı işlemleri önlemek için bu bilgileri kullanabilirsiniz.

Sahtekarlık önleme sinyallerini okuma

Projeniz ek sahtekarlık önleme sinyalleri alacak şekilde etkinleştirildiğinde, SubmitOrderRequest üstbilgileri Google'ın sunucuları yerine kullanıcı istemcisi hakkında bilgi içerir. İstek üstbilgileri aşağıdaki bilgileri içerir:

  • IP adresi: Kullanıcı istemcisinin IP adresi, x-forwarded-for alanında ilk IP olarak kullanılabilir. Bu adres, kullanıcı istemcisinin yapılandırmasına göre IPV4 veya IPV6 biçimindedir.

  • Kullanıcı aracısı: Kullanıcı aracısı dizesi, "Google-ActionsOnGoogle/1.0" son ekiyle user-agent alanında depolanır. Bu alanın, kullanıcının cihazına ve sesli olarak sipariş verip vermediğine bağlı olarak doldurulmayabileceğini unutmayın.

Sahtekarlık önleme etkinleştirildiğinde SubmitOrderRequest HTTP üstbilgisinin snippet'i aşağıda verilmiştir:

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

Kullanıcı istemci bilgileri, sahtekarlığı önlemek için yeterli değilse alternatif çözümleri görüşmek üzere Google temsilcinizle iletişime geçin.

Siparişin yerine getirilmesinde sahte işlemleri ele alma

Kullanıcının IP adresine ve SubmitOrderRequest içinde sağlanan kullanıcı aracısı bilgilerine göre, işlemin meşru olup olmadığını belirlemek için dahili sahtekarlık önleme algoritmanızı kullanın.

İşlem sahtekarlık amaçlı görünüyorsa SubmitOrderResponseMessage alanında uygun bir hata açıklamasıyla birlikte REJECTED değerinde bir orderState ve INELIGIBLE değerinde bir rejectionInfo göndererek yanıt verin.

İşlem meşru görünüyorsa siparişi normal şekilde işleyin.

Fatura adresi doğrulaması

Sahtekarlığı azaltmak için fatura adresini PSP'nize gönderdiğiniz ödeme işlemi isteğine ekleyebilirsiniz. billingAddress, SubmitOrderRequestMessage içinde döndürülür.

googleProvidedPaymentOptions örneği:

{
  "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\"}}}]}"
}

PSP, adresin veya posta kodunun yanlış olduğunu belirtirse benzer bir örnek SubmitOrderResponseMessage yanıtı döndürmeniz gerekir.

  {
    "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"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        }
    }
}
      

PAYMENT_DECLINED rejectionInfo türünü döndürmek bir mesaj görüntüler ve kullanıcının fatura adresini güncellemesine veya başka bir ödeme yöntemi seçmesine olanak tanır. PAYMENT_DECLINED hataları, Sipariş Gönderme Hatası Uyarıları'nda hariç tutulur.