Zapobieganie oszustwom

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.

. .

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.