מניעת הונאות

אותות למניעת הונאות

Google יכולה לספק פרטים נוספים על המשתמשים כשאנחנו שולחים SubmitOrderRequest אפשר להשתמש במידע הזה כדי למנוע הונאה עסקאות בשילוב.

איך לקרוא אותות למניעת הונאות

כשהפרויקט מאפשר לקבל אותות נוספים למניעת הונאות, כותרות של SubmitOrderRequest יכילו מידע על לקוח המשתמש במקום בשרתים של Google. כותרות הבקשות יכילו את הפרטים הבאים מידע:

  • כתובת IP: כתובת ה-IP של לקוח המשתמש זמינה בתור כתובת ה-IP הראשונה IP בשדה x-forwarded-for. הכתובת הזו נמצאת ב-IPV4 או ב-IPV6 בפורמט שנקבע לפי ההגדרות של הלקוח.

  • סוכן משתמש: המחרוזת של סוכן המשתמש מאוחסנת בשדה user-agent עם "Google-ActionsOnGoogle/1.0" הסיומת לתשומת ליבכם: יכול להיות שהשדה הזה לא בהתאם למכשיר של המשתמש ואם הוא ביצע הזמנה קול.

בהמשך מופיע קטע של כותרת ה-HTTP SubmitOrderRequest למניעת הונאות מופעלת:

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

אם פרטי הלקוח של המשתמש לא מספיקים לביצוע הונאה מומלץ לפנות לאיש הקשר שלכם ב-Google כדי לדון בפתרונות חלופיים.

איך מטפלים בעסקאות שמקורן בתרמית במהלך מילוי ההזמנה

על סמך כתובת ה-IP של המשתמש ומידע על סוכן המשתמש שמפורטת SubmitOrderRequest, עליך להשתמש באלגוריתם הפנימי למניעת הונאות כדי לקבוע האם העסקה לגיטימית.

אם נראה שהעסקה בוצעה בתרמית, יש להשיב להודעה הזו עם orderState REJECTED ו-rejectionInfo של INELIGIBLE, עם תיאור השגיאה ב-SubmitOrderResponseMessage.

אם נראה שהעסקה לגיטימית, יש לעבד את ההזמנה כרגיל.

אימות הכתובת לחיוב

כדי לצמצם את מספר ההונאות, אפשר לכלול בתשלום את הכתובת לחיוב בקשה לעסקה ל-PSP. השדה billingAddress מוחזר בקטע SubmitOrderRequestMessage.

דוגמה ל-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\"}}}]}"
}

אם מתקבלת תגובה מספק ה-PSP שהכתובת או המיקוד שגויים, עליך מחזירה דוגמה דומה לתשובה SubmitOrderResponseMessage.

דוגמה לתגובה

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

החזרת סוג rejectionInfo של PAYMENT_DECLINED מציגה ומאפשר למשתמש לעדכן את הכתובת לחיוב או לבחור כתובת אחרת אמצעי תשלום. PAYMENT_DECLINED שגיאות לא נכללות בקטע שגיאה בשליחת הזמנה התראות.