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

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

PaymentData

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

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

उदाहरण

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

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.
cardNetwork स्ट्रिंग हां

चुने गए पेमेंट का पेमेंट कार्ड नेटवर्क. जवाब में मिली वैल्यू, CardParameters.

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

billingAddress पता नहीं अगर CardParameters.
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.
token स्ट्रिंग नहीं

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

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

उदाहरण

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

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

पता

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

पते, 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.
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"
}

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

PaymentAuthorizationResult

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

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

उदाहरण

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

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