Method: disburseFunds

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

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "liUrreQY233839dfFFb24gaQM",
    "requestTimestamp": "1502220434778"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "208000000"
}

जवाब का एक उदाहरण ऐसा दिखता है:


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA",
  "disburseFundsResult": {
    "disburseFundsResultCode": "SUCCESS"
  }
}

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

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

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

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

जेएसओएन के काेड में दिखाना
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "transactionDescription": string,
  "currencyCode": string,
  "amount": string,

  // Union field destinationFopDetails can be only one of the following:
  "upiDetails": {
    object (UpiDetails)
  }
  // End of list of possible types for union field destinationFopDetails.
}
फ़ील्ड
requestHeader

object (RequestHeader)

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

paymentIntegratorAccountId

string

ज़रूरी है: यह पेमेंट इंटिग्रेटर खाता आइडेंटिफ़ायर है, जो इस लेन-देन से जुड़ी अनुबंध की शर्तों की पहचान करता है.

transactionDescription

string

ज़रूरी है: यह लेन-देन का वह ब्यौरा है जिसे ग्राहक के स्टेटमेंट में डाला जा सकता है. requestHeader में मौजूद userLocale के हिसाब से बनाया गया. इस फ़ॉर्मैट को बिना किसी सूचना के बदला जा सकता है और इसे कभी पार्स नहीं किया जाना चाहिए.

currencyCode

string

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

amount

string (Int64Value format)

ज़रूरी: खरीदारी की रकम, मुद्रा की यूनिट के माइक्रो में.

यूनियन फ़ील्ड destinationFopDetails.

destinationFopDetails इनमें से सिर्फ़ एक हो सकता है:

upiDetails

object (UpiDetails)

ज़रूरी नहीं: UPI के तरीकों से जुड़े पेमेंट की जानकारी.

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

पैसे चुकाने के तरीके के लिए रिस्पॉन्स ऑब्जेक्ट.

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

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

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

सुविधा के लिए, इस पहचानकर्ता को, भेजी गई रकम की जानकारी में शामिल किया गया है

disburseFundsResult

object (DisburseFundsResult)

ज़रूरी: पैसे भेजें कॉल का नतीजा.

UpiDetails

उस UPI खाते की जानकारी जिसमें पैसे भेजे जाने हैं.

जेएसओएन के काेड में दिखाना
{
  "vpa": string
}
फ़ील्ड
vpa

string

ज़रूरी: उपयोगकर्ता का वर्चुअल पेमेंट पता (VPA) जिसका इस्तेमाल, UPI प्रोटोकॉल की मदद से पैसे ट्रांसफ़र करने के लिए किया जाता है. उदाहरण के लिए, foo@icici.

DisburseFundsResult

पेमेंट के आखिरी नतीजे के बारे में जानकारी.

जेएसओएन के काेड में दिखाना
{
  "disburseFundsResultCode": enum (DisburseFundsResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string
  // End of list of possible types for union field FailureDetail.
}
फ़ील्ड
disburseFundsResultCode

enum (DisburseFundsResultCode)

ज़रूरी है: इस पेमेंट के नतीजे का कोड.

rawResult

object (RawResult)

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

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

यूनियन फ़ील्ड FailureDetail.

FailureDetail इनमें से सिर्फ़ एक हो सकता है:

transactionMaxLimit

string (Int64Value format)

ज़रूरी नहीं: अगर disburseFundsResultCode DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT है, तो यह उस लेन-देन की वैल्यू है जिसकी अनुमति दी जा सकती है. इसका इस्तेमाल स्ट्रक्चर्ड, उपयोगकर्ता को दिखने वाले मैसेज, और अस्वीकार किए जाने की दर के विश्लेषण के लिए किया जाता है.

यह रकम, disburseFunds के मूल तरीके के कॉल के माइक्रो में ही currencyCode है.

transactionMinLimit

string (Int64Value format)

ज़रूरी नहीं: अगर disburseFundsResultCode DISBURSEMENT_UNDER_TRANSACTION_LIMIT है, तो यह उस लेन-देन की कम से कम वैल्यू है जिसकी अनुमति दी जा सकती है. इसका इस्तेमाल स्ट्रक्चर्ड, उपयोगकर्ता को दिखने वाले मैसेज, और अस्वीकार किए जाने की दर के विश्लेषण के लिए किया जाता है.

यह रकम, disburseFunds के मूल तरीके के कॉल के माइक्रो में ही currencyCode है.

DisburseFundsResultCode

अदायगी फ़ंड कॉल के लिए नतीजे के कोड.

Enums
UNKNOWN_RESULT कभी भी यह डिफ़ॉल्ट वैल्यू सेट न करें!
SUCCESS पैसे आपके खाते में जमा हो गए हैं.
DISBURSEMENT_UNDER_TRANSACTION_LIMIT जिस रकम का अनुरोध किया गया है वह हर लेन-देन के लिए, इंटिग्रेटर की तय की गई कम से कम रकम से कम है. अगर इस कोड का इस्तेमाल किया जाता है, तो उपयोगकर्ता की मैसेज सेवा के लिए, transactionMinLimit फ़ील्ड में लेन-देन की कम से कम रकम डालें.
DISBURSEMENT_EXCEEDS_TRANSACTION_LIMIT खाते के पेमेंट के लिए मांगी गई रकम, इंटिग्रेटर की हर ट्रांज़ैक्शन के लिए तय सीमा से ज़्यादा है. अगर इस कोड का इस्तेमाल किया जाता है, तो उपयोगकर्ता को मैसेज भेजने के लिए, transactionMaxLimit फ़ील्ड में लेन-देन की सीमा की जानकारी भरें.
ACCOUNT_CLOSED इंटिग्रेटर के साथ जुड़े उपयोगकर्ता का खाता बंद कर दिया गया है. इस रिटर्न वैल्यू की वजह से, उपयोगकर्ता का इंस्ट्रुमेंट Google के साथ बंद हो जाएगा. उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER इंटिग्रेटर के साथ उपयोगकर्ता का खाता बंद कर दिया गया है, संदिग्ध खाते को टेक ओवर कर दिया गया है. इस रिटर्न वैल्यू की वजह से, उपयोगकर्ता का इंस्ट्रुमेंट Google के साथ बंद हो जाएगा. उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.
ACCOUNT_CLOSED_FRAUD धोखाधड़ी की वजह से, इंटिग्रेटर के साथ जुड़ा उपयोगकर्ता का खाता बंद कर दिया गया है. इस रिटर्न वैल्यू की वजह से, उपयोगकर्ता का इंस्ट्रुमेंट Google के साथ बंद हो जाएगा. उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.
ACCOUNT_ON_HOLD उपयोगकर्ता के खाते पर कुछ समय के लिए रोक लगाई गई है.

RawResult

रॉ नतीजे का ऑब्जेक्ट.

जेएसओएन के काेड में दिखाना
{
  "scope": string,
  "rawCode": string
}
फ़ील्ड
scope

string

ज़रूरी नहीं: rawCode का स्कोप खाली हो सकता है.

rawCode

string

ज़रूरी है: इंटिग्रेटर या सबसिस्टम से मिला रॉ कोड.