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

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

IsReadyToPayResponse

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

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

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

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

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

उदाहरण

यहां दिए गए उदाहरण से पता चलता है कि साइट पर आने वाला मौजूदा विज़िटर, अनुरोध करने वाली साइट को पेमेंट की जानकारी कब दे सकता है.

{
  "result": true
}

PaymentData

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

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
apiVersion संख्या हां एपीआई का मेजर वर्शन. रिस्पॉन्स में दी गई वैल्यू, PaymentDataRequest में दी गई वैल्यू से मैच करती है.
apiVersionMinor संख्या हां एपीआई का माइनर वर्शन. रिस्पॉन्स में दी गई वैल्यू, PaymentDataRequest में दी गई वैल्यू से मैच करती है.
paymentMethodData PaymentMethodData हां पेमेंट के चुने गए तरीके का डेटा.
email स्ट्रिंग नहीं ईमेल पता, अगर emailRequired को true पर सेट किया गया है PaymentDataRequest में. अगर किसी दूसरे अनुरोध में प्रॉपर्टी को true पर सेट किया गया है, तो इसका कोई असर नहीं होगा.
shippingAddress पता नहीं अगर PaymentDataRequest में shippingAddressRequired को 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
  • PAYMENT_METHOD
  • OFFER
offerData OfferData वैकल्पिक उपयोगकर्ता ने प्रोमो कोड दिया है.
shippingAddress IntermediateAddress वैकल्पिक पेमेंट शीट में चुना गया पता.
shippingOptionData SelectionOptionData वैकल्पिक पेमेंट शीट में चुना गया शिपिंग का विकल्प.
paymentMethodData IntermediatePaymentMethodData वैकल्पिक पेमेंट शीट में चुना गया पेमेंट के तरीके का डेटा.

उदाहरण

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

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

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

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

PaymentMethodData

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

प्रॉपर्टी टाइप हमेशा मौजूद रहता है ब्यौरा
type स्ट्रिंग हां PaymentMethod Google Pay की पेमेंट शीट में type को चुना गया है.
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 पता नहीं पेमेंट के तरीके से जुड़ा बिलिंग पता, अगर CardParameters में billingAddressRequired को 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 फ़ील्ड का इस्तेमाल न करने पर भी, रिस्पॉन्स ऑब्जेक्ट को पाया और प्रोसेस किया जा सकता है. इस ऑब्जेक्ट को पाने के लिए, Request ऑब्जेक्ट के CardParameters में assuranceDetailsRequired: true को शामिल करें.

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 ISO 3166-1 alpha-2 देश का कोड.
phoneNumber MIN, FULL, FULL-ISO3166 टेलीफ़ोन नंबर, अगर phoneNumberRequired को true पर सेट किया गया है. यह PaymentDataRequest में मौजूद होता है.
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 स्ट्रिंग ज़रूरी है ISO 3166-1 alpha-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 श्रेणी हमेशा मौजूद रहता है पेमेंट शीट में डाले गए प्रोमो कोड का सेट. इसमें वे कोड शामिल होते हैं जिन्हें पहले ही मंज़ूरी मिल चुकी है.

उदाहरण

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

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

IntermediatePaymentMethodData

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

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

IntermediateCardInfo

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

प्रॉपर्टी टाइप ज़रूरत ब्यौरा
billingAddress IntermediateAddress वैकल्पिक कार्ड से जुड़ा बिलिंग पता. यह जानकारी सिर्फ़ तब भरी जाती है, जब बिलिंग पता डालना ज़रूरी हो.
cardNetwork स्ट्रिंग वैकल्पिक

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

कार्ड नेटवर्क की यह वैल्यू, खरीदार को नहीं दिखनी चाहिए.

cardFundingSource स्ट्रिंग वैकल्पिक

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

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID