- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- MandateDetails
- MandateWithNotificationDetails
- CaptureContext
- CaptureResultCode
Google के पास मौजूद ग्राहक के खाते और पेमेंट प्रोसेस करने वाली कंपनी के बीच पैसों का लेन-देन शुरू करता है. हेडर में requestId
का कॉम्बिनेशन और paymentIntegratorAccountId
, आईडीएम्पॉंसी कुंजी है. यह इस लेन-देन की खास तौर पर पहचान करता है. इस लेन-देन (रिफ़ंड) में किए गए सभी बदलावों से, 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
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में इस तरह का डेटा शामिल होता है:
जेएसओएन के काेड में दिखाना |
---|
{ "requestHeader": { object ( |
फ़ील्ड | |
---|---|
requestHeader |
ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर. |
paymentIntegratorAccountId |
ज़रूरी है: यह पेमेंट इंटिग्रेटर खाता आइडेंटिफ़ायर है, जो इस लेन-देन से जुड़ी अनुबंध की शर्तों की पहचान करता है. |
transactionDescription |
ज़रूरी है: यह लेन-देन का वह ब्यौरा है जिसे ग्राहक के स्टेटमेंट में डाला जा सकता है. |
currencyCode |
ज़रूरी है: ISO 4217 का तीन अक्षर वाला मुद्रा कोड |
amount |
ज़रूरी: खरीदारी की रकम, मुद्रा की यूनिट के माइक्रो में. |
captureContext |
ज़रूरी: इस कैप्चर के बारे में जानकारी. |
यूनियन फ़ील्ड fopDetails . ज़रूरी है: इस कैप्चर लेन-देन के लिए एफ़ओपी जानकारी. fopDetails इनमें से सिर्फ़ एक हो सकता है: |
|
googlePaymentToken |
वह टोकन जिसका इस्तेमाल करके दोनों कंपनियां, एक-दूसरे के बीच खरीदारी के लिए खाते की पहचान करेंगी. |
mandateDetails |
मैंडेट के लिए पेमेंट के तरीके की जानकारी. |
mandateWithNotificationDetails |
मैंडेट के लिए पेमेंट की जानकारी, जिसमें |
यूनियन फ़ील्ड
|
|
authenticationRequestId |
ज़रूरी नहीं: पुष्टि करने के अनुरोध का अगर यह मौजूद होता है, तो इस कॉल से ठीक पहले उपयोगकर्ता की पुष्टि की गई थी या अपने आप भुगतान की सुविधा शेड्यूल सेट करते समय उपयोगकर्ता की पुष्टि की गई थी. |
otpVerification |
ज़रूरी नहीं: |
जवाब का मुख्य भाग
कैप्चर करने के तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
जेएसओएन के काेड में दिखाना |
---|
{ "responseHeader": { object ( |
फ़ील्ड | |
---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
paymentIntegratorTransactionId |
ज़रूरी नहीं: यह आइडेंटिफ़ायर खास तौर पर इंटिग्रेटर के लिए होता है और इसे इंटिग्रेटर जनरेट करता है. यह वह आइडेंटिफ़ायर है जिससे इंटिग्रेटर को इस लेन-देन की जानकारी है. सुविधा के लिए, इस पहचानकर्ता को, भेजी गई रकम की जानकारी में शामिल किया गया है |
userMessage |
रोक लगाई गई: यह जानकारी |
result |
ज़रूरी: इस कैप्चर का नतीजा. |
rawResult |
ज़रूरी नहीं: इस कैप्चर का रॉ नतीजा. इस डेटा का इस्तेमाल, Google के रिस्क इंजन और आंकड़ों की जानकारी देने के लिए किया जाता है. कोड-मैपिंग अस्वीकार होने की स्थिति में, कभी-कभी डेटा खो जाता है. इंटिग्रेटर, Google को एक रॉ कोड दे सकता है. उदाहरण के लिए, क्रेडिट कार्ड गेटवे (इंटीग्रेटर) इस फ़ील्ड का इस्तेमाल Google को अस्वीकार करने के सटीक कोड की जानकारी देने के लिए कर सकता है. यह कोड VISA नेटवर्क से मिला था. इस मामले में, अगर |
transactionLimit |
ज़रूरी नहीं: अगर नतीजा यह सीमा, अनुरोध में मौजूद |
currentBalance |
ज़रूरी नहीं: अगर नतीजा यह वैल्यू, अनुरोध किए गए |
MandateDetails
जिस मैंडेट से कैप्चर करना है उसके बारे में जानकारी.
जेएसओएन के काेड में दिखाना |
---|
{ "mandateId": string } |
फ़ील्ड | |
---|---|
mandateId |
ज़रूरी: |
MandateWithNotificationDetails
मैंडेट के बारे में जानकारी और सूचनाओं से जुड़ी ज़रूरी जानकारी.
जेएसओएन के काेड में दिखाना |
---|
{ "mandateId": string, "upcomingTransactionNotificationId": string } |
फ़ील्ड | |
---|---|
mandateId |
ज़रूरी: |
upcomingTransactionNotificationId |
ज़रूरी: |
CaptureContext
यह ऑब्जेक्ट, कैप्चर करने का अनुरोध करने के तरीके के बारे में जानकारी देता है.
जेएसओएन के काेड में दिखाना |
---|
{ "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 |
खाता चालू है, लेकिन इंटिग्रेटर की ओर से उपयोगकर्ता ने जीपीटी को अमान्य कर दिया है. इस वैल्यू को लौटाने से, उपयोगकर्ता का इंस्ट्रुमेंट Google के पास बंद हो जाएगा. असोसिएशन फ़्लो को फिर से पूरा करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ने के लिए मजबूर किया जाएगा. |
TOKEN_REFRESH_REQUIRED |
इस वैल्यू को लौटाने के लिए, उपयोगकर्ता को रीफ़्रेश फ़्लो से गुज़रना पड़ता है. |
OTP_NOT_MATCHED |
ओटीपी, इंटिग्रेटर के भेजे गए ओटीपी से मेल नहीं खाता. |
OTP_ALREADY_USED |
ओटीपी का इस्तेमाल पहले ही किया जा चुका है. |
RISK_DECLINED |
इंटिग्रेटर ने जोखिम की जांच की है, इसलिए पेमेंट अस्वीकार कर दिया गया है. यह पेमेंट प्रोसेस नहीं हो पाएगा. हालांकि, इसकी वजह से Google में उपयोगकर्ता का इंस्ट्रुमेंट बंद नहीं होता. |
NO_GOOD_FUNDING_SOURCE_AVAILABLE |
उपयोगकर्ता के पास अपने खाते में कॉन्फ़िगर किया गया कोई ऐसा फ़ंडिंग सोर्स नहीं है जिससे लेन-देन का पेमेंट किया जा सके. |
FUNDING_SOURCE_UNAVAILABLE |
फ़ंड जारी करने वाला बैंक या कंपनी का सोर्स उपलब्ध नहीं है. अगर फिर से पेमेंट करने की कोशिश की जाती है, तो पेमेंट नहीं हो पाएगा. Google फिर से पेमेंट करने की कोशिश करेगा. ऐसा तब होगा, जब कोई पार्टनर 4xx या 5xx रिस्पॉन्स कोड देगा. इस वजह से, पार्टनर को आम तौर पर इनमें से कोई एक रिस्पॉन्स कोड तब वापस करना चाहिए, जब फ़ंड का मूल स्रोत फिर से उपलब्ध होने पर उसी पेमेंट को फिर से किया जा सकता है. हालांकि, अगर किसी तकनीकी वजह से Google फिर से पेमेंट करने की कोशिश नहीं कर पाता है, तो पार्टनर "FUNDING_SOURCE_UNAVAILABLE" को लौटा सकता है. इससे Google को बताया जा सकता है कि उसे फिर से पेमेंट करने की कोशिश नहीं करनी चाहिए. ध्यान दें: Google अब भी इस पेमेंट के लिए फिर से कोशिश कर सकता है, लेकिन सिर्फ़ किसी दूसरे requestId का इस्तेमाल करें. हालांकि, इस पेमेंट के अनुरोध को 'अस्वीकार किया गया' के तौर पर मार्क किया जाएगा. |
MANDATE_NOT_ACTIVE |
इस कैप्चर के लिए इस्तेमाल किया गया मैंडेट अब चालू नहीं है. इस रिटर्न वैल्यू की वजह से, उपयोगकर्ता का मैंडेट Google के साथ बंद हो जाएगा. |
UPCOMING_TRANSACTION_NOTIFICATION_EXPIRED |
बार-बार होने वाले मैंडेट के पेमेंट के लिए, उपयोगकर्ता को भेजी गई सूचना की समयसीमा खत्म हो गई थी. |