Method: associateAccount

ग्राहक के खाते को पेमेंट प्रोसेस करने वाली कंपनी से, जोड़े जा रहे Google के तरीके से जोड़ता है.

खाता जोड़ने की प्रोसेस तब होती है, जब इंटिग्रेटर की ओर से उपयोगकर्ता की पुष्टि की जाती है. असोसिएशन, सर्वर-टू-सर्वर कॉल के ज़रिए होता है. इसमें, पुष्टि करने का फ़्लो (authenticationRequestId), associationId, और googlePaymentToken (GPT) करने के लिए, requestId शामिल होता है. पुष्टि करने के लिए, पेमेंट प्रोसेस करने वाली कंपनी को ग्राहक के खाते से associationId और googlePaymentToken को जोड़ना चाहिए. जीपीटी का इस्तेमाल पैसे चुकाने के लिए किया जाता है. दोबारा पुष्टि करने के दौरान, associationId का इस्तेमाल करके पुष्टि करने के लिए खाते की पहचान की जाती है.

अगर Google ऐसा associationId या googlePaymentToken भेजता है जिसे इंटिग्रेटर ने किसी दूसरे असोसिएशन के दौरान पहले ही देख लिया है, तो इससे गड़बड़ी होती है.

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "cmVxdWVzdDE",
    "requestTimestamp": "1481899949606"
 },
 "googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
 "authenticationRequestId": "bnAxdWTydDX==",
 "associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
 "provideUserInformation": true
}

जवाब का एक उदाहरण ऐसा दिखता है:


  {
  "responseHeader": {
    "responseTimestamp": "1481899949611"
  },
  "paymentIntegratorAssociateAccountId": "xx77df88934hfd",
  "accountId": "1234-5678-91",
  "accountNickname": "***-91",
  "tokenExpirationTime": "0",
  "userInformation": {
    "name": "Example Customer",
    "addressLine": ["123 Main St"],
    "localityName": "Springfield",
    "administrativeAreaName": "CO",
    "postalCodeNumber": "80309",
    "countryCode": "US"
  },
  "result": "SUCCESS"
}

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

POST https://www.integratorhost.example.com/v1/associateAccount

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

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

JSON के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "provideUserInformation": boolean,
  "googlePaymentToken": string,
  "associationId": string,

  // Union field account_verification can be only one of the following:
  "authenticationRequestId": string,
  "otpVerification": {
    object (OtpVerification)
  }
  // End of list of possible types for union field account_verification.
}
फ़ील्ड
requestHeader

object (RequestHeader)

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

provideUserInformation

boolean

ज़रूरी: अगर हम चाहते हैं कि इंटिग्रेटर इस खाते से जुड़ा पता दे, तो वैल्यू सही होगी.

googlePaymentToken

string

ज़रूरी: वह टोकन जिसका इस्तेमाल Google, पेमेंट प्रोसेस करने वाली कंपनी के साथ खरीदारी शुरू करने के लिए करेगा.

यह एक स्ट्रिंग होती है, जिसमें ज़्यादा से ज़्यादा 100 वर्ण होते हैं.

associationId

string

ज़रूरी है: इस असोसिएशन का आइडेंटिफ़ायर. इस आइडेंटिफ़ायर को Google ने बनाया है. इसे दोबारा पुष्टि करने के फ़्लो के दौरान भेजा जाता है, ताकि यह पता लगाया जा सके कि किस खाते की पुष्टि की जानी चाहिए.

यह एक स्ट्रिंग होती है, जिसमें ज़्यादा से ज़्यादा 100 वर्ण होते हैं.

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

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

authenticationRequestId

string

ज़रूरी नहीं: इस कॉल से पहले, पुष्टि करने के अनुरोध का requestId. यह आइडेंटिफ़ायर, Google ने पुष्टि करने की प्रक्रिया के दौरान जनरेट किया था. यह सिर्फ़ तब मौजूद होता है, जब उपयोगकर्ता को Android ऐप्लिकेशन की पुष्टि, वेब की पुष्टि या authenticationResultNotification का इस्तेमाल करने वाले एसिंक्रोनस तरीके से पुष्टि करने के तरीके से गुज़रना होता है.

otpVerification

object (OtpVerification)

ज़रूरी नहीं: sendOtp से जनरेट किए गए ओटीपी की पुष्टि के लिए ज़रूरी डेटा. यह सिर्फ़ तब मौजूद होता है, जब उपयोगकर्ता sendOtp पाथ से गुज़रा हो.

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

असोसिएट खाता तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

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

JSON के काेड में दिखाना
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorAssociateAccountId": string,
  "tokenExpirationTime": string,
  "accountId": string,
  "userMessage": string,
  "userInformation": {
    object (UserInformation)
  },
  "result": enum (AssociateAccountResultCode),

  // Union field account_names can be only one of the following:
  "accountNickname": string,
  "fullAccountNickname": string
  // End of list of possible types for union field account_names.
}
फ़ील्ड
responseHeader

object (ResponseHeader)

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

paymentIntegratorAssociateAccountId

string

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

tokenExpirationTime

string (int64 format)

ज़रूरी नहीं: टोकन की समयसीमा खत्म होने के बाद, epoch के बाद मिलीसेकंड. 0 का इस्तेमाल करके, यह बताएं कि टोकन की समयसीमा खत्म नहीं हुई है.

accountId

string

ज़रूरी: वह खाता आईडी जो उपयोगकर्ता के पास इंटिग्रेटर के पास है. इसका इस्तेमाल Google के जोखिम और खाते के दोबारा इस्तेमाल को समझने के लिए किया जाता है. साथ ही, इसका इस्तेमाल Google के ग्राहक ऑपरेशन एजेंट को समझने के लिए भी किया जाता है, ताकि ग्राहकों को समस्याओं का पता लगाने में मदद मिल सके. यह आइडेंटिफ़ायर ऐसा होना चाहिए जिसे उपयोगकर्ता आसानी से पहचान सके. उदाहरण के लिए, उपयोगकर्ता को यह आईडी पता है, क्योंकि यह उनके स्टेटमेंट में दिखता है या वेबसाइट पर खाते में लॉग इन करने के बाद दिखता है.

खाते की अवधि के दौरान यह वैल्यू नहीं बदली जा सकती.

userMessage
(deprecated)

string

अस्वीकार किया गया: अगर नतीजा SUCCESS नहीं है, तो उपयोगकर्ता को दिखाए जाने वाले नतीजे का ब्यौरा.

userInformation

object (UserInformation)

ज़रूरी: उपयोगकर्ता की वह जानकारी जो इंटिग्रेटर को पता है और जो इस ग्राहक के बारे में Google के साथ शेयर करेगा. इसका इस्तेमाल जोखिम की जानकारी और पते की प्री-पॉप्युलेशन के लिए किया जाता है.

result

enum (AssociateAccountResultCode)

ज़रूरी: इस असोसिएशन का नतीजा.

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

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

accountNickname

string

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

यह वैल्यू, यूज़र इंटरफ़ेस (यूआई) में परचेज़ फ़्लो जैसे यूज़र इंटरफ़ेस (यूआई) में दिखेगी. इससे, उपयोगकर्ता को पेमेंट के तरीकों के बीच अंतर करने में मदद मिलेगी.

fullAccountNickname

string

ज़रूरी नहीं: वह स्ट्रिंग जिससे उपयोगकर्ता को इस खाते के बारे में पता हो, ताकि उसे दिखाया जा सके. accountNickname के उलट, यह खाते का पूरा निकनेम है. उदाहरण के लिए, फ़ोन नंबर के लिए 56565-56501 या ईमेल की पहचान के लिए sally@sample-email.com.

यह वैल्यू, यूज़र इंटरफ़ेस (यूआई) में परचेज़ फ़्लो जैसे यूज़र इंटरफ़ेस (यूआई) में दिखेगी. इससे, उपयोगकर्ता को पेमेंट के तरीकों के बीच अंतर करने में मदद मिलेगी.

UserInformation

किसी उपयोगकर्ता के बारे में जानकारी देने वाले स्ट्रक्चर.

JSON के काेड में दिखाना
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string,
  "phone": string,
  "emailAddress": string
}
फ़ील्ड
name

string

ज़रूरी नहीं: ग्राहक का पूरा नाम.

addressLine[]

string

ज़रूरी नहीं: इसमें पते का ऐसा टेक्स्ट शामिल है जिसे स्ट्रक्चर नहीं किया गया है.

localityName

string

ज़रूरी नहीं: यह शब्द अधूरा है, लेकिन आम तौर पर यह किसी पते के शहर/कस्बे वाले हिस्से के बारे में बताता है. दुनिया के उन क्षेत्रों के लिए, जहां क्षेत्र अच्छी तरह से परिभाषित नहीं हैं या इस संरचना में अच्छी तरह से फ़िट नहीं होते हैं (उदाहरण के लिए, जापान और चीन), localityName को खाली छोड़ दें और addressLine का इस्तेमाल करें.

उदाहरण: यूएस शहर, आईटी कम्यून, यूके पोस्ट टाउन.

administrativeAreaName

string

ज़रूरी नहीं: इस देश का टॉप-लेवल एडमिन सबडिविज़न" उदाहरण: अमेरिका का राज्य, आईटी क्षेत्र, सीएन प्रांत, और जापान का प्रांत."

postalCodeNumber

string

ज़रूरी नहीं: नाम के बावजूद, postalCodeNumber की वैल्यू में अक्सर अक्षर और अंक शामिल किए जाते हैं. उदाहरण: "94043", "SW1W", "SW1W 9TQ".

countryCode

string

ज़रूरी नहीं: ग्राहक के पते का देश कोड, ISO-3166-1 Alpha-2 होना चाहिए.

phone

string

ज़रूरी नहीं: ग्राहक का फ़ोन नंबर.

emailAddress

string

ज़रूरी नहीं: ग्राहक का ईमेल पता.

AssociateAccountResultCode

असोसिएट खाते के लिए नतीजे के कोड.

Enums
UNKNOWN_RESULT कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें!
SUCCESS असोसिएशन कर दिया गया है.
USER_AUTHENTICATION_FAILED खाते की पुष्टि करने वाला बंडल वापस आ गया है, लेकिन उपयोगकर्ता की पुष्टि नहीं हो सकी.
NOT_ELIGIBLE उपयोगकर्ता का खाता इस सेवा के लिए ज़रूरी शर्तें पूरी नहीं करता.
OTP_NOT_MATCHED ओटीपी मेल नहीं खाता. यह इंटिग्रेटर ने भेजा है.
OTP_ALREADY_USED ओटीपी पहले ही इस्तेमाल कर लिया गया है.
OTP_LIMIT_REACHED उपयोगकर्ता ने बहुत ज़्यादा ओटीपी के लिए अनुरोध किया है या पुष्टि करने की कोशिश की है.
OTP_EXPIRED ओटीपी की समयसीमा खत्म हो गई है.