Method: refund

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

अगर अनुरोध को प्रोसेस करते समय एंडपॉइंट को कोई गड़बड़ी मिलती है, तो इस एंडपॉइंट से मिलने वाले रिस्पॉन्स का मुख्य हिस्सा 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

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

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

JSON के काेड में दिखाना
{
  "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)

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

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

रिफ़ंड के तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

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

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

object (ResponseHeader)

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

paymentIntegratorRefundId

string

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

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

result

enum (RefundResultCode)

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

rawResult

object (RawResult)

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

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

RefundResultCode

यूनीक नतीजे के कोड से रिफ़ंड मिलता है.

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