Signaux de prévention des fraudes
Google peut fournir des informations
supplémentaires sur les clients lorsque nous envoyons
SubmitOrderRequest
Vous pouvez utiliser ces informations pour éviter les fraudes
des transactions dans votre intégration.
Interpréter les signaux de prévention des fraudes
Lorsque la réception d'autres signaux de prévention des fraudes est activée pour votre projet, le
Les en-têtes SubmitOrderRequest
contiendront des informations sur le client utilisateur
au lieu des serveurs de Google. Les en-têtes de requête contiennent les éléments suivants :
informations:
Adresse IP:l'adresse IP du client utilisateur est disponible en tant que première adresse IP IP dans le champ
x-forwarded-for
. Cette adresse est au format IPv4 ou IPv6 format déterminé par la configuration du client utilisateur.User-agent:la chaîne user-agent est stockée dans le champ
user-agent
. avec un compte "Google-ActionsOnGoogle/1.0" . Notez que ce champ peut ne pas s'affichent selon l'appareil de l'utilisateur et selon qu'il a passé commande voix.
Vous trouverez ci-dessous un extrait de l'en-tête HTTP SubmitOrderRequest
pour la prévention des fraudes.
est activé:
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 sur le client de l'utilisateur ne sont pas suffisantes pour vous permettre d'effectuer une fraude de prévention des maladies, contactez votre représentant Google pour discuter de solutions alternatives.
Gérer les transactions frauduleuses lors du traitement
D'après l'adresse IP de l'utilisateur et les informations sur le user-agent fournies dans les
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 en envoyant un orderState
de
REJECTED
et rejectionInfo
de INELIGIBLE
, ainsi qu'une propriété
description de l'erreur dans SubmitOrderResponseMessage
.
Si la transaction semble légitime, traitez la commande normalement.
Validation de l'adresse de facturation
Afin de limiter la fraude, vous pouvez inclure l'adresse de facturation dans le paiement.
de transaction à votre PSP. L'élément billingAddress est renvoyé dans le
SubmitOrderRequestMessage
- Définissez CardParameters.billingAddressRequired sur
true
dans la réponse de paiement pour demander à l'utilisateur de saisir son adresse de facturation. - Définissez CardParameters.billingAddressParameters pour définir la
champs obligatoires. Il est recommandé de définir
{"format":"MIN"}
pour réduire pour les utilisateurs. - Incluez l'adresse complète de billingAddress ou uniquement billingAddress.postalCode pour être validé dans le cadre de de paiement avec votre PSP.
Exemple 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 le PSP répond que l'adresse ou le code postal est incorrect, vous devez
renvoient un exemple de réponse SubmitOrderResponseMessage
similaire.
Exemple de réponse
{ "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" } } } ] } } } ] } } }
Le fait de renvoyer le type rejectionInfo PAYMENT_DECLINED
affiche une
et permet à l'utilisateur de mettre à jour l'adresse de facturation ou d'en choisir une autre
mode de paiement. PAYMENT_DECLINED
erreurs sont exclues de la section Erreur d'envoi de la commande
Alertes.