Method: refund

capture के ज़रिए शुरू किए गए या पूरे लेन-देन का एक हिस्सा रिफ़ंड कर दिया जाता है. हेडर में requestId और paymentIntegratorAccountId का संयोजन idempotency कुंजी है, जो विशिष्ट रूप से इस लेन-देन की पहचान करता है.

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
  "currencyCode": "INR",
  "refundAmount": "208000000"
}

उदाहरण के तौर पर दिया गया जवाब कुछ इस तरह दिखता है:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "SUCCESS",
  "paymentIntegratorRefundId": "cmVmdW5kIGlkZW50aWZpZXINCg"
}

एचटीटीपी अनुरोध

POST https://www.integratorhost.example.com/v1/refund

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

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

जेएसओएन के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "currencyCode": string,
  "refundAmount": string
}
फ़ील्ड
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

ज़रूरी है: यह लेन-देन से जुड़े समझौते के बारे में बताने वाला पेमेंट इंटिग्रेटर खाता आईडी होता है.

captureRequestId

string

ज़रूरी है: इस लेन-देन के लिए यूनीक आइडेंटिफ़ायर. यह requestId, Google की ओर से capture कॉल के दौरान जनरेट किया गया है, जिससे यह अनुरोध जुड़ा हुआ है.

currencyCode

string

ज़रूरी है: ISO 4217 का तीन अक्षर वाला मुद्रा कोड

refundAmount

string (Int64Value format)

ज़रूरी है: रिफ़ंड की रकम. मुद्रा यूनिट में माइक्रो की पॉज़िटिव संख्या.

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

रिफ़ंड के तरीके के लिए जवाब ऑब्जेक्ट.

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

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

object (ResponseHeader)

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

paymentIntegratorRefundId

string

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

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

result

enum (RefundResultCode)

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

rawResult

object (RawResult)

ज़रूरी नहीं: इस रिफ़ंड का रॉ नतीजा. इस डेटा का इस्तेमाल, Google के जोखिम इंजन और आंकड़ों की जानकारी देने के लिए किया जाता है. कोड को मैप करने की स्थितियों में, डेटा कभी-कभी खो जाता है. इंटिग्रेटर, Google को एक रॉ कोड चुन सकता है. उदाहरण के लिए, क्रेडिट कार्ड गेटवे (इंटिग्रेटर) इस फ़ील्ड का इस्तेमाल, VISA नेटवर्क से मिले Google को पुष्टि करने के लिए, अस्वीकार किए जाने वाले कोड की सही जानकारी देने के लिए कर सकता है. इस मामले में, "Visa" होने पर scope और VISA नेटवर्क से मिलने वाला रिटर्न rawCode दिखेगा.

अगर result SUCCESS नहीं है, तो यह वैल्यू ज़रूरी है.

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

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

Enums
UNKNOWN_RESULT इस डिफ़ॉल्ट वैल्यू को कभी सेट न करें!
SUCCESS रिफ़ंड किया गया.
NO_MONEY_LEFT_ON_TRANSACTION v1.refund नहीं हो सकी, लेन-देन में रकम बची नहीं है. आम तौर पर, यह इंटिग्रेटर और 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 रिफ़ंड प्रोसेस नहीं किया जा सकता, क्योंकि अनुरोध की गई रिफ़ंड की अवधि खत्म हो चुकी है.