- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
Google के पास मौजूद ग्राहक के खाते और पेमेंट प्रोसेस करने वाली कंपनी के बीच पैसे ट्रांसफ़र करता है. हेडर और paymentIntegratorAccountId
में requestId
का कॉम्बिनेशन, अनजाने में लगने वाली कुंजी है. साथ ही, यह इस ट्रांज़ैक्शन की खास तौर पर पहचान करता है. इस लेन-देन (रिफ़ंड) में किए गए सभी बदलावों से, captureRequestId
फ़ील्ड में requestId
की वैल्यू अपने-आप भर जाती है.
अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट को कोई गड़बड़ी मिलती है, तो इस एंडपॉइंट से मिलने वाले रिस्पॉन्स का मुख्य हिस्सा
का होना चाहिए.ErrorResponse
अनुरोध का एक उदाहरण यह दिखता है:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 0,
"revision": 0
},
"requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
"requestTimestamp": "1502220196077"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ",
"transactionDescription": "Google - Music",
"currencyCode": "INR",
"amount": "728000000",
"captureContext": {}
}
जवाब का एक उदाहरण ऐसा दिखता है:
{
"responseHeader": {
"responseTimestamp": "1481900013178"
},
"result": "SUCCESS",
"paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}
एचटीटीपी अनुरोध
POST https://www.integratorhost.example.com/v1/capture
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
JSON के काेड में दिखाना |
---|
{ "requestHeader": { object ( |
फ़ील्ड | |
---|---|
requestHeader |
ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर. |
paymentIntegratorAccountId |
ज़रूरी: यह पेमेंट इंटिग्रेटर खाता आइडेंटिफ़ायर है, जो इस लेन-देन से जुड़ी अनुबंध की सीमाओं की पहचान करता है. |
transactionDescription |
ज़रूरी: यह उस लेन-देन का ब्यौरा है जिसे ग्राहक के स्टेटमेंट में दिखाया जा सकता है. |
currencyCode |
ज़रूरी: ISO 4217 वाला तीन अक्षर वाला मुद्रा कोड |
amount |
ज़रूरी है: खरीदारी की रकम, मुद्रा इकाई के माइक्रो में. |
captureContext |
ज़रूरी है: इस कैप्चर के बारे में कॉन्टेक्स्ट. |
यूनियन फ़ील्ड fopDetails . ज़रूरी: कैप्चर किए गए इस लेन-देन के लिए एफ़ओपी की जानकारी. fopDetails इनमें से सिर्फ़ एक हो सकता है: |
|
googlePaymentToken |
टोकन, जिसे दोनों कंपनियां एक-दूसरे के बीच खरीदारी के लिए खाते की पहचान करने के लिए इस्तेमाल करेंगी. |
mandateDetails |
मैंडेट के हिसाब से पेमेंट के तरीके की जानकारी. |
mandateWithNotificationDetails |
मैंडेट के लिए पेमेंट के तरीके की जानकारी, जहां |
यूनियन फ़ील्ड
|
|
authenticationRequestId |
ज़रूरी नहीं: पुष्टि करने से जुड़े अनुरोध का अगर यह जानकारी मौजूद है, तो इसका मतलब है कि इस कॉल से ठीक पहले उपयोगकर्ता की पुष्टि की गई थी या पेमेंट अपने-आप होने की सुविधा सेट अप करते समय उपयोगकर्ता की पुष्टि हुई थी. |
otpVerification |
ज़रूरी नहीं: |
जवाब का मुख्य भाग
कैप्चर करने के तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
JSON के काेड में दिखाना |
---|
{ "responseHeader": { object ( |
फ़ील्ड | |
---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
paymentIntegratorTransactionId |
ज़रूरी नहीं: यह आइडेंटिफ़ायर खास तौर पर इंटिग्रेटर के लिए होता है और इसे इंटिग्रेटर से जनरेट किया जाता है. यह वह आइडेंटिफ़ायर है जिसके ज़रिए इंटिग्रेटर को इस ट्रांज़ैक्शन के बारे में पता चलता है. सुविधा के लिए, भेजे जाने वाले पैसे की जानकारी में यह आइडेंटिफ़ायर शामिल होता है |
userMessage |
अस्वीकार किया गया: अगर नतीजा |
result |
ज़रूरी है: इस कैप्चर का नतीजा. |
rawResult |
ज़रूरी नहीं: इस कैप्चर का रॉ नतीजा. इस डेटा का इस्तेमाल, Google के रिस्क इंजन और आंकड़ों की जानकारी देने के लिए किया जाता है. कोड-मैपिंग अस्वीकार करने की स्थितियों में, कभी-कभी डेटा मिट जाता है. इंटिग्रेटर के पास Google को रॉ कोड देने का विकल्प होता है. उदाहरण के लिए, क्रेडिट कार्ड गेटवे (इंटीग्रेटर) इस फ़ील्ड का इस्तेमाल करके, Google को अस्वीकार करने के लिए उसी कोड का इस्तेमाल कर सकता है जो VISA नेटवर्क से मिला है. इस मामले में, अगर |
transactionLimit |
ज़रूरी नहीं: अगर नतीजा यह सीमा, अनुरोध किए जाने पर |
currentBalance |
ज़रूरी नहीं: अगर नतीजा यह वैल्यू, अनुरोध किए गए |
MandateDetails
उस मैंडेट की जानकारी जिससे हासिल करना है.
JSON के काेड में दिखाना |
---|
{ "mandateId": string } |
फ़ील्ड | |
---|---|
mandateId |
ज़रूरी है: Google का जनरेट किया गया मैंडेट आईडी, जो |
MandateWithNotificationDetails
मैंडेट से जुड़ी ज़रूरी जानकारी और इससे जुड़ी ज़रूरी जानकारी.
JSON के काेड में दिखाना |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
फ़ील्ड | |
---|---|
mandateId |
ज़रूरी है: Google का जनरेट किया गया मैंडेट आईडी, जो |
upcomingTransactionNotificationId |
ज़रूरी है: |
CaptureContext
यह ऑब्जेक्ट, कैप्चर करने का अनुरोध करने के तरीके के बारे में जानकारी देता है.
JSON के काेड में दिखाना |
---|
{ "userIpAddress": string } |
फ़ील्ड | |
---|---|
userIpAddress |
ज़रूरी नहीं: अगर उपयोगकर्ता ने सेशन में खरीदारी की है, तो यह उपयोगकर्ता के डिवाइस का आईपी पता होता है. अगर उपयोगकर्ता, सेशन में नहीं था, तो यह फ़ील्ड खाली हो जाएगा. अगर कोई खास अनुबंध इस फ़ील्ड की ज़रूरत को पूरा नहीं करता है, तो यह हमेशा खाली रहेगा. |
CaptureResultCode
कैप्चर करने के लिए नतीजों के कोड.
Enums | |
---|---|
UNKNOWN_RESULT |
कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें! |
SUCCESS |
सामान कैप्चर कर लिया गया, डिलीवर किया जा चुका है. |
CHARGE_EXCEEDS_TRANSACTION_LIMIT |
इस कैप्चर अनुरोध की amount प्रति लेन-देन सीमा से ज़्यादा है. अगर इस कोड का इस्तेमाल किया जाता है, तो उपयोगकर्ता मैसेज सेवा के लिए transactionLimit फ़ील्ड को भरता है. |
CHARGE_EXCEEDS_DAILY_LIMIT |
फ़िलहाल, इस खाते से खरीदारी नहीं की जा सकती, क्योंकि आपने रोज़ाना इस्तेमाल की तय सीमा पार कर ली है. |
CHARGE_EXCEEDS_MONTHLY_LIMIT |
फ़िलहाल, इस खाते से खरीदारी नहीं की जा सकती, क्योंकि आपने यह महीने की तय सीमाएं पार कर ली हैं. |
CHARGE_UNDER_LIMIT |
इस कैप्चर अनुरोध का amount , कम से कम लेन-देन राशि की शर्त पूरी नहीं करता है. |
INSUFFICIENT_FUNDS |
इस कैप्चर की गारंटी के लिए इस खाते में काफ़ी रकम नहीं है. |
ACCOUNT_DOES_NOT_SUPPORT_CURRENCY |
इस खाते में अनुरोध की गई मुद्रा काम नहीं करती. |
ACCOUNT_CLOSED |
इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
इंटिग्रेटर के साथ काम करने वाले उपयोगकर्ता का खाता बंद कर दिया गया है. संदिग्ध खाते का अधिग्रहण कर लिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
ACCOUNT_ON_HOLD |
खाते पर कुछ समय के लिए रोक लगा दी गई है. |
ACCOUNT_CLOSED_FRAUD |
धोखाधड़ी के कारण, इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
GOOGLE_PAYMENT_TOKEN_INVALIDATED_BY_USER |
खाता चालू है, लेकिन इंटिग्रेटर की ओर से GPT को उपयोगकर्ता ने अमान्य कर दिया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
TOKEN_REFRESH_REQUIRED |
इसे वापस करने के लिए, उपयोगकर्ता को रीफ़्रेश फ़्लो से गुज़रना होगा. |
OTP_NOT_MATCHED |
ओटीपी मेल नहीं खाता. यह इंटिग्रेटर ने भेजा है. |
OTP_ALREADY_USED |
ओटीपी पहले ही इस्तेमाल कर लिया गया है. |
RISK_DECLINED |
इंटिग्रेटर की ओर से जोखिम की जांच की वजह से, लेन-देन को अस्वीकार कर दिया गया है. यह इस भुगतान के लिए एक स्थायी विफलता है, लेकिन इसके कारण Google में उपयोगकर्ता के डिवाइस को बंद नहीं किया जाता. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
उपयोगकर्ता के पास अपने खाते पर कॉन्फ़िगर किया गया कोई ऐसा चालू फ़ंडिंग स्रोत नहीं है, जो लेन-देन का भुगतान करने में सक्षम हो. |
FUNDING_SOURCE_UNAVAILABLE |
मौजूदा जारी करने वाला या फ़ंड के सोर्स की जानकारी उपलब्ध नहीं है. अगर फिर से कोशिश की जाती है, तो पेमेंट नहीं हो पाएगा. जब कोई पार्टनर 4xx या 5xx रिस्पॉन्स कोड वापस भेजता है, तो Google फिर से पेमेंट करने की कोशिश करेगा. इसलिए, पार्टनर को आम तौर पर इनमें से कोई एक रिस्पॉन्स कोड दिखाना चाहिए. ऐसा तब करना चाहिए, जब फ़ंड का सोर्स फिर से उपलब्ध हो जाने पर उसी पेमेंट को दोबारा करने की कोशिश की जाए. हालांकि, अगर कुछ तकनीकी वजहों से Google पेमेंट की फिर से कोशिश नहीं कर पाता है, तो पार्टनर "FUNDING_SOURCE_UNAVAILABLE" लौटा सकता है इससे Google को बताया जा सकता है कि उसे दोबारा पेमेंट करने की कोशिश नहीं करनी चाहिए. ध्यान दें: Google अब भी इस पेमेंट को दोबारा करने की कोशिश कर सकता है. हालांकि, यह अनुरोध किसी दूसरे अनुरोध आईडी के साथ ही किया जाएगा, लेकिन इस अनुरोध को 'अस्वीकार किया गया' के तौर पर मार्क किया जाएगा. |
MANDATE_NOT_ACTIVE |
इस कैप्चर के लिए इस्तेमाल किया गया मैंडेट अब चालू नहीं है. इस रिटर्न वैल्यू की वजह से, उपयोगकर्ता का मैंडेट इंस्ट्रुमेंट, Google के साथ बंद हो जाएगा. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
उपयोगकर्ता को बार-बार होने वाले मैंडेट का पेमेंट करने के लिए भेजी गई सूचना की समयसीमा खत्म हो गई है. |