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
- Configura CardParameters.billingAddressRequired como
true
en la respuesta de confirmación de la compra para solicitarle al usuario que ingrese su dirección de facturación. - Establece CardParameters.billingAddressParameters para definir las
campos obligatorios. Se recomienda configurar
{"format":"MIN"}
para reducir fricción para los usuarios. - Incluye la billingAddress completa o solo el billingAddress.postalCode para la validación como parte del de pago con tu PSP.
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.