পাস করা clientMessage
ইকো ব্যাক করে।
এই পদ্ধতির উদ্দেশ্য হল পেমেন্ট ইন্টিগ্রেটর এবং Google এর মধ্যে মৌলিক সংযোগ পরীক্ষা করা।
এই পদ্ধতিটি Google দ্বারা প্রতি মিনিটে একাধিকবার বৈধ বা অবৈধ প্যারামিটার সহ কল করা হতে পারে যাতে নিরাপত্তার সীমাবদ্ধতাগুলি সঠিকভাবে অনুষ্ঠিত হচ্ছে কিনা তা পরীক্ষা করতে। Google এই পদ্ধতিটিকে ইন্টিগ্রেটরের নির্দেশের পাশাপাশি Google-এর নির্দেশে অ্যাড-হক বলে। Google কখনই প্রতি 10 সেকেন্ডে একবারের বেশি দ্রুত কল করবে না এবং 15 মিনিটের উইন্ডোতে 30 বারের বেশি কখনই কল করবে না।
নিরাপত্তা সীমাবদ্ধতা পরীক্ষার উদাহরণ হল (তবে সীমাবদ্ধ নয়):
- পেমেন্ট ইন্টিগ্রেটরের এন্ডপয়েন্ট দুর্বল সাইফার স্যুটের সাথে আলোচনা করে না তা নিশ্চিত করতে পরীক্ষা করুন।
- পেমেন্ট ইন্টিগ্রেটরের এন্ডপয়েন্ট TLS 1.2 ব্যতীত অন্য কিছুর সাথে আলোচনা করে না তা নিশ্চিত করার জন্য পরীক্ষা করুন
- পেমেন্ট ইন্টিগ্রেটরের এন্ডপয়েন্ট HTTP সমর্থন করে না তা নিশ্চিত করতে পরীক্ষা করুন।
- পেমেন্ট ইন্টিগ্রেটরের এন্ডপয়েন্ট ম্যান্ডেট নিশ্চিত করতে পরীক্ষা করুন অন্তত একটি পরিচিত PGP সাইনিং কী।
- পেমেন্ট ইন্টিগ্রেটরের এন্ডপয়েন্ট একাধিক PGP কী স্বাক্ষর সমর্থন করে তা নিশ্চিত করার জন্য পরীক্ষা করুন, পরিচিত এবং অজানা, উভয় মেয়াদ উত্তীর্ণ এবং সক্রিয়।
- পেমেন্ট ইন্টিগ্রেটর নিশ্চিত করতে পরীক্ষা করুন শুধুমাত্র কঠোর JSON পার্সিং সমর্থন করে।
অনুরোধটি প্রক্রিয়া করার সময় যদি এন্ডপয়েন্টটি একটি ত্রুটির সম্মুখীন হয়, তাহলে এই এন্ডপয়েন্ট থেকে রেসপন্স বডিটি
টাইপ হওয়া উচিত।ErrorResponse
একটি উদাহরণ অনুরোধ এর মত দেখায়:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "ZWNobyB0cmFuc2FjdGlvbg",
"requestTimestamp": "1481899949606"
},
"clientMessage": "client message"
}
একটি উদাহরণ প্রতিক্রিয়া মত দেখায়:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"clientMessage": "client message",
"serverMessage": "server message"
}
HTTP অনুরোধ
POST https://www.integratorhost.example.com/v1/echo
শরীরের অনুরোধ
অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
JSON প্রতিনিধিত্ব |
---|
{
"requestHeader": {
object ( |
ক্ষেত্র | |
---|---|
requestHeader | প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম। |
clientMessage | প্রয়োজনীয় : প্রতিক্রিয়াতে প্রতিধ্বনি করার জন্য বার্তা। |
প্রতিক্রিয়া শরীর
ইকো পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।
সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:
JSON প্রতিনিধিত্ব |
---|
{
"responseHeader": {
object ( |
ক্ষেত্র | |
---|---|
responseHeader | প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম। |
clientMessage | প্রয়োজনীয় : অনুরোধে বার্তা পাওয়া গেছে। |
serverMessage | ঐচ্ছিক : সার্ভার বার্তা, |
অনুরোধ শিরোনাম
হেডার অবজেক্ট যা সার্ভারে পাঠানো সমস্ত অনুরোধে সংজ্ঞায়িত করা হয়।
JSON প্রতিনিধিত্ব |
---|
{
"requestId": string,
"requestTimestamp": string,
"userLocale": string,
"protocolVersion": {
object ( |
ক্ষেত্র | |
---|---|
requestId | প্রয়োজনীয় : এই অনুরোধের অনন্য শনাক্তকারী। এটি এমন একটি স্ট্রিং যার সর্বোচ্চ দৈর্ঘ্য 100টি অক্ষর, এবং এতে শুধুমাত্র "az", "AZ", "0-9", ":", "-", এবং "_" অক্ষর রয়েছে। |
requestTimestamp | প্রয়োজনীয় : এই অনুরোধের টাইমস্ট্যাম্প যুগের পর থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s। এই অনুরোধ টাইমস্ট্যাম্প পুনঃপ্রচেষ্টার উপর অদম্য নয়। |
userLocale | অপ্রচলিত : একটি দুই- বা তিন-অক্ষরের ISO 639-2 Alpha 3 ভাষা কোড ঐচ্ছিকভাবে একটি হাইফেন এবং একটি ISO 3166-1 Alpha-2 দেশের কোড, যেমন'pt', 'pt-BR', 'fil', অথবা 'fil-PH'। প্রতিক্রিয়ায় |
protocolVersion | প্রয়োজনীয় : এই অনুরোধের সংস্করণ। |
সংস্করণ
সংস্করণ অবজেক্ট যা ক্লাসিক abc
সংস্করণ কাঠামোর একটি কাঠামোবদ্ধ রূপ। একই সংখ্যার প্রধান সংস্করণগুলি সামঞ্জস্যপূর্ণ হওয়ার গ্যারান্টিযুক্ত। নোট করুন যে গৌণ এবং সংশোধন ঘন ঘন এবং বিজ্ঞপ্তি ছাড়াই পরিবর্তিত হতে পারে। ইন্টিগ্রেটরকে অবশ্যই একই প্রধান সংস্করণের জন্য সমস্ত অনুরোধ সমর্থন করতে হবে।
JSON প্রতিনিধিত্ব |
---|
{ "major": integer, "minor": integer, "revision": integer } |
ক্ষেত্র | |
---|---|
major | প্রয়োজনীয় : প্রধান সংস্করণ। এটি বিভিন্ন সংস্করণের সাথে সামঞ্জস্যের অনুরোধগুলির জন্য চিহ্নিত করা হয়েছে যেগুলি সামঞ্জস্যপূর্ণ হওয়ার নিশ্চয়তা নেই৷ |
minor | প্রয়োজনীয় : ছোট সংস্করণ। এটি উল্লেখযোগ্য বাগ সংশোধন নির্দেশ করে। |
revision | প্রয়োজনীয় : ছোট সংস্করণ। এটি ছোটখাট বাগ ফিক্স বোঝায়। |