Method: associateAccount

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

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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

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

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

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

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

authenticationRequestId

string

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

otpVerification

object (OtpVerification)

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

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

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

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

जेएसओएन के काेड में दिखाना
{
  "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)

REQUIRED: इस असोसिएशन का नतीजा.

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

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

accountNickname

string

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

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

fullAccountNickname

string

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

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

UserInformation

सिस्टम में उपयोगकर्ता की जानकारी होती है.

जेएसओएन के काेड में दिखाना
{
  "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 ओटीपी की समयसीमा खत्म हो गई है.