Prevención de fraudes

Indicadores de prevención de fraudes

Google puede proporcionar información adicional de los clientes de usuarios cuando enviamos SubmitOrderRequest Puedes usar esta información para evitar fraudes transacciones en tu integración.

Cómo leer los indicadores de prevención de fraudes

Cuando tu proyecto esté habilitado para recibir indicadores adicionales de prevención de fraudes, el Los encabezados SubmitOrderRequest contendrán información sobre el usuario-cliente en lugar de a los servidores de Google. Los encabezados de la solicitud contendrán lo siguiente: información:

  • Dirección IP: la dirección IP del cliente del usuario está disponible como el primer IP en el campo x-forwarded-for. Esta dirección está en IPV4 o IPV6 según lo determinado por la configuración del cliente del usuario.

  • Usuario-agente: La string de usuario-agente se almacena en el campo user-agent con un valor "Google-ActionsOnGoogle/1.0" . Ten en cuenta que es posible que este campo propagarse según el dispositivo del usuario y si el usuario realizó un pedido voz.

A continuación, se muestra un fragmento del encabezado HTTP SubmitOrderRequest para la prevención de fraudes esté habilitado:

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

Si la información de cliente del usuario no es suficiente para cometer fraude comuníquese con su contacto de Google para hablar sobre soluciones alternativas.

Cómo manejar las transacciones fraudulentas durante la entrega

Según la dirección IP del usuario y la información del usuario-agente proporcionada en el SubmitOrderRequest, usa tu algoritmo interno de prevención de fraudes para determinar si la transacción es legítima.

Si la transacción parece ser fraudulenta, responde con un orderState de REJECTED y un rejectionInfo de INELIGIBLE, junto con una descripción del error en el SubmitOrderResponseMessage.

Si la transacción parece ser legítima, procesa el pedido de la manera habitual.

Validación de la dirección de facturación

Para reducir el fraude, puedes incluir la dirección de facturación en la sección de pago una solicitud de transacción a tu PSP. La billingAddress se muestra en SubmitOrderRequestMessage

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

Si el PSP responde que la dirección o el código postal son incorrectos, deberías mostrar una respuesta SubmitOrderResponseMessage de ejemplo similar

Ejemplo de respuesta

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

Si devuelves el tipo PAYMENT_DECLINED rejectionInfo, se mostrará un y permite que el usuario actualice la dirección de facturación o elija otra forma de pago. Se excluyen PAYMENT_DECLINED errores en Submit Order Error (Enviar error de pedido). Alertas.