- HTTP অনুরোধ
- শরীরের অনুরোধ
- প্রতিক্রিয়া শরীর
- অনুরোধ শিরোনাম
- সংস্করণ
- অর্ডার লুকআপ মানদণ্ড
- ArnCriteria
- GoogleTransactionReferenceNumberCriteria
- RequestOriginator
- রেসপন্স হেডার
- অর্ডারের বিবরণ ফলাফল কোড পান
- অর্ডার
- আইটেম
- ট্যাক্স
শেষ-ব্যবহারকারীদের চার্জ করার জন্য Google অংশীদারদের ভিত্তি প্রদান করে এমন একটি অর্ডার পান৷
অনুরোধটি প্রক্রিয়া করার সময় যদি এন্ডপয়েন্ট কোনো ত্রুটির সম্মুখীন হয়, তাহলে এই এন্ডপয়েন্ট থেকে পাওয়া প্রতিক্রিয়া হবে টাইপ।ErrorResponse
যদি এই পদ্ধতিটি HTTP 200 ফেরত না দেয় তবে এই প্রশ্নের উত্তরগুলি খালি হতে পারে৷ প্রতিক্রিয়ার অংশটি এমন পরিস্থিতিতে খালি থাকে যেখানে একটি স্পষ্ট বিবরণ সহ একটি আক্রমণকারীকে অন্যান্য ইন্টিগ্রেটরগুলির পেমেন্ট ইন্টিগ্রেটর অ্যাকাউন্ট শনাক্তকারীকে বুঝতে সাহায্য করার জন্য ব্যবহার করা যেতে পারে৷ এই পরিস্থিতিতে, যেখানে হয় সাইনিং কী মেলে না, পেমেন্ট ইন্টিগ্রেটর শনাক্তকারী পাওয়া যায়নি, বা এনক্রিপশন কী অজানা ছিল, এই পদ্ধতিটি একটি খালি বডি সহ HTTP 404 ফিরিয়ে দেবে। যদি অনুরোধ স্বাক্ষর যাচাই করা যায়, ত্রুটি সংক্রান্ত অতিরিক্ত তথ্য প্রতিক্রিয়া বডিতে ফেরত দেওয়া হবে।ErrorResponse
একটি উদাহরণ অনুরোধ এর মত দেখায়:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1519996751331"
},
"paymentIntegratorAccountId": "IntegratorFakeAccount",
"orderLookupCriteria": {
"googleTransactionReferenceNumberCriteria": {
"googleTransactionReferenceNumber": "714545417102363157911822",
"authorizationCode": "111111"
}
},
"requestOriginator": {
"organizationId": "ISSUER_256",
"organizationDescription": "Community Bank of Some City"
}
}
একটি উদাহরণ প্রতিক্রিয়া মত দেখায়:
{
"responseHeader": {
"responseTimestamp": "1519996752221"
},
"result": "SUCCESS",
"order": {
"timestamp": "1517992525972",
"orderId": "UPG.DEFC.X6F4.MEOM.CDWF",
"currencyCode": "USD",
"subTotalAmount": "399000000",
"totalAmount": "459000000",
"taxes": [],
"items": [
{
"description": "YouTube TV membership",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "399000000"
},
{
"description": "Showtime",
"merchant": "fake org",
"googleProductName": "YouTube TV",
"quantity": "1",
"totalPrice": "6000000"
}
]
}
}
HTTP অনুরোধ
POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/ :PIAID
শরীরের অনুরোধ
অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:
| JSON প্রতিনিধিত্ব |
|---|
{ "requestHeader": { object ( |
| ক্ষেত্র | |
|---|---|
requestHeader | প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম। |
paymentIntegratorAccountId | প্রয়োজনীয় : পেমেন্ট ইন্টিগ্রেটর অ্যাকাউন্ট আইডেন্টিফায়ার যা এই ইন্টারঅ্যাকশনের জন্য কলকারী এবং সংশ্লিষ্ট চুক্তিগত সীমাবদ্ধতা সনাক্ত করে। |
orderLookupCriteria | প্রয়োজনীয় : ক্রম নির্দেশ করে মানদণ্ড যা দেখতে হবে। |
requestOriginator | ঐচ্ছিক : সংস্থা বা সাংগঠনিক সাব-গ্রুপ সম্পর্কে তথ্য যা এই অনুরোধটি উদ্ভূত করেছে (যদি ইন্টিগ্রেটর অন্য সংস্থার পক্ষে আমাদের কল করে)। |
প্রতিক্রিয়া শরীর
getOrderDetails পদ্ধতির জন্য প্রতিক্রিয়া পেলোড।
সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:
| JSON প্রতিনিধিত্ব |
|---|
{ "responseHeader": { object ( |
| ক্ষেত্র | |
|---|---|
responseHeader | প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম। |
result | প্রয়োজনীয় : এই কলের ফলাফল। |
order | ঐচ্ছিক : যে অর্ডারে অর্থপ্রদান করা হয়েছে সেই সংক্রান্ত তথ্য। (যদি এবং শুধুমাত্র |
অনুরোধ শিরোনাম
হেডার অবজেক্ট যা সার্ভারে পাঠানো সমস্ত অনুরোধে সংজ্ঞায়িত করা হয়।
| 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 | প্রয়োজনীয় : ছোট সংস্করণ। এটি ছোটখাট বাগ ফিক্স বোঝায়। |
অর্ডার লুকআপ মানদণ্ড
অর্ডার লুকআপের মানদণ্ড।
| JSON প্রতিনিধিত্ব |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ক্ষেত্রের | |
dcb3CorrelationId | Google-উত্পাদিত DCB কোরিলেশন আইডির উপর ভিত্তি করে সন্ধান করুন যা পেমেন্টটিকে অনন্যভাবে সনাক্ত করে। এই মানটি Google দ্বারা তৈরি করা হয়েছে এবং প্রমাণীকরণ কলের সময় ক্যারিয়ার বিলিং পেমেন্ট ইন্টিগ্রেটরে পাঠানো হয়েছে। |
arnCriteria | Acquirer রেফারেন্স নম্বর (ARN) এর উপর ভিত্তি করে সন্ধান করুন। |
googleTransactionReferenceNumberCriteria | Google লেনদেন রেফারেন্স নম্বরের উপর ভিত্তি করে সন্ধান করুন। |
ArnCriteria
অ্যাকুয়ারার রেফারেন্স নম্বর (ARN) এর উপর ভিত্তি করে অর্থপ্রদানের সন্ধানের মানদণ্ড।
| JSON প্রতিনিধিত্ব |
|---|
{ "acquirerReferenceNumber": string, "authorizationCode": string } |
| ক্ষেত্র | |
|---|---|
acquirerReferenceNumber | প্রয়োজনীয় : অ্যাকুইয়ারার রেফারেন্স নম্বর (ARN) যা পেমেন্টটিকে অনন্যভাবে শনাক্ত করে। 23 সংখ্যার লম্বা হতে হবে। |
authorizationCode | প্রয়োজনীয় : লেনদেনের জন্য অনুমোদন কোড। |
GoogleTransactionReferenceNumberCriteria
Google-উত্পাদিত লেনদেন রেফারেন্স নম্বরের উপর ভিত্তি করে অর্থপ্রদানের সন্ধানের মানদণ্ড।
| JSON প্রতিনিধিত্ব |
|---|
{ "googleTransactionReferenceNumber": string, "authorizationCode": string } |
| ক্ষেত্র | |
|---|---|
googleTransactionReferenceNumber | প্রয়োজনীয় : Google-এর তৈরি ট্রানজ্যাকশন রেফারেন্স নম্বর যা পেমেন্টটিকে অনন্যভাবে শনাক্ত করে। |
authorizationCode | প্রয়োজনীয় : লেনদেনের জন্য অনুমোদন কোড। |
RequestOriginator
সংস্থা বা সাংগঠনিক সাব-গ্রুপ সম্পর্কে তথ্য যা থেকে এই অনুরোধটি এসেছে। এটি Google-কে সমস্যা বা অপব্যবহার শনাক্ত করতে এবং paymentIntegratorAccountId এর চেয়ে সূক্ষ্ম স্তরে নিয়ন্ত্রণ প্রয়োগ করতে দেয়। এটি বিশেষভাবে মূল্যবান যখন কলার একজন মধ্যস্থতাকারী পরিষেবা প্রদানকারী হয় যেটি একাধিক বহিরাগত ক্লায়েন্টদের কাছ থেকে অনুরোধগুলি উৎসর্গ করে।
| JSON প্রতিনিধিত্ব |
|---|
{ "organizationId": string, "organizationDescription": string } |
| ক্ষেত্র | |
|---|---|
organizationId | প্রয়োজনীয় : কোম্পানি, সংস্থা বা সাংগঠনিক গোষ্ঠীর একটি শনাক্তকারী যেখান থেকে এই অনুরোধটি এসেছে৷ এই |
organizationDescription | প্রয়োজনীয় : একটি মানব-পঠনযোগ্য নাম বা সংস্থার বিবরণ যা Google-এর কর্মচারী এবং সেই সংস্থার সংহতকারীর মধ্যে যোগাযোগ সহজ করতে ব্যবহার করা যেতে পারে। |
রেসপন্স হেডার
হেডার অবজেক্ট যা সার্ভার থেকে প্রেরিত সমস্ত প্রতিক্রিয়াতে সংজ্ঞায়িত করা হয়।
| JSON প্রতিনিধিত্ব |
|---|
{ "responseTimestamp": string } |
| ক্ষেত্র | |
|---|---|
responseTimestamp | প্রয়োজনীয় : এই প্রতিক্রিয়ার টাইমস্ট্যাম্প যুগ থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। প্রাপকের অবশ্যই যাচাই করা উচিত যে এই টাইমস্ট্যাম্পটি 'এখন' এর ± 60s। |
অর্ডারের বিবরণ ফলাফল কোড পান
getOrderDetails পদ্ধতি কলের ফলাফল।
| Enums | |
|---|---|
GET_ORDER_DETAILS_RESULT_CODE_UNKNOWN | এই ডিফল্ট মান সেট করবেন না! |
SUCCESS | অর্ডার পাওয়া গেছে এবং ফিরে এসেছে। |
ORDER_CANNOT_BE_RETURNED | অনুরোধ করা আদেশ বিদ্যমান, কিন্তু ফেরত দেওয়া যাবে না. কারণগুলির মধ্যে রয়েছে এমন ক্ষেত্রে যেখানে অর্ডারটি তার মালিকের অনুরোধে সরানো হয়েছিল। |
PAYMENT_TOO_OLD | অনুরোধকৃত অর্থপ্রদান পাওয়া গেছে, কিন্তু অর্থপ্রদানের বয়সের কারণে একটি অর্ডারের বিবরণ দেওয়া হয়নি। |
PAYMENT_NOT_FOUND | অনুরোধকৃত অর্থপ্রদান পাওয়া যায়নি। |
NO_ADDITIONAL_DETAILS | অনুরোধকৃত অর্থপ্রদান পাওয়া গেছে, কিন্তু অর্ডার বিশদ উপলব্ধ নেই। |
অর্ডার
আদেশ সম্পর্কে তথ্য.
| JSON প্রতিনিধিত্ব |
|---|
{ "timestamp": string, "orderId": string, "currencyCode": string, "subTotalAmount": string, "totalAmount": string, "items": [ { object ( |
| ক্ষেত্র | |
|---|---|
timestamp | ঐচ্ছিক : কখন অর্ডার করা হয়েছিল তার টাইমস্ট্যাম্প, যুগ থেকে মিলিসেকেন্ড হিসাবে উপস্থাপন করা হয়েছে। সব অর্ডার ধরনের জন্য উপলব্ধ নয়. |
orderId | ঐচ্ছিক : একটি স্ট্রিং অনন্যভাবে এই অর্ডারটি সনাক্ত করে। সব অর্ডার ধরনের জন্য উপলব্ধ নয়. |
currencyCode | ঐচ্ছিক : এই অর্ডারে সমস্ত পরিমাণের জন্য ISO 4217 3-অক্ষরের মুদ্রা কোড। সব অর্ডার ধরনের জন্য উপলব্ধ নয়. |
subTotalAmount | ঐচ্ছিক : ট্যাক্সের আগে এই অর্ডারের মোট পরিমাণ, |
totalAmount | ঐচ্ছিক : কর সহ এই অর্ডারের মোট পরিমাণ, যা |
items[] | প্রয়োজনীয় : এই অর্ডারের অংশ ছিল এমন আইটেমগুলির তালিকা৷ |
taxes[] | ঐচ্ছিক : করের তালিকা যা এই আদেশের অংশ ছিল। |
আইটেম
অর্ডার একটি আইটেম সম্পর্কে তথ্য.
| JSON প্রতিনিধিত্ব |
|---|
{ "description": string, "merchant": string, "quantity": string, "totalPrice": string, "googleProductName": string } |
| ক্ষেত্র | |
|---|---|
description | ঐচ্ছিক : যে আইটেমটি কেনা হয়েছিল তার বিবরণ। সব অর্ডার ধরনের জন্য উপলব্ধ নয়. |
merchant | প্রয়োজনীয় : বিক্রেতা, শিল্পী, বা আইটেম নির্মাতা। |
quantity | ঐচ্ছিক : এই আইটেমটির অর্ডার দেওয়া পরিমাণ। এই ক্ষেত্রটি বাদ দেওয়া হবে যদি পূর্ণসংখ্যার পরিমাণ পণ্যের জন্য প্রযোজ্য না হয় (উদাহরণস্বরূপ মিটারযুক্ত পণ্যগুলিতে ভগ্নাংশের পরিমাণ থাকতে পারে)। |
totalPrice | ঐচ্ছিক : এই আইটেমটির মোট মূল্য, |
googleProductName | প্রয়োজনীয় : আইটেমের জন্য Google পণ্য পরিষেবার নাম। |
ট্যাক্স
এই আদেশের জন্য প্রযোজ্য একটি করের তথ্য।
| JSON প্রতিনিধিত্ব |
|---|
{ "description": string, "amount": string } |
| ক্ষেত্র | |
|---|---|
description | প্রয়োজনীয় : করের বিবরণ। |
amount | প্রয়োজনীয় : |