- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- UserInformation
- AssociateAccountResultCode
यह विकल्प, ग्राहक के खाते को पेमेंट प्रोसेस करने वाली कंपनी के साथ जोड़ता है. यह पेमेंट प्रोसेस करने वाले उस 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 |
ज़रूरी है: अगर हम चाहते हैं कि इंटिग्रेटर इस खाते से जुड़ा पता दे, तो सही है. |
googlePaymentToken |
ज़रूरी: वह टोकन जिसका इस्तेमाल Google, पेमेंट प्रोसेस करने वाली कंपनी से खरीदारी शुरू करने के लिए करेगा. यह स्ट्रिंग 100 वर्णों से ज़्यादा की नहीं होती. |
associationId |
REQUIRED: इस असोसिएशन का आइडेंटिफ़ायर. यह आइडेंटिफ़ायर Google बनाता है. इसे फिर से पुष्टि करने के दौरान भेजा जाता है, ताकि यह पहचान की जा सके कि किस खाते की पुष्टि की जानी चाहिए. यह स्ट्रिंग 100 वर्णों से ज़्यादा की नहीं होती. |
यूनियन फ़ील्ड
|
|
authenticationRequestId |
ज़रूरी नहीं: इस कॉल से पहले पुष्टि करने के लिए किया गया |
otpVerification |
ज़रूरी नहीं: |
जवाब का मुख्य भाग
असोसिएट खाता तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
जेएसओएन के काेड में दिखाना |
---|
{ "responseHeader": { object ( |
फ़ील्ड | |
---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
paymentIntegratorAssociateAccountId |
ज़रूरी है: यह आइडेंटिफ़ायर खास तौर पर इंटिग्रेटर के लिए होता है और इसे इंटिग्रेटर ने जनरेट किया है. इसका इस्तेमाल, सिर्फ़ डीबग करने के लिए किया जाता है, ताकि इस कॉल की पहचान की जा सके. यह वह आइडेंटिफ़ायर है जिससे इंटिग्रेटर इस कॉल को जानता है. |
tokenExpirationTime |
ज़रूरी नहीं: टोकन की समयसीमा खत्म होने के बाद, epoch के बाद के मिलीसेकंड. |
accountId |
ज़रूरी: वह खाता आईडी जो उपयोगकर्ता के पास इंटिग्रेटर के साथ है. इसका इस्तेमाल, Google के जोखिम के लिए खाते के दोबारा इस्तेमाल और खाते के संबंधों को समझने के लिए किया जाता है. साथ ही, Google के ग्राहक ऑपरेशन एजेंट के लिए भी इसका इस्तेमाल किया जाता है, ताकि ग्राहकों को समस्याओं का पता लगाने में मदद मिल सके. यह आइडेंटिफ़ायर ऐसा होना चाहिए जिसे उपयोगकर्ता आसानी से पहचान सके. उदाहरण के लिए, उपयोगकर्ता को यह आईडी इसलिए पता होना चाहिए, क्योंकि यह उसके स्टेटमेंट में दिखता है या खाते में लॉग इन करने के बाद वेबसाइट पर दिखता है. यह वैल्यू, खाते में हमेशा के लिए नहीं बदली जा सकती. |
userMessage |
रोक लगाई गई: यह जानकारी |
userInformation |
ज़रूरी: उपयोगकर्ता की वह जानकारी जो इंटिग्रेटर को पता है और जो इस ग्राहक के बारे में, Google के साथ शेयर करेगी. इस डेटा का इस्तेमाल, जोखिम की जानकारी देने और अपने-आप जानकारी भरने के लिए किया जाता है. |
result |
REQUIRED: इस असोसिएशन का नतीजा. |
यूनियन फ़ील्ड
|
|
accountNickname |
ज़रूरी नहीं: वह स्ट्रिंग जिसके ज़रिए उपयोगकर्ता को इस खाते को दिखाने के लिए पता होता है. यह खाते के निकनेम का सफ़िक्स है. उदाहरण के लिए किसी फ़ोन नंबर के आखिरी चार अंक. Google, यूज़र इंटरफ़ेस में यह दिखाएगा कि यह सिर्फ़ निकनेम का सफ़िक्स है. यह वैल्यू, परचेज़ फ़्लो जैसे यूज़र इंटरफ़ेस (यूआई) में दिखेगी. इससे उपयोगकर्ता, पेमेंट के अलग-अलग तरीकों के बीच फ़र्क़ कर पाएंगे. |
fullAccountNickname |
ज़रूरी नहीं: वह स्ट्रिंग जिसके ज़रिए उपयोगकर्ता को इस खाते को दिखाने के लिए पता होता है. यह वैल्यू, परचेज़ फ़्लो जैसे यूज़र इंटरफ़ेस (यूआई) में दिखेगी. इससे उपयोगकर्ता, पेमेंट के अलग-अलग तरीकों के बीच फ़र्क़ कर पाएंगे. |
UserInformation
सिस्टम में उपयोगकर्ता की जानकारी होती है.
जेएसओएन के काेड में दिखाना |
---|
{ "name": string, "addressLine": [ string ], "localityName": string, "administrativeAreaName": string, "postalCodeNumber": string, "countryCode": string, "phone": string, "emailAddress": string } |
फ़ील्ड | |
---|---|
name |
ज़रूरी नहीं: ग्राहक का पूरा नाम. |
addressLine[] |
ज़रूरी नहीं: इसमें पते का ऐसा टेक्स्ट होता है जिसे स्ट्रक्चर नहीं किया गया होता. |
localityName |
ज़रूरी नहीं: यह अस्पष्ट शब्द है, लेकिन आम तौर पर इसका मतलब किसी पते के शहर/कस्बे वाले हिस्से से होता है. दुनिया के उन इलाकों में जहां इलाके तय नहीं हैं या इस स्ट्रक्चर में सही से फ़िट नहीं होते (उदाहरण के लिए, जापान और चीन), localityName खाली छोड़ें और addressLine का इस्तेमाल करें. उदाहरण: अमेरिका का शहर, आईटी कम्यून, यूके पोस्ट टाउन. |
administrativeAreaName |
ज़रूरी नहीं: इस देश का टॉप लेवल प्रशासनिक उपविभाग" उदाहरण: अमेरिका का राज्य, आईटी क्षेत्र, सीएन प्रांत, जेपी प्रांत." |
postalCodeNumber |
ज़रूरी नहीं: नाम होने के बावजूद, postalCodeNumber की वैल्यू अक्सर अक्षर और अंक होती हैं. जैसे: "94043", "SW1W", "SW1W 9TQ". |
countryCode |
ज़रूरी नहीं: ग्राहक के पते का देश कोड, ISO-3166-1 Alpha-2 होना चाहिए. |
phone |
ज़रूरी नहीं: ग्राहक का फ़ोन नंबर. |
emailAddress |
ज़रूरी नहीं: ग्राहक का ईमेल पता. |
AssociateAccountResultCode
जोड़े गए खाते के लिए नतीजों के कोड.
Enums | |
---|---|
UNKNOWN_RESULT |
कभी भी यह डिफ़ॉल्ट वैल्यू सेट न करें! |
SUCCESS |
असोसिएशन हो गया. |
USER_AUTHENTICATION_FAILED |
खाते की पुष्टि करने वाला बंडल लौटाया गया, लेकिन उपयोगकर्ता की पुष्टि नहीं हो सकी. |
NOT_ELIGIBLE |
उपयोगकर्ता का खाता इस सेवा के लिए योग्य नहीं है. |
OTP_NOT_MATCHED |
ओटीपी, इंटिग्रेटर के भेजे गए ओटीपी से मेल नहीं खाता. |
OTP_ALREADY_USED |
ओटीपी का इस्तेमाल पहले ही किया जा चुका है. |
OTP_LIMIT_REACHED |
उपयोगकर्ता ने कई बार ओटीपी का अनुरोध किया है या उनकी पुष्टि करने की कोशिश की है. |
OTP_EXPIRED |
ओटीपी की समयसीमा खत्म हो गई है. |