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.
- Kullanıcının fatura adresini girmesini zorunlu kılmak için ödeme yanıtında CardParameters.billingAddressRequired değerini
true
olarak ayarlayın. - Gerekli alanları tanımlamak için CardParameters.billingAddressParameters parametresini ayarlayın. Kullanıcıların karşılaşabileceği sorunları azaltmak için
{"format":"MIN"}
değerini ayarlamanızı öneririz. - PSP'nizle yapılan ödeme işleminin bir parçası olarak doğrulama için billingAddress değerinin tamamını veya yalnızca billingAddress.postalCode değerini ekleyin.
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.
Ö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ü 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.