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
.
- Defina CardParameters.billingAddressRequired como
true
em a resposta do pagamento para exigir que o usuário insira o endereço de faturamento. - Configure CardParameters.billingAddressParameters para definir os
campos obrigatórios. Recomendamos definir
{"format":"MIN"}
para reduzir atrito para os usuários. - Inclua o billingAddress completo ou somente o billingAddress.postalCode para validação como parte do transação de pagamento com seu PSP.
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.