रिस्पॉन्स ऑब्जेक्ट

इस रेफ़रंस में, Google Pay API के रिस्पॉन्स ऑब्जेक्ट के उन विकल्पों के बारे में बताया गया है जिनका इस्तेमाल आपकी वेबसाइट पर किया जा सकता है. जवाब वाले ऑब्जेक्ट, ऐसे ऑब्जेक्ट होते हैं जिन्हें Google Pay API के क्लाइंट के तरीकों से वापस भेजा जाता है.

IsReadyToPayResponse

यह ऑब्जेक्ट, वेबसाइट पर आने वाले व्यक्ति की उस क्षमता के बारे में जानकारी देता है जिसके तहत वह उस साइट को पेमेंट की जानकारी दे सकता है जिसने इसके लिए अनुरोध किया है.

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

अगर true है, तो इसका मतलब है कि वेबसाइट पर आने वाले व्यक्ति के पास पेमेंट के एक या उससे ज़्यादा तरीके हैं. ये तरीके, उपलब्ध कराए गए IsReadyToPayRequest की allowedPaymentMethods प्रॉपर्टी में बताए गए हैं.

यह सिर्फ़ तब मौजूद होता है, जब existingPaymentMethodRequired को IsReadyToPayRequest में true पर सेट किया गया हो.

अगर PaymentsClient को environment प्रॉपर्टी के साथ शुरू किया जाता है, तो TEST पेमेंट का तरीका हमेशा मौजूद माना जाता है.

उदाहरण

यहां दिए गए उदाहरण में बताया गया है कि मौजूदा विज़िटर, पेमेंट की जानकारी कब दे सकता है.

{
  "result": true
}

PaymentData

यह एक रिस्पॉन्स ऑब्जेक्ट है. पेमेंट करने वाले व्यक्ति के पेमेंट स्वीकार करने के बाद, Google इसे दिखाता है.

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
apiVersion संख्या हां एपीआई का मेजर वर्शन. जवाब में दी गई वैल्यू, PaymentDataRequest में दी गई वैल्यू से मेल खाती है.
apiVersionMinor संख्या हां एपीआई का माइनर वर्शन. जवाब में दी गई वैल्यू, PaymentDataRequest में दी गई वैल्यू से मेल खाती है.
paymentMethodData PaymentMethodData हां चुने गए पेमेंट के तरीके के बारे में डेटा.
email स्ट्रिंग नहीं ईमेल पता, अगर emailRequired को true पर सेट किया गया है PaymentDataRequest में. अगर किसी दूसरे अनुरोध में प्रॉपर्टी को true पर सेट किया गया है, तो इससे कोई फ़र्क़ नहीं पड़ता.
shippingAddress पता नहीं शिपिंग पता, अगर shippingAddressRequired को PaymentDataRequest में true पर सेट किया गया है.

उदाहरण

Google Pay API वर्शन 2.0 के लिए, जवाब के इस उदाहरण में Google Pay की पेमेंट शीट में चुना गया CARD पेमेंट का तरीका दिखाया गया है. example गेटवे के लिए, पेमेंट के तरीके का टोकन जनरेट किया गया था.

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

IntermediatePaymentData

इस ऑब्जेक्ट को Google Pay API onPaymentDataChanged() इनपुट तब दिखाता है, जब पेमेंट शीट में शिपिंग का पता या शिपिंग के विकल्प बदले जाते हैं.

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
callbackTrigger स्ट्रिंग वैकल्पिक

इस कुकी से यह पता चलता है कि पेमेंट के डेटा के लिए कॉलबैक को किस वजह से शुरू किया गया था.

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • OFFER
offerData OfferData वैकल्पिक उपयोगकर्ता ने जो प्रोमो कोड दिया है.
shippingAddress IntermediateAddress वैकल्पिक पेमेंट शीट में चुना गया पता.
shippingOptionData SelectionOptionData वैकल्पिक पेमेंट शीट में शिपिंग के लिए चुना गया विकल्प.

उदाहरण

इस उदाहरण में, Google Pay API से मिला इंटरमीडिएट पेलोड दिखाया गया है.

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

PaymentMethodData

यह ऑब्जेक्ट, पेमेंट के चुने गए तरीके के लिए डेटा उपलब्ध कराता है.

प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
type स्ट्रिंग हां PaymentMethod type को Google Pay की पेमेंट शीट में चुना गया है.
description स्ट्रिंग हां

उपयोगकर्ता को दिखने वाला मैसेज, जिसमें इस लेन-देन के लिए इस्तेमाल किए गए पेमेंट के तरीके के बारे में बताया गया हो.

info ऑब्जेक्ट हां इस प्रॉपर्टी की वैल्यू, type के तौर पर मिले पेमेंट के तरीके पर निर्भर करती है. CARD के लिए, CardInfo देखें.
tokenizationData PaymentMethodTokenizationData नहीं चुने गए पेमेंट के तरीके के लिए, पेमेंट टोकनाइज़ेशन का डेटा.

