Biện pháp chống lừa đảo

Tín hiệu chống lừa đảo

Google có thể cung cấp thêm thông tin khách hàng khi chúng tôi gửi SubmitOrderRequest. Bạn có thể dùng thông tin này để giúp ngăn chặn hành vi gian lận các giao dịch tích hợp.

Cách đọc các tín hiệu ngăn chặn hành vi gian lận

Khi dự án của bạn được cho phép nhận thêm tín hiệu ngăn chặn gian lận, SubmitOrderRequest tiêu đề sẽ chứa thông tin về ứng dụng của người dùng thay vì các máy chủ của Google. Tiêu đề của yêu cầu sẽ chứa các nội dung sau của bạn:

  • Địa chỉ IP: Địa chỉ IP của máy khách của người dùng được cung cấp dưới dạng đầu tiên IP trong trường x-forwarded-for. Địa chỉ này có định dạng IPV4 hoặc IPV6 như được xác định bởi cấu hình ứng dụng của người dùng.

  • Tác nhân người dùng: Chuỗi tác nhân người dùng được lưu trữ trong trường user-agent bằng "Google-ActionsOnGoogle/1.0" hậu tố. Lưu ý rằng trường này có thể không điền sẵn tuỳ thuộc vào thiết bị của người dùng và việc họ đặt hàng theo giọng nói của bạn.

Dưới đây là một đoạn trích của tiêu đề HTTP SubmitOrderRequest khi ngăn chặn hành vi gian lận được bật:

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

Nếu thông tin khách hàng của người dùng không đủ để bạn thực hiện hành vi gian lận phòng ngừa, liên hệ với đầu mối liên hệ của Google để thảo luận về các giải pháp thay thế.

Cách xử lý các giao dịch gian lận trong quá trình thực hiện đơn hàng

Dựa trên địa chỉ IP của người dùng và thông tin tác nhân người dùng được cung cấp trong SubmitOrderRequest thân mến, hãy sử dụng thuật toán phòng chống gian lận nội bộ để xác định liệu giao dịch có hợp lệ hay không.

Nếu đây là giao dịch gian lận, hãy phản hồi bằng orderState REJECTEDrejectionInfoINELIGIBLE, cùng với một thẻ thích hợp mô tả lỗi trong SubmitOrderResponseMessage.

Nếu giao dịch có vẻ hợp pháp, hãy xử lý đơn đặt hàng như bình thường.

Xác thực địa chỉ thanh toán

Để giảm gian lận, bạn có thể đưa địa chỉ thanh toán vào thông tin thanh toán yêu cầu giao dịch đến PSP của bạn. billingAddress được trả về trong SubmitOrderRequestMessage.

Ví dụ: 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\"}}}]}"
}

Nếu PSP phản hồi rằng địa chỉ hoặc mã bưu chính không chính xác, bạn nên trả về phản hồi SubmitOrderResponseMessage mẫu tương tự.

Ví dụ về phản hồi

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

Việc trả về loại PAYMENT_DECLINED rejectionInfo cho thấy và cho phép người dùng cập nhật địa chỉ thanh toán hoặc chọn một địa chỉ thanh toán khác phương thức thanh toán. PAYMENT_DECLINED lỗi đã được loại trừ trong Lỗi khi gửi đơn đặt hàng Cảnh báo.