প্রতারনা প্রতিরোধ

জালিয়াতি প্রতিরোধ সংকেত

যখন আমরা SubmitOrderRequest পাঠাই তখন Google অতিরিক্ত ব্যবহারকারীর ক্লায়েন্ট তথ্য প্রদান করতে পারে। আপনার ইন্টিগ্রেশনে প্রতারণামূলক লেনদেন প্রতিরোধ করতে আপনি এই তথ্য ব্যবহার করতে পারেন।

জালিয়াতি প্রতিরোধ সংকেত কিভাবে পড়তে হয়

যখন আপনার প্রকল্প অতিরিক্ত জালিয়াতি প্রতিরোধ সংকেত পেতে সক্ষম করা হয়, তখন SubmitOrderRequest শিরোনামে Google এর সার্ভারের পরিবর্তে ব্যবহারকারী ক্লায়েন্ট সম্পর্কে তথ্য থাকবে৷ অনুরোধ শিরোনামে নিম্নলিখিত তথ্য থাকবে:

  • IP ঠিকানা: ব্যবহারকারীর ক্লায়েন্টের IP ঠিকানাটি x-forwarded-for ক্ষেত্রের প্রথম IP হিসাবে উপলব্ধ। এই ঠিকানাটি হয় IPV4 বা IPV6 ফর্ম্যাটে যেমন ব্যবহারকারীর ক্লায়েন্টের কনফিগারেশন দ্বারা নির্ধারিত হয়৷

  • ব্যবহারকারী এজেন্ট: ব্যবহারকারী-এজেন্ট স্ট্রিং একটি "Google-ActionsOnGoogle/1.0" প্রত্যয় সহ user-agent ক্ষেত্রে সংরক্ষণ করা হয়। নোট করুন যে এই ক্ষেত্রটি ব্যবহারকারীর ডিভাইসের উপর নির্ভর করে এবং তারা ভয়েস দ্বারা একটি অর্ডার দিয়েছে কিনা তা নির্ভর করে নাও হতে পারে৷

নিচে SubmitOrderRequest HTTP হেডারের একটি স্নিপেট দেওয়া হল যখন জালিয়াতি প্রতিরোধ সক্ষম করা হয়:

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 পরিচিতির সাথে যোগাযোগ করুন।

পূরণের সময় প্রতারণামূলক লেনদেনগুলি কীভাবে পরিচালনা করবেন

SubmitOrderRequest এ প্রদত্ত ব্যবহারকারীর IP ঠিকানা এবং ব্যবহারকারী-এজেন্ট তথ্যের উপর ভিত্তি করে, লেনদেনটি বৈধ কিনা তা নির্ধারণ করতে আপনার অভ্যন্তরীণ জালিয়াতি প্রতিরোধ অ্যালগরিদম ব্যবহার করুন।

যদি লেনদেনটি প্রতারণাপূর্ণ বলে মনে হয়, তাহলে SubmitOrderResponseMessage এ একটি উপযুক্ত ত্রুটির বিবরণ সহ REJECTED একটি orderState এবং INELIGIBLE এর একটি rejectionInfo সহ উত্তর দিন৷

লেনদেনটি বৈধ বলে মনে হলে, অর্ডারটি স্বাভাবিক হিসাবে প্রক্রিয়া করুন।

বিলিং ঠিকানা বৈধতা

জালিয়াতি কমানোর জন্য, আপনি আপনার PSP-এ পেমেন্ট লেনদেনের অনুরোধে বিলিং ঠিকানা অন্তর্ভুক্ত করতে পারেন। বিলিংয়ের ঠিকানা SubmitOrderRequestMessage এ ফেরত দেওয়া হয়।

  • ব্যবহারকারীকে তাদের বিলিং ঠিকানা লিখতে হবে তার জন্য চেকআউট প্রতিক্রিয়াতে CardParameters.billingAddress প্রয়োজনীয় true সেট করুন।
  • প্রয়োজনীয় ক্ষেত্র সংজ্ঞায়িত করতে CardParameters.billingAddressParameters সেট করুন। ব্যবহারকারীদের ঘর্ষণ কমাতে {"format":"MIN"} সেট করার পরামর্শ দেওয়া হয়৷
  • আপনার PSP এর সাথে অর্থপ্রদানের লেনদেনের অংশ হিসাবে বৈধতার জন্য সম্পূর্ণ বিলিং ঠিকানা বা শুধুমাত্র billingAddress.postalCode অন্তর্ভুক্ত করুন।

উদাহরণ 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 প্রত্যাখ্যান তথ্য টাইপ ফেরত দেওয়া একটি বার্তা প্রদর্শন করে এবং ব্যবহারকারীকে বিলিং ঠিকানা আপডেট করতে বা অন্য অর্থপ্রদানের পদ্ধতি বেছে নেওয়ার অনুমতি দেয়। PAYMENT_DECLINED ত্রুটিগুলি জমা অর্ডার ত্রুটি সতর্কতাগুলিতে বাদ দেওয়া হয়েছে৷