การป้องกันการประพฤติมิชอบ

สัญญาณการป้องกันการประพฤติมิชอบ

Google สามารถให้ข้อมูลเพิ่มเติมเกี่ยวกับไคลเอ็นต์ผู้ใช้เมื่อเราส่ง SubmitOrderRequest คุณสามารถใช้ข้อมูลนี้เพื่อช่วยป้องกันการทำธุรกรรมที่เป็นการฉ้อโกงในการผสานรวม

วิธีอ่านสัญญาณการป้องกันการประพฤติมิชอบ

เมื่อเปิดใช้โปรเจ็กต์ให้รับสัญญาณการป้องกันการประพฤติมิชอบเพิ่มเติม ส่วนหัวSubmitOrderRequestจะมีข้อมูลเกี่ยวกับไคลเอ็นต์ของผู้ใช้แทนเซิร์ฟเวอร์ของ Google ส่วนหัวของคําขอจะมีข้อมูลต่อไปนี้

  • ที่อยู่ IP: ที่อยู่ IP ของไคลเอ็นต์ผู้ใช้จะแสดงเป็น first IP ในช่อง x-forwarded-for ที่อยู่นี้อยู่ในรูปแบบ IPV4 หรือ IPV6 โดยขึ้นอยู่กับการกำหนดค่าของไคลเอ็นต์ของผู้ใช้

  • User Agent: ระบบจะจัดเก็บสตริง User Agent ในช่อง 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 ของผู้ใช้และข้อมูล User Agent ที่ระบุไว้ใน SubmitOrderRequest

หากธุรกรรมดูเหมือนว่าเป็นการฉ้อโกง ให้ตอบกลับด้วย orderState ของ REJECTED และ rejectionInfo ของ INELIGIBLE พร้อมคำอธิบายข้อผิดพลาดที่เหมาะสมใน SubmitOrderResponseMessage

หากธุรกรรมดังกล่าวดูเหมือนว่าถูกต้อง ให้ดำเนินการตามคำสั่งซื้อตามปกติ

การยืนยันที่อยู่สำหรับการเรียกเก็บเงิน

คุณสามารถระบุที่อยู่สำหรับการเรียกเก็บเงินในคำขอธุรกรรมการชำระเงินไปยัง PSP เพื่อลดการประพฤติมิชอบ ระบบจะแสดงผล billingAddress ใน SubmitOrderRequestMessage

  • ตั้งค่า CardParameters.billingAddressRequired เป็น true ในคําตอบการชำระเงินเพื่อกำหนดให้ผู้ใช้ป้อนที่อยู่สำหรับการเรียกเก็บเงิน
  • ตั้งค่า CardParameters.billingAddressParameters เพื่อกำหนดฟิลด์ที่ต้องกรอก เราขอแนะนำให้ตั้งค่า {"format":"MIN"} เพื่อลดความยุ่งยากให้กับผู้ใช้
  • ระบุ billingAddress แบบเต็มหรือเฉพาะ billingAddress.postalCode เพื่อการยืนยันเป็นส่วนหนึ่งของธุรกรรมการชำระเงินกับ PSP

ตัวอย่าง 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"
                                        }
                                    }
                                }
                            ]
                        }
                    }
                }
            ]
        }
    }
}
      

การส่งคืนประเภท PAYMENT_DECLINED rejectionInfo จะแสดงข้อความและอนุญาตให้ผู้ใช้อัปเดตที่อยู่สำหรับการเรียกเก็บเงินหรือเลือกวิธีการชำระเงินอื่น ระบบจะไม่รวมข้อผิดพลาด PAYMENT_DECLINED ไว้ในการแจ้งเตือนข้อผิดพลาดในการส่งคำสั่งซื้อ