Sahtekarlığı önleme

Sahtekarlığı önleme sinyalleri

Google, SubmitOrderRequest numaralı telefonu gönderdiğimizde müşteriyle ilgili ek bilgiler sağlayabilir. Entegrasyonunuzda sahte işlemleri önlemek için bu bilgileri kullanabilirsiniz.

Sahtekarlığı önleme sinyallerini okuma

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

  • IP adresi: Kullanıcı istemcisinin IP adresi, x-forwarded-for alanında ilk IP olarak bulunur. Bu adres, kullanıcı istemcisinin yapılandırması tarafından belirlenen IPV4 veya IPV6 biçimindedir.

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

Aşağıda, sahtekârlığı önleme etkinleştirildiğinde SubmitOrderRequest HTTP üst bilgisinin snippet'ini görebilirsiniz:

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ı istemcisi bilgileri, sahtekarlığı önlemeniz için yeterli değilse alternatif çözümleri görüşmek üzere Google temsilcinizle iletişime geçin.

Sipariş karşılama sırasında sahte işlemler nasıl ele alınır?

Kullanıcının IP adresine ve SubmitOrderRequest içinde sağlanan kullanıcı aracısı bilgilerine dayanarak işlemin yasal olup olmadığını belirlemek için dahili sahtekarlığı önleme algoritmanızı kullanın.

İşlemin sahte olduğunu düşünüyorsanız SubmitOrderResponseMessage içinde uygun bir hata açıklamasıyla birlikte REJECTED orderState ve INELIGIBLE rejectionInfo ile yanıt verin.

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

Fatura adresi doğrulaması

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

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

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

Örnek yanıt

  {
    "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ün döndürülmesi 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 hata, Sipariş Hata Uyarıları Gönder bölümünde hariç tutulur.