Method: asynchronousCapture

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

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

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "bWVyY2hhbnQgdHJhbnNhY3Rpb24gaWQ",
    "requestTimestamp": "1502220196077"
  },
  "paymentIntegratorAccountId": "InvisiCashIN_INR",
  "upiDetails": {
      "vpa": "foo@icici"
  },
  "transactionDescription": "Google - Music",
  "currencyCode": "INR",
  "amount": "728000000"
}

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


{
  "responseHeader": {
    "responseTimestamp": "1481900013178"
  },
  "result": "ACKNOWLEDGED",
  "paymentIntegratorTransactionId": "aW50ZWdyYXRvciB0cmFuc2FjdGlvbiBpZA"
}

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

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

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

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

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

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

object (RequestHeader)

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

paymentIntegratorAccountId

string

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

transactionDescription

string

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

currencyCode

string

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

amount

string (Int64Value format)

ज़रूरी: खरीदारी की रकम, मुद्रा इकाई के माइक्रो में.

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

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

upiDetails

object (UpiDetails)

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

tokenizedInstrumentDetails

object (TokenizedInstrumentDetails)

ज़रूरी नहीं: टोकन वाले इंस्ट्रुमेंट के हिसाब से पेमेंट के तरीके की जानकारी.

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

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

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

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

object (ResponseHeader)

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

paymentIntegratorTransactionId

string

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

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

result

enum (AsynchronousCaptureResultCode)

ज़रूरी: एसिंक्रोनस कैप्चर कॉल का नतीजा.

UpiDetails

उस UPI खाते की जानकारी जिससे कैप्चर करना है.

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

string

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

TokenizedInstrumentDetails

उस खाते की जानकारी जिससे कैप्चर करना है.

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

string

ज़रूरी: यह वह टोकन है जिसका इस्तेमाल दोनों कंपनियां एक-दूसरे के बीच खरीदारी के लिए, खाते की पहचान करने के लिए करेंगी.

AsynchronousCaptureResultCode

एसिंक्रोनसकैप्चर के लिए नतीजे के कोड.

Enums
UNKNOWN_RESULT कभी भी इस डिफ़ॉल्ट वैल्यू को सेट न करें!
ACKNOWLEDGED कैप्चर करने का अनुरोध किया गया है और इंटिग्रेटर यह तय करने के लिए कुछ और चरण करेगा कि कैप्चर पूरा हुआ है या अस्वीकार कर दिया गया है. जब इंटिग्रेटर को कैप्चर का नतीजा पता चल जाता है, तब वह captureResultNotification एपीआई को कॉल करके Google को नतीजे की जानकारी देता है.
ACCOUNT_CLOSED

इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

इंटिग्रेटर के साथ काम करने वाले उपयोगकर्ता का खाता बंद कर दिया गया है. संदिग्ध खाते का अधिग्रहण कर लिया गया है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.

ACCOUNT_ON_HOLD खाते पर कुछ समय के लिए रोक लगा दी गई है.
ACCOUNT_CLOSED_FRAUD

धोखाधड़ी के कारण, इंटिग्रेटर के पास मौजूद उपयोगकर्ता का खाता बंद कर दिया गया है.

इस मान को लौटाने से उपयोगकर्ता का डिवाइस Google के साथ बंद हो जाएगा. फिर से असोसिएशन फ़्लो का इस्तेमाल करके, उपयोगकर्ता को एक नया इंस्ट्रुमेंट जोड़ना होगा.