سیگنال های پیشگیری از تقلب
هنگامی که ما SubmitOrderRequest
ارسال می کنیم، Google می تواند اطلاعات مشتری کاربر اضافی را ارائه دهد. شما می توانید از این اطلاعات برای کمک به جلوگیری از تراکنش های جعلی در ادغام خود استفاده کنید.
نحوه خواندن سیگنال های پیشگیری از تقلب
هنگامی که پروژه شما برای دریافت سیگنالهای جلوگیری از تقلب اضافی فعال میشود، سرصفحههای SubmitOrderRequest
به جای سرورهای Google حاوی اطلاعاتی درباره مشتری کاربر خواهد بود. سربرگ درخواست حاوی اطلاعات زیر خواهد بود:
آدرس 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
بازگردانده می شود.
- 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
در ارسال هشدارهای خطای سفارش مستثنی هستند.