Sygnały dotyczące zapobiegania oszustwom
Google może dostarczyć dodatkowe informacje o użytkowniku przy wysyłaniu
SubmitOrderRequest
Możesz wykorzystać te informacje, aby zapobiegać oszustwom
w ramach integracji.
Jak odczytywać sygnały zapobiegania oszustwom
Gdy Twój projekt zacznie otrzymywać dodatkowe sygnały dotyczące zapobiegania oszustwom,
Nagłówki SubmitOrderRequest
będą zawierać informacje o kliencie użytkownika
zamiast serwerów Google. Nagłówki żądania będą zawierać te elementy:
informacje:
Adres IP: adres IP klienta jest dostępny jako pierwszy IP w polu
x-forwarded-for
. Ten adres należy do IPV4 lub IPV6 zgodnie z konfiguracją klienta.Klient użytkownika: ciąg znaków klienta użytkownika jest przechowywany w polu
user-agent
. z tagiem „Google-ActionsOnGoogle/1.0”. przedrostek. Pamiętaj, że to pole może nie być zaznaczone. wypełniają się w zależności od urządzenia użytkownika i tego, czy złożył on zamówienie głosu.
Poniżej znajdziesz fragment nagłówka HTTP SubmitOrderRequest
używany w celu zapobiegania oszustwom
jest włączona:
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
Jeśli informacje o kliencie użytkownika są niewystarczające, aby dokonać oszustwa zapobiegawczych, skontaktuj się ze swoją osobą kontaktową w Google, aby omówić alternatywne rozwiązania.
Jak postępować w przypadku fałszywych transakcji podczas realizacji zamówienia
Na podstawie adresu IP użytkownika i informacji o kliencie użytkownika podanych w
SubmitOrderRequest
, użyj wewnętrznego algorytmu zapobiegania oszustwom, aby określić
czy transakcja jest prawdziwa.
Jeśli transakcja wydaje się fałszywa, w odpowiedzi prześlij orderState
:
REJECTED
i rejectionInfo
o wartości INELIGIBLE
oraz odpowiedni
opis błędu w SubmitOrderResponseMessage
.
Jeśli transakcja wydaje się legalna, zrealizuj zamówienie w zwykły sposób.
Weryfikacja adresu rozliczeniowego
Aby ograniczyć oszustwo, możesz podać adres rozliczeniowy w informacjach o płatności
do swojego dostawcy usług płatniczych. billingAddress jest zwracany w
SubmitOrderRequestMessage
.
- Ustaw CardParameters.billingAddressRequired na
true
w w odpowiedzi na żądanie płatności, aby użytkownik musiał podać adres rozliczeniowy. - Ustaw CardParameters.billingAddressParameters, aby zdefiniować
wymagane pola. Zalecamy ustawienie
{"format":"MIN"}
w taki sposób, aby zredukować i ułatwiać użytkownikom korzystanie z internetu. - Podaj pełny adres billingAddress lub tylko billingAddress.postalCode do weryfikacji w ramach transakcji z dostawcą usług płatniczych.
Przykładowy 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\"}}}]}" }
Jeśli dostawca usług płatniczych odpowie, że adres lub kod pocztowy są nieprawidłowe,
zwraca podobną przykładową odpowiedź SubmitOrderResponseMessage
.
Przykładowa odpowiedź
{ "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" } } } ] } } } ] } } }
Zwracanie typu rejectionInfo PAYMENT_DECLINED
powoduje wyświetlenie
i pozwala użytkownikowi zaktualizować adres rozliczeniowy lub wybrać inny.
formę płatności. PAYMENT_DECLINED
błędu jest wykluczone w błędzie przesyłania zamówienia
Alerty.