Prévention des fraudes

Signaux de prévention des fraudes

Google peut fournir des informations supplémentaires sur le client utilisateur lorsque nous envoyons SubmitOrderRequest. Vous pouvez utiliser ces informations pour éviter les transactions frauduleuses dans votre intégration.

Lire les signaux de prévention de la fraude

Lorsque votre projet est activé pour recevoir des signaux de prévention de la fraude supplémentaires, les en-têtes SubmitOrderRequest contiennent des informations sur le client utilisateur au lieu des serveurs de Google. Les en-têtes de requête contiennent les informations suivantes:

  • Adresse IP:l'adresse IP du client utilisateur est disponible en tant que première adresse IP dans le champ x-forwarded-for. Cette adresse est au format IPv4 ou IPv6, selon la configuration du client utilisateur.

  • User-agent:la chaîne user-agent est stockée dans le champ user-agent avec un suffixe "Google-ActionsOnGoogle/1.0". Notez que ce champ peut ne pas être renseigné en fonction de l'appareil de l'utilisateur et s'il a passé une commande par commande vocale.

Vous trouverez ci-dessous un extrait de l'en-tête HTTP SubmitOrderRequest lorsque la prévention des fraudes est activée:

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 les informations client de l'utilisateur ne vous suffisent pas pour effectuer la prévention des fraudes, contactez votre contact Google pour discuter d'autres solutions.

Gérer les transactions frauduleuses lors de l'exécution

En fonction de l'adresse IP et des informations sur l'agent utilisateur fournies dans SubmitOrderRequest, utilisez votre algorithme interne de prévention des fraudes pour déterminer si la transaction est légitime.

Si la transaction semble frauduleuse, répondez avec une valeur orderState de REJECTED et une valeur rejectionInfo de INELIGIBLE, ainsi qu'une description d'erreur appropriée dans SubmitOrderResponseMessage.

Si la transaction semble légitime, traitez la commande normalement.

Validation de l'adresse de facturation

Pour réduire la fraude, vous pouvez inclure l'adresse de facturation dans la demande de transaction de paiement envoyée à votre PSP. billingAddress est renvoyé dans SubmitOrderRequestMessage.

Exemple 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 le PSP répond que l'adresse ou le code postal est incorrect, vous devez renvoyer une réponse SubmitOrderResponseMessage similaire.

  {
    "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 vous renvoyez le type PAYMENT_DECLINED rejectionInfo, un message s'affiche et l'utilisateur peut modifier l'adresse de facturation ou choisir un autre mode de paiement. Les erreurs PAYMENT_DECLINED sont exclues des alertes d'erreur d'envoi de commande.