- एचटीटीपी अनुरोध
- अनुरोध का मुख्य हिस्सा
- जवाब का मुख्य हिस्सा
- RefundResultCode
- RefundResultNotificationResultCode
refund तरीके से कॉल करने के बाद, रिफ़ंड के नतीजे के बारे में Google को सूचना दें.
refund तरीके से किए गए कॉल के दौरान, रिफ़ंड को सिंक्रोनस तरीके से हैंडल किया जाना चाहिए. हालांकि, यह तरीका Google को तेज़ी से बैकअप सिग्नल देता है. ऐसा तब होता है, जब कार्रवाई करने के बाद, नतीजे देने से पहले सिंक्रोनस कॉल पूरा नहीं होता. इससे, Google की वजह से आने वाले समय के लिए, फिर से कोशिश करने के शेड्यूल में होने वाली देरी से बचा जा सकता है.
इस refundRequestId के लिए refundResult वैल्यू अलग-अलग है. इसलिए, इस तरीके को बाद में किए जाने वाले कॉल से, इसकी वैल्यू को बदला नहीं जा सकता.
अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट को कोई गड़बड़ी मिलती है, तो इस एंडपॉइंट से मिलने वाला रिस्पॉन्स का होगा.ErrorResponse
अगर यह तरीका एचटीटीपी 200 नहीं दिखाता है, तो इस क्वेरी के रिस्पॉन्स खाली हो सकते हैं. जवाब का मुख्य हिस्सा उन स्थितियों में खाली होता है जिनमें साफ़ तौर पर जानकारी के साथ का इस्तेमाल किया जा सकता है. इससे हमलावर को दूसरे इंटिग्रेटर के पेमेंट इंटिग्रेटर खाते के आइडेंटिफ़ायर को समझने में मदद मिलती है. इन स्थितियों में, जब या तो साइनिंग पासकोड मेल नहीं खाता, पेमेंट इंटिग्रेटर आइडेंटिफ़ायर नहीं मिला या एन्क्रिप्शन कुंजी की जानकारी नहीं थी. ऐसे में, यह तरीका खाली पेज के साथ एचटीटीपी 404 दिखाएगा. अगर अनुरोध के हस्ताक्षर की पुष्टि की जा सकती है, तो गड़बड़ी के बारे में ज़्यादा जानकारी जवाब के मुख्य हिस्से में दी जाएगी.ErrorResponse
अनुरोध का एक उदाहरण यह दिखता है:
{
"requestHeader": {
"protocolVersion": {
"major": 1,
"minor": 1,
"revision": 0
},
"requestId": "HsKv5pvtQKTtz7rdcw1YqE",
"requestTimestamp": "1481855928301"
},
"paymentIntegratorAccountId": "InvisiCashUSA_USD",
"refundRequestId": "hH1T32PI86CpKwjuf6oD2r",
"paymentIntegratorRefundId": "invisi/Id::xx__1243",
"refundResult": "SUCCESS"
}
जवाब का एक उदाहरण ऐसा दिखता है:
{
"responseHeader": {
"responseTimestamp": "1481855928376"
},
"result": "SUCCESS"
}
एचटीटीपी अनुरोध
POST https://vgw.googleapis.com/secure-serving/gsp/v1/refundResultNotification/:PIAID
अनुरोध का मुख्य भाग
अनुरोध के मुख्य हिस्से में, यहां दिए गए स्ट्रक्चर का डेटा शामिल होता है:
| JSON के काेड में दिखाना |
|---|
{ "requestHeader": { object ( |
| फ़ील्ड | |
|---|---|
requestHeader |
ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर. |
paymentIntegratorAccountId |
ज़रूरी है: पेमेंट इंटिग्रेटर खाते का आइडेंटिफ़ायर, जिस पर रिफ़ंड मिला है. |
refundRequestId |
ज़रूरी है: इस रिफ़ंड के लिए यूनीक आइडेंटिफ़ायर, जिसे |
refundResult |
ज़रूरी है: इस रिफ़ंड का नतीजा. |
paymentIntegratorRefundId |
ज़रूरी: यह आइडेंटिफ़ायर खास तौर पर इंटिग्रेटर के लिए होता है और इसे इंटिग्रेटर से जनरेट किया जाता है. इस आइडेंटिफ़ायर के बारे में इंटिग्रेटर को पता होता है. सुविधा के लिए, भेजे जाने वाले पैसे की जानकारी में यह आइडेंटिफ़ायर शामिल होता है |
जवाब का मुख्य भाग
refundResultNotification तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.
अगर एपीआई सही से जुड़ जाता है, ताे जवाब के मुख्य भाग में नीचे दिए गए स्ट्रक्चर शामिल होता है.
| JSON के काेड में दिखाना |
|---|
{ "responseHeader": { object ( |
| फ़ील्ड | |
|---|---|
responseHeader |
ज़रूरी: सभी जवाबों के लिए सामान्य हेडर. |
result |
ज़रूरी: इस कॉल का नतीजा. |
RefundResultCode
यूनीक नतीजे के कोड से रिफ़ंड मिलता है.
| Enums | |
|---|---|
UNKNOWN_RESULT |
कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें! |
SUCCESS |
रिफ़ंड हो गया. |
NO_MONEY_LEFT_ON_TRANSACTION |
रिफ़ंड नहीं हो सका, लेन-देन में कोई रकम नहीं बची है. आम तौर पर, यह इंटिग्रेटर और Google के बीच की गड़बड़ी को दिखाता है. Google को मूल रूप से कैप्चर की गई मूल रकम से ज़्यादा रकम का रिफ़ंड नहीं मांगना चाहिए. |
ACCOUNT_CLOSED |
इंटिग्रेटर के पास मौजूद खाता बंद कर दिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER |
इंटिग्रेटर के साथ काम करने वाले उपयोगकर्ता का खाता बंद कर दिया गया है. संदिग्ध खाते का अधिग्रहण कर लिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
ACCOUNT_CLOSED_FRAUD |
धोखाधड़ी के कारण, इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है. इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा. |
ACCOUNT_ON_HOLD |
फ़िलहाल, उपयोगकर्ता के खाते पर रोक लगी हुई है और वह रिफ़ंड स्वीकार नहीं कर सकता. हालांकि, उपयोगकर्ता का खाता बाद में रिफ़ंड स्वीकार कर सकता है. Google आने वाले समय में एक और रिफ़ंड का अनुरोध कर सकता है. हालांकि, नए requestId का इस्तेमाल करके ही रिफ़ंड के लिए अनुरोध किया जा सकता है. इसलिए, यह माना जाना चाहिए कि इस अनुरोध को पूरा किया जा चुका है. |
REFUND_EXCEEDS_MAXIMUM_BALANCE |
रिफ़ंड इस समय प्रोसेस नहीं किया जा सकता, क्योंकि ऐसा करने से उपयोगकर्ता के बचे हुए पैसे तय की गई ज़्यादा से ज़्यादा रकम से ज़्यादा हो जाएंगे. Google आने वाले समय में एक और रिफ़ंड का अनुरोध कर सकता है. हालांकि, नए requestId का इस्तेमाल करके ही रिफ़ंड के लिए अनुरोध किया जा सकता है. इसलिए, यह माना जाना चाहिए कि इस अनुरोध को पूरा किया जा चुका है. |
REFUND_WINDOW_EXCEEDED |
रिफ़ंड प्रोसेस नहीं किया जा सकता, क्योंकि आपका अनुरोध, रिफ़ंड की तय अवधि से बाहर का है. |
RefundResultNotificationResultCode
refundResultNotification तरीके के लिए नतीजों के कोड.
| Enums | |
|---|---|
UNKNOWN_RESULT |
कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें! |
SUCCESS |
रिफ़ंड के नतीजे की सूचना दी गई. |