منع الاحتيال

إشارات منع الاحتيال

يمكن أن تقدّم Google معلومات إضافية حول العميل عند إرسال SubmitOrderRequest. يمكنك استخدام هذه المعلومات للمساعدة في منع المعاملات الاحتيالية في عملية الدمج.

كيفية قراءة إشارات منع الاحتيال

عند تفعيل مشروعك لتلقّي إشارات إضافية لمنع الاحتيال، ستحتوي عناوين 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.

مثال على 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\"}}}]}"
}

إذا أجاب مقدِّم خدمة الدفع بأنّ العنوان أو الرمز البريدي غير صحيح، يجب عرض مثال مشابه للاستجابة 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 خطأ في قسم إرسال تنبيهات أخطاء الطلب.