Prevenção contra fraude

Sinais de prevenção contra fraudes

O Google pode fornecer informações adicionais sobre o cliente quando enviamos SubmitOrderRequest: Você pode usar essas informações para ajudar a evitar fraudes transações em sua integração.

Como ler sinais de prevenção de fraudes

Quando seu projeto estiver ativado para receber sinais adicionais de prevenção contra fraudes, o Os cabeçalhos SubmitOrderRequest vão conter informações sobre o cliente do usuário e não nos servidores do Google. Os cabeçalhos da solicitação conterão o seguinte informações:

  • Endereço IP: o endereço IP do cliente do usuário está disponível como o primeiro IP no campo x-forwarded-for. Este endereço está em IPV4 ou IPV6 conforme determinado pela configuração do cliente do usuário.

  • User agent:a string do user agent é armazenada no campo user-agent. com uma instância "Google-ActionsOnGoogle/1.0" sufixo. Esse campo pode não são preenchidas dependendo do dispositivo do usuário e se ele fez um pedido voz

Confira abaixo um snippet do cabeçalho HTTP SubmitOrderRequest durante a prevenção contra fraudes está ativado:

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

Se as informações do cliente usuário não forem suficientes para cometer fraudes a prevenção do problema, fale com seu contato do Google para discutir soluções alternativas.

Como lidar com transações fraudulentas durante o atendimento do pedido

Com base no endereço IP do usuário e nas informações do user agent fornecidas no SubmitOrderRequest, use seu algoritmo interno de prevenção contra fraudes para determinar se a transação é legítima.

Se a transação parece ser fraudulenta, responda com orderState de um REJECTED e um rejectionInfo de INELIGIBLE, bem como um a descrição do erro no SubmitOrderResponseMessage.

Se a transação parece ser legítima, processe o pedido normalmente.

Validação do endereço de cobrança

Para reduzir fraudes, inclua o endereço de faturamento no pagamento solicitação de transação ao seu PSP. O billingAddress é retornado na SubmitOrderRequestMessage.

.

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

Se o PSP responder que o endereço ou o CEP está incorreto, retornar um exemplo de resposta SubmitOrderResponseMessage semelhante.

Exemplo de resposta

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

Retornar o tipo PAYMENT_DECLINED rejectionInfo exibe uma e permite que o usuário atualize o endereço de faturamento ou escolha outro forma de pagamento. PAYMENT_DECLINED erros foram excluídos em Erro ao enviar pedido Alertas.