Method: disburseFunds

पेमेंट प्रोसेस करने वाली कंपनी और ग्राहक के खाते के बीच पैसे ट्रांसफ़र करता है. हेडर और paymentIntegratorAccountId में requestId का कॉम्बिनेशन, अनजाने में लगने वाली कुंजी है. साथ ही, यह इस ट्रांज़ैक्शन की खास तौर पर पहचान करता है. इस लेन-देन के सभी म्यूटेशन, 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

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

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

JSON के काेड में दिखाना
{
  "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 के तरीकों के हिसाब से पेमेंट के तरीके की जानकारी.

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

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

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

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

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

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

disburseFundsResult

object (DisburseFundsResult)

ज़रूरी है: फ़ंड शेयर करने के लिए किए गए कॉल का नतीजा.

UpiDetails

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

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

string

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

DisburseFundsResult

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

JSON के काेड में दिखाना
{
  "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 "वीज़ा" होगा और VISA नेटवर्क से मिलने वाली रकम rawCode होगी.

अगर 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

नतीजे से जुड़ा रॉ ऑब्जेक्ट.

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

string

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

rawCode

string

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