उदाहरण

इस उदाहरण में दिखाया गया है कि Google Pay की पेमेंट शीट में चुना गया CARD पेमेंट का तरीका, example गेटवे के लिए पेमेंट के तरीके का टोकन कैसे जनरेट करता है.

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

इस ऑब्जेक्ट से, चुने गए पेमेंट कार्ड के बारे में जानकारी मिलती है.

प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
cardDetails स्ट्रिंग हां कार्ड के बारे में जानकारी. यह वैल्यू आम तौर पर, चुने गए पेमेंट खाते के नंबर के आखिरी चार अंक होती है.
assuranceDetails AssuranceDetailsSpecifications हां यह ऑब्जेक्ट, पेमेंट के लिए मिले डेटा की पुष्टि करने के बारे में जानकारी देता है. ऐसा तब होता है, जब CardParameters में assuranceDetailsRequired को true पर सेट किया गया हो.
cardNetwork स्ट्रिंग हां

चुने गए पेमेंट का पेमेंट कार्ड नेटवर्क. जवाब में मिली वैल्यू, CardParameters में मौजूद allowedCardNetworks के फ़ॉर्मैट से मेल खाती हैं.

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

billingAddress पता नहीं अगर billingAddressRequired को CardParameters में true पर सेट किया गया है, तो पेमेंट के तरीके से जुड़ा बिलिंग पता.
cardFundingSource स्ट्रिंग हां

चुने गए पेमेंट के तरीके के लिए, कार्ड का फ़ंडिंग सोर्स.

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

उदाहरण

इस उदाहरण में, Visa नेटवर्क पर मौजूद कार्ड दिखाया गया है.

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

इस ऑब्जेक्ट से, पेमेंट के लिए इस्तेमाल किए गए क्रेडेंशियल की पुष्टि करने के बारे में जानकारी मिलती है. इससे, पेमेंट के लिए इस्तेमाल किए गए इंस्ट्रूमेंट के जोखिम की जांच की जा सकती है.

नाम टाइप ब्यौरा
accountVerified बूलियन अगर true, तो इसका मतलब है कि लौटाए गए पेमेंट क्रेडेंशियल पर Cardholder के मालिकाना हक की पुष्टि की गई है.
cardHolderAuthenticated बूलियन

अगर true, तो इसका मतलब है कि पेमेंट के लिए इस्तेमाल किए गए क्रेडेंशियल की पहचान की गई है और उसकी पुष्टि की गई है.

अगर false, तो जोखिम के आधार पर पुष्टि करने की उसी सुविधा का इस्तेमाल किया जा सकता है जिसका इस्तेमाल कार्ड ट्रांज़ैक्शन के लिए किया जाता है. जोखिम के आधार पर पुष्टि करने की इस प्रोसेस में, 3D Secure प्रोटोकॉल का इस्तेमाल करके पुष्टि करने के लिए कहा जा सकता है. हालांकि, इसमें और भी तरीके शामिल हो सकते हैं.

assuranceDetails फ़ील्ड का इस्तेमाल न करने पर भी, रिस्पॉन्स ऑब्जेक्ट को पाया और प्रोसेस किया जा सकता है. इस ऑब्जेक्ट को पाने के लिए, अनुरोध ऑब्जेक्ट के assuranceDetailsRequired: true में assuranceDetailsRequired: true शामिल करें. CardParameters.

PaymentMethodTokenizationData

यह ऑब्जेक्ट, पेमेंट के तरीके के लिए टोकनाइज़ेशन डेटा उपलब्ध कराता है.

प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
type स्ट्रिंग हां चुने गए पेमेंट के तरीके पर लागू होने वाले टोकनाइज़ेशन का टाइप. यह वैल्यू, PaymentMethodTokenizationSpecification में सेट किए गए type से मेल खाती है.
token स्ट्रिंग नहीं

जनरेट किया गया पेमेंट के तरीके का टोकन.

  • PAYMENT_GATEWAY: JSON ऑब्जेक्ट स्ट्रिंग, जिसमें आपके पेमेंट गेटवे से जारी किया गया ऐसा टोकन होता है जिसके लिए शुल्क लिया जाता है.
  • DIRECT: डिक्रिप्ट करने के लिए protocolVersion, signature, और signedMessage. ज़्यादा जानकारी के लिए, पेमेंट के तरीके के टोकन का स्ट्रक्चर देखें.

उदाहरण

यह example गेटवे के लिए तैयार किए गए टोकनाइज़ किए गए जवाब का उदाहरण है.

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

यह ऑब्जेक्ट, पेमेंट की अनुमति के नतीजे के बारे में जानकारी देता है.

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
transactionState स्ट्रिंग ज़रूरी है लेन-देन की स्थिति को, कारोबारी या कंपनी के नतीजों में से किसी एक के ज़रिए हल किया जाता है:
  • SUCCESS
  • ERROR
error PaymentDataError वैकल्पिक पेमेंट शीट में उपयोगकर्ता को दिखने वाली गड़बड़ी. ऐसा तब होता है, जब पेमेंट को फिर से आज़माना ज़रूरी होता है.

उदाहरण

यहां दिए गए उदाहरण में, पेमेंट प्रोसेस होने के बाद पेमेंट का नतीजा दिखाया गया है:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
reason स्ट्रिंग ज़रूरी है

गड़बड़ी की वजहों की पहले से तय की गई सूची:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message स्ट्रिंग ज़रूरी है उपयोगकर्ता को गड़बड़ी का मैसेज, जो डायलॉग में दिखता है.
intent स्ट्रिंग ज़रूरी है

गड़बड़ी का मकसद. यह ऐसा होना चाहिए जिसे फ़्लो की शुरुआत से ही PaymentDataRequest में रजिस्टर किया गया हो.

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

उदाहरण

इस उदाहरण में, पेमेंट शीट में रेंडर किए जाने वाले गड़बड़ी के इंटेंट और मैसेज को दिखाया गया है.

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

पता

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

पते, MIN,FULL, और FULL-ISO3166 फ़ॉर्मैट में दिखाए जा सकते हैं. हर फ़ॉर्मैट से जुड़ी प्रॉपर्टी को इस टेबल में देखा जा सकता है.

प्रॉपर्टी पते का फ़ॉर्मैट ब्यौरा
name MIN, FULL, FULL-ISO3166 पता पाने वाले व्यक्ति का पूरा नाम.
postalCode MIN, FULL, FULL-ISO3166 पिन कोड.
countryCode MIN, FULL, FULL-ISO3166 आईएसओ 3166-1 ऐल्फ़ा-2 देश का कोड.
phoneNumber MIN, FULL, FULL-ISO3166 टेलीफ़ोन नंबर, अगर phoneNumberRequired को PaymentDataRequest में true पर सेट किया गया है.
address1 FULL, FULL-ISO3166 पते की पहली लाइन.
address2 FULL, FULL-ISO3166 पते की दूसरी लाइन.
address3 FULL, FULL-ISO3166 पते की तीसरी लाइन.
locality FULL, FULL-ISO3166 शहर, कस्बा, आस-पड़ोस या उपनगर.
administrativeArea FULL, FULL-ISO3166 देश का उपखंड, जैसे कि राज्य या प्रांत.
sortingCode FULL, FULL-ISO3166 सॉर्टिंग कोड.
iso3166AdministrativeArea FULL-ISO3166 administrativeArea से जुड़ा ISO 3166-2 एडमिनिस्ट्रेटिव एरिया कोड.

उदाहरण

यह अमेरिका में FULL-ISO3166 फ़ॉर्मैट वाले पते का उदाहरण है. इसमें सड़क के पते की जानकारी की कई लाइनें हैं.

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediateAddress

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
administrativeArea स्ट्रिंग ज़रूरी है देश का उपखंड, जैसे कि राज्य या प्रांत.
countryCode स्ट्रिंग ज़रूरी है आईएसओ 3166-1 ऐल्फ़ा-2 देश का कोड.
locality स्ट्रिंग ज़रूरी है शहर, कस्बा, आस-पड़ोस या उपनगर.
postalCode स्ट्रिंग ज़रूरी है देश के हिसाब से, छिपाया गया पिन कोड. कनाडा और यूनाइटेड किंगडम के लिए, इसमें सिर्फ़ पहले तीन वर्ण शामिल होते हैं. अमेरिका के लिए, इसमें शुरुआती पांच अंक शामिल होते हैं.
iso3166AdministrativeArea स्ट्रिंग वैकल्पिक administrativeArea से जुड़ा ISO 3166-2 एडमिनिस्ट्रेटिव एरिया कोड. यह जानकारी सिर्फ़ तब दिखती है, जब शिपिंग पते का फ़ॉर्मैट FULL-ISO3166 हो.

उदाहरण

इस उदाहरण में, पेमेंट शीट में चुना गया पता दिखाया गया है.

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
id स्ट्रिंग ज़रूरी है SelectionOption.id से मेल खाता है

उदाहरण

इस उदाहरण में, पेमेंट शीट में चुना गया शिपिंग का विकल्प दिखाया गया है.

{
  "id": "shipping-001"
}

OfferData

यह ऑब्जेक्ट, पेमेंट शीट में डाले गए ऑफ़र कोड के बारे में जानकारी देता है.

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
redemptionCodes array हमेशा मौजूद रहता है पेमेंट शीट में डाले गए प्रोमो कोड का सेट. इसमें वे कोड शामिल हैं जिन्हें पहले ही मंज़ूरी मिल चुकी है.

उदाहरण

इस उदाहरण में, redemptionCodes कलेक्शन के साथ OfferData ऑब्जेक्ट दिखाया गया है.

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}