Method: getOrderDetails

एक ऐसा ऑर्डर पाएं जिसमें Google पार्टनर को असली उपयोगकर्ताओं से शुल्क लेने का आधार बताया गया हो.

अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट को कोई गड़बड़ी मिलती है, तो इस एंडपॉइंट से मिलने वाला रिस्पॉन्स ErrorResponse का होगा.

अगर यह तरीका एचटीटीपी 200 नहीं दिखाता है, तो इस क्वेरी के रिस्पॉन्स खाली हो सकते हैं. जवाब का मुख्य हिस्सा उन स्थितियों में खाली होता है जिनमें साफ़ तौर पर जानकारी के साथ ErrorResponse का इस्तेमाल किया जा सकता है. इससे हमलावर को दूसरे इंटिग्रेटर के पेमेंट इंटिग्रेटर खाते के आइडेंटिफ़ायर को समझने में मदद मिलती है. इन स्थितियों में, जब या तो साइनिंग पासकोड मेल नहीं खाता, पेमेंट इंटिग्रेटर आइडेंटिफ़ायर नहीं मिला या एन्क्रिप्शन कुंजी की जानकारी नहीं थी. ऐसे में, यह तरीका खाली पेज के साथ एचटीटीपी 404 दिखाएगा. अगर अनुरोध के हस्ताक्षर की पुष्टि की जा सकती है, तो गड़बड़ी के बारे में ज़्यादा जानकारी जवाब के मुख्य हिस्से में दी जाएगी.

अनुरोध का एक उदाहरण यह दिखता है:


{
  "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"
      }
    ]
  }
}

एचटीटीपी अनुरोध

POST https://vgw.googleapis.com/secure-serving/gsp/v1/getOrderDetails/:PIAID

अनुरोध का मुख्य भाग

अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:

JSON के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "orderLookupCriteria": {
    object (OrderLookupCriteria)
  },
  "requestOriginator": {
    object (RequestOriginator)
  }
}
फ़ील्ड
requestHeader

object (RequestHeader)

ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर.

paymentIntegratorAccountId

string

ज़रूरी: पेमेंट इंटिग्रेटर खाता आइडेंटिफ़ायर, जो इस इंटरैक्शन के लिए कॉलर और उससे जुड़े कानूनी समझौते की शर्तों की पहचान करता है.

orderLookupCriteria

object (OrderLookupCriteria)

ज़रूरी: देखे जाने के ऑर्डर को दिखाने वाला मानदंड.

requestOriginator

object (RequestOriginator)

ज़रूरी नहीं: यह अनुरोध करने वाले संगठन या संगठन के सब-ग्रुप की जानकारी (अगर इंटिग्रेटर हमें किसी दूसरे संगठन की ओर से कॉल कर रहा है).

जवाब का मुख्य भाग

getOrderDetails तरीके के लिए रिस्पॉन्स पेलोड.

अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.

JSON के काेड में दिखाना
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (GetOrderDetailsResultCode),
  "order": {
    object (Order)
  }
}
फ़ील्ड
responseHeader

object (ResponseHeader)

ज़रूरी: सभी जवाबों के लिए सामान्य हेडर.

result

enum (GetOrderDetailsResultCode)

ज़रूरी: इस कॉल का नतीजा.

order

object (Order)

ज़रूरी नहीं: पेमेंट करने वाले ऑर्डर की जानकारी. (result के सफल होने पर ही प्रज़ेंट करें.)

RequestHeader

हेडर ऑब्जेक्ट, जो सर्वर को भेजे गए सभी अनुरोधों में तय होता है.

JSON के काेड में दिखाना
{
  "requestId": string,
  "requestTimestamp": string,
  "userLocale": string,
  "protocolVersion": {
    object (Version)
  }
}
फ़ील्ड
requestId

string

ज़रूरी है: इस अनुरोध के लिए यूनीक आइडेंटिफ़ायर.

यह एक ऐसी स्ट्रिंग है, जिसमें ज़्यादा से ज़्यादा 100 वर्ण हो सकते हैं. साथ ही, इसमें सिर्फ़ "a-z", "A-Z", "0-9", ", "-", और "_" वर्ण शामिल होते हैं.

requestTimestamp

string (int64 format)

ज़रूरी: इस अनुरोध के टाइमस्टैंप को epoch के बाद मिलीसेकंड के तौर पर दिखाया जाता है. पाने वाले व्यक्ति को पुष्टि करनी होगी कि यह टाइमस्टैंप 'अब' का ± 60 सेकंड का है. बार-बार कोशिश करने पर, इस अनुरोध का टाइमस्टैंप इस्तेमाल नहीं किया जा सकता.

userLocale
(deprecated)

string

इस्तेमाल बंद किया गया: दो या तीन अक्षर का ISO 639-2 Alpha 3 भाषा कोड, जिसके बाद हाइफ़न और ISO 3166-1 Alpha-2 देश कोड, जैसे कि 'pt', 'pt-BR', 'fil' या 'fil-PH' हो सकते हैं. जवाब में userMessage फ़ील्ड को ड्राइव करने के लिए इसका इस्तेमाल करें.

protocolVersion

object (Version)

ज़रूरी है: इस अनुरोध का वर्शन.

वर्शन

वर्शन ऑब्जेक्ट जो क्लासिक a.b.c वर्शन स्ट्रक्चर का स्ट्रक्चर्ड फ़ॉर्म है. एक ही नंबर के मेजर वर्शन के साथ काम करने की गारंटी होती है. ध्यान रखें कि मामूली बदलाव और बदलाव, अक्सर और बिना किसी सूचना के बदल सकते हैं. इंटिग्रेटर को एक ही मेजर वर्शन के लिए सभी अनुरोधों के साथ काम करना चाहिए.

JSON के काेड में दिखाना
{
  "major": integer,
  "minor": integer,
  "revision": integer
}
फ़ील्ड
major

integer

ज़रूरी: मेजर वर्शन. इसे अलग-अलग वर्शन के साथ काम करने से जुड़े अनुरोधों के लिए मार्क किया गया है. इसलिए, इस बात की कोई गारंटी नहीं है कि वे साथ काम करेंगे.

minor

integer

ज़रूरी: छोटा वर्शन. इससे पता चलता है कि अहम गड़बड़ियां ठीक कर दी गई हैं.

revision

integer

ज़रूरी: छोटा वर्शन. यह छोटी-मोटी गड़बड़ियों को ठीक करता है.

OrderLookupCriteria

ऑर्डर लुकअप से जुड़ी शर्तें.

JSON के काेड में दिखाना
{

  // Union field criteria can be only one of the following:
  "dcb3CorrelationId": string,
  "arnCriteria": {
    object (ArnCriteria)
  },
  "googleTransactionReferenceNumberCriteria": {
    object (GoogleTransactionReferenceNumberCriteria)
  }
  // End of list of possible types for union field criteria.
}
फ़ील्ड

यूनियन फ़ील्ड criteria.

criteria इनमें से सिर्फ़ एक हो सकता है:

dcb3CorrelationId

string

Google के जनरेट किए गए डीसीबी कोरिलेशन आईडी के आधार पर खोजें, जो पेमेंट की खास पहचान करता है. यह वैल्यू Google ने जनरेट की है और पुष्टि करने वाले कॉल के दौरान, कैरियर बिलिंग के पेमेंट इंटिग्रेटर को भेजी गई.

arnCriteria

object (ArnCriteria)

उपयोगकर्ता के रेफ़रंस नंबर (एआरएन) के आधार पर खोजें.

googleTransactionReferenceNumberCriteria

object (GoogleTransactionReferenceNumberCriteria)

Google ट्रांज़ैक्शन रेफ़रंस नंबर के आधार पर खोजें.

ArnCriteria

उपयोगकर्ता हासिल करने वाले रेफ़रंस नंबर (एआरएन) के आधार पर पेमेंट लुकअप की शर्तें.

JSON के काेड में दिखाना
{
  "acquirerReferenceNumber": string,
  "authorizationCode": string
}
फ़ील्ड
acquirerReferenceNumber

string

ज़रूरी: ग्राहक का रेफ़रंस नंबर (एआरएन), जिससे पेमेंट की खास पहचान होती है. इसमें 23 अंक होने चाहिए.

authorizationCode

string

ज़रूरी है: लेन-देन के लिए अनुमति कोड.

GoogleTransactionReferenceNumberCriteria

Google के जनरेट किए गए ट्रांज़ैक्शन रेफ़रंस नंबर के आधार पर पेमेंट खोजने की शर्त.

JSON के काेड में दिखाना
{
  "googleTransactionReferenceNumber": string,
  "authorizationCode": string
}
फ़ील्ड
googleTransactionReferenceNumber

string

ज़रूरी: Google का जनरेट किया गया लेन-देन रेफ़रंस नंबर, जो पेमेंट की खास पहचान करता है.

authorizationCode

string

ज़रूरी है: लेन-देन के लिए अनुमति कोड.

RequestOriginator

उस संगठन या संगठन के सब-ग्रुप की जानकारी जिससे यह अनुरोध किया गया है. इससे Google को paymentIntegratorAccountId के मुकाबले समस्याओं या गलत इस्तेमाल की पहचान करने और कंट्रोल को ज़्यादा बारीकी से लागू करने में मदद मिलती है. यह खास तौर पर तब अहम होता है, जब कॉलर एक मध्यस्थ सेवा देने वाला हो जो कई बाहरी क्लाइंट से अनुरोधों का अनुरोध करता है.

JSON के काेड में दिखाना
{
  "organizationId": string,
  "organizationDescription": string
}
फ़ील्ड
organizationId

string

ज़रूरी: उस कंपनी, संगठन या संगठन के ग्रुप का आइडेंटिफ़ायर जिससे यह अनुरोध किया गया है. इस paymentIntegratorAccountId में यूनीक होना चाहिए.

organizationDescription

string

ज़रूरी: Google के कर्मचारियों और उस संगठन के इंटिग्रेटर के बीच बातचीत को आसान बनाने के लिए, इस्तेमाल किए जा सकने वाले संगठन का ऐसा नाम या नाम जिसे कोई भी व्यक्ति आसानी से पढ़ सके.

ResponseHeader

हेडर ऑब्जेक्ट, जो सर्वर से भेजे गए सभी रिस्पॉन्स में तय होता है.

JSON के काेड में दिखाना
{
  "responseTimestamp": string
}
फ़ील्ड
responseTimestamp

string (int64 format)

ज़रूरी: इस जवाब के टाइमस्टैंप को epoch के बाद मिलीसेकंड के तौर पर दिखाया जाता है. पाने वाले व्यक्ति को पुष्टि करनी होगी कि यह टाइमस्टैंप 'अब' का ± 60 सेकंड का है.

GetOrderDetailsResultCode

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 (Item)
    }
  ],
  "taxes": [
    {
      object (Tax)
    }
  ]
}
फ़ील्ड
timestamp

string (int64 format)

ज़रूरी नहीं: ऑर्डर किए जाने के समय का टाइमस्टैंप, जिसे Epoch के बाद से मिलीसेकंड के तौर पर दिखाया जाता है. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

orderId

string

ज़रूरी नहीं: खास तौर पर इस ऑर्डर की पहचान करने वाली स्ट्रिंग. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

currencyCode

string

ज़रूरी नहीं: इस ऑर्डर की सभी रकम के लिए, ISO 4217 वाला तीन अक्षर वाला मुद्रा कोड. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

subTotalAmount

string (Int64Value format)

ज़रूरी नहीं: टैक्स के बिना इस ऑर्डर की कुल रकम, जिसे order.currencyCode में बताई गई मुद्रा के माइक्रो के तौर पर दिखाया जाता है. यह SUM(items.totalPrice) के बराबर है. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

totalAmount

string (Int64Value format)

ज़रूरी नहीं: टैक्स के साथ इस ऑर्डर की कुल रकम, जिसे order.currencyCode में बताई गई मुद्रा में माइक्रो के तौर पर दिखाया गया है. यह subTotalAmount + SUM(taxes.amount) के बराबर है. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

items[]

object (Item)

ज़रूरी: उन आइटम की सूची जो इस ऑर्डर में शामिल थे.

taxes[]

object (Tax)

ज़रूरी नहीं: उन टैक्स की सूची जो इस ऑर्डर में शामिल थे.

आइटम

ऑर्डर में मौजूद किसी आइटम के बारे में जानकारी.

JSON के काेड में दिखाना
{
  "description": string,
  "merchant": string,
  "quantity": string,
  "totalPrice": string,
  "googleProductName": string
}
फ़ील्ड
description

string

ज़रूरी नहीं: खरीदे गए आइटम का ब्यौरा. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

merchant

string

ज़रूरी: आइटम बेचने वाला, कलाकार या निर्माता.

quantity

string (Int64Value format)

ज़रूरी नहीं: इस सामान के लिए ऑर्डर की गई संख्या.

अगर प्रॉडक्ट पर पूर्णांक संख्या लागू नहीं होती हैं, तो इस फ़ील्ड को शामिल नहीं किया जाएगा. उदाहरण के लिए, सीमित डेटा वाले प्रॉडक्ट की संख्या में कुछ हिस्सा हो सकता है.

totalPrice

string (Int64Value format)

ज़रूरी नहीं: इस आइटम की कुल कीमत, जिसे order.currencyCode में बताई गई मुद्रा के माइक्रो के तौर पर दिखाया गया है. अगर quantity में जानकारी अपने-आप भर जाती है, तो यह पूरी संख्या की कुल कीमत दिखाता है. यह सुविधा सभी तरह के ऑर्डर के लिए उपलब्ध नहीं है.

googleProductName

string

ज़रूरी: आइटम के लिए Google प्रॉडक्ट सेवा का नाम.

टैक्स

इस ऑर्डर पर लागू होने वाले टैक्स के बारे में जानकारी.

JSON के काेड में दिखाना
{
  "description": string,
  "amount": string
}
फ़ील्ड
description

string

ज़रूरी है: टैक्स की जानकारी.

amount

string (Int64Value format)

ज़रूरी: टैक्स की रकम, जिसे order.currencyCode में बताई गई मुद्रा के माइक्रो के तौर पर दिखाया जाता है.