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
REJECTED
và rejectionInfo
là INELIGIBLE
, 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
.
- Đặt CardParameters.billingAddressRequired thành
true
trong phản hồi thanh toán để yêu cầu người dùng nhập địa chỉ thanh toán của họ. - Đặt CardParameters.billingAddressParameters để xác định
các trường bắt buộc. Bạn nên đặt
{"format":"MIN"}
để giảm phiền hà cho người dùng. - Bao gồm billingAddress đầy đủ hoặc chỉ cung cấp billingAddress.postalCode để xác thực như một phần của giao dịch thanh toán với PSP của bạn.
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.