Method: refundResultNotification

refund का तरीका कॉल होने के बाद, रिफ़ंड की सूचना Google को दें.

refund तरीके का इस्तेमाल करने के दौरान, रिफ़ंड को सिंक्रोनस रूप से हैंडल किया जाना चाहिए. हालांकि, इस प्रोसेस के पूरा होने और नतीजे पाने से पहले, यह तरीका काम न करने की स्थिति में, Google को तेज़ी से बैक अप सिग्नल देता है. इससे Google यह सूचना नहीं दे पाता है कि आने वाले समय में ऐप्लिकेशन फिर से लोड करने की कोशिश करेगा या नहीं.

refundResult की वैल्यू, refundRequestId के लिए एक जैसी है. इसलिए, इस वैल्यू को किसी दूसरे कॉल से नहीं बदला जा सकता.

अगर अनुरोध प्रोसेस करते समय एंडपॉइंट को गड़बड़ी मिलती है, तो इस एंडपॉइंट से मिला रिस्पॉन्स ErrorResponse तरह का होगा.

अगर यह तरीका, एचटीटीपी 200 का इस्तेमाल नहीं करता है, तो इस क्वेरी के जवाब खाली दिख सकते हैं. रिस्पॉन्स का मुख्य हिस्सा खाली होता है. इसमें, ErrorResponse के बारे में सटीक जानकारी होती है. इससे, हमलावर को अन्य इंटिग्रेटर के पेमेंट इंटिग्रेटर खाते के आइडेंटिफ़ायर को समझने में मदद मिलती है. इन मामलों में, अगर साइनिंग कुंजी मेल नहीं खाती, तो पेमेंट इंटिग्रेटर आइडेंटिफ़ायर नहीं मिलता या एन्क्रिप्ट (सुरक्षित) करने की कुंजी के बारे में कोई जानकारी नहीं होती, लेकिन इस तरीके से एचटीटीपी 404 गड़बड़ी के साथ दिखेगा. अगर अनुरोध हस्ताक्षर की पुष्टि की जा सकती है, तो जवाब के मुख्य भाग में गड़बड़ी के बारे में अतिरिक्त जानकारी दिखाई जाएगी.

अनुरोध का उदाहरण ऐसा दिखता है:


{
  "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

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

अनुरोध के मुख्य हिस्से में, नीचे दिए गए स्ट्रक्चर का डेटा शामिल है:

जेएसओएन के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "refundRequestId": string,
  "refundResult": enum (RefundResultCode),
  "paymentIntegratorRefundId": string
}
फ़ील्ड
requestHeader

object (RequestHeader)

ज़रूरी: सभी अनुरोधों के लिए सामान्य हेडर.

paymentIntegratorAccountId

string

ज़रूरी: पेमेंट इंटिग्रेटर खाता आइडेंटिफ़ायर, जिस पर रिफ़ंड किया गया.

refundRequestId

string

ज़रूरी है: इस रिफ़ंड के लिए यूनीक आइडेंटिफ़ायर, refund तरीके को कॉल करने के दौरान requestId फ़ील्ड से तय किया गया.

refundResult

enum (RefundResultCode)

ज़रूरी: इस रिफ़ंड का नतीजा.

paymentIntegratorRefundId

string

ज़रूरी है: यह आइडेंटिफ़ायर, सिर्फ़ इंटिग्रेटर के लिए है. इसे इंटिग्रेटर जनरेट करता है. यह आइडेंटिफ़ायर है जिससे इंटिग्रेटर को यह रिफ़ंड पता है.

सुविधाजनक होने पर, इस आइडेंटिफ़ायर को पैसे चुकाने की जानकारी में शामिल किया जाता है

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

refundResultNotification तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

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

जेएसओएन के काेड में दिखाना
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (RefundResultNotificationResultCode)
}
फ़ील्ड
responseHeader

object (ResponseHeader)

ज़रूरी: सभी जवाबों के लिए सामान्य हेडर.

result

enum (RefundResultNotificationResultCode)

ज़रूरी है: इस कॉल का नतीजा.

रिफ़ंड से जुड़ा कोड

यूनीक नतीजे वाले कोड का रिफ़ंड.

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 रिफ़ंड प्रोसेस नहीं किया जा सकता, क्योंकि अनुरोध की गई रिफ़ंड की अवधि खत्म हो चुकी है.

रिफ़ंडResultNotificationResultCode

refundResultNotification तरीके के लिए नतीजे के कोड.

Enums
UNKNOWN_RESULT इस डिफ़ॉल्ट वैल्यू को कभी सेट न करें!
SUCCESS आपको रिफ़ंड के नतीजे की सूचना मिल गई है.