Method: asynchronousCapture

একটি গ্রাহকের অ্যাকাউন্ট এবং ইন্টিগ্রেটরের মধ্যে একটি অর্থ চলাচলের অপারেশন শুরু করে। ইন্টিগ্রেটরকে অনুরোধটি স্বীকার করতে হবে এবং ক্যাপচারটি সম্পূর্ণ করার জন্য যা কিছু ঘটতে হবে তা সম্পাদন করতে হবে (যেমন, ব্যবহারকারীর কাছ থেকে একটি পিন সংগ্রহ করুন)। ইন্টিগ্রেটর CaptureResultNotification API এ কল করে ক্যাপচারের চূড়ান্ত ফলাফল সম্পর্কে Google-কে অবহিত করবে।

হেডার এবং paymentIntegratorAccountId এর মধ্যে requestId এর সংমিশ্রণ হল idempotency কী এবং অনন্যভাবে এই লেনদেনকে চিহ্নিত করে। এই লেনদেনের সমস্ত মিউটেশন (রিফান্ড) 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"
}

HTTP অনুরোধ

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 3-অক্ষরের মুদ্রা কোড

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

টোকেনাইজড ইনস্ট্রুমেন্টের বিবরণ

যে অ্যাকাউন্ট থেকে ক্যাপচার করতে হবে তার বিবরণ।

JSON প্রতিনিধিত্ব
{
  "googlePaymentToken": string
}
ক্ষেত্র
googlePaymentToken

string

প্রয়োজনীয় : এটি সেই টোকেন যা উভয় কোম্পানি একে অপরের মধ্যে কেনাকাটার জন্য অ্যাকাউন্ট সনাক্ত করতে ব্যবহার করবে।

অ্যাসিঙ্ক্রোনাস ক্যাপচার রেজাল্টকোড

অ্যাসিঙ্ক্রোনাস ক্যাপচারের জন্য ফলাফল কোড।

এনামস
UNKNOWN_RESULT এই ডিফল্ট মান সেট করবেন না!
ACKNOWLEDGED ক্যাপচারের অনুরোধ করা হয়েছে এবং ক্যাপচার সফল বা প্রত্যাখ্যান করা হয়েছে কিনা তা নির্ধারণ করতে ইন্টিগ্রেটর অতিরিক্ত পদক্ষেপ নেবে। একবার ইন্টিগ্রেটর ক্যাপচারের ফলাফল জানলে, তারা captureResultNotification এপিআই কল করে ফলাফল সম্পর্কে Google-কে অবহিত করবে।
ACCOUNT_CLOSED

ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্টটি বন্ধ করা হয়েছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।

ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER

ইন্টিগ্রেটরের সাথে ব্যবহারকারীর অ্যাকাউন্ট বন্ধ করা হয়েছে, সন্দেহজনক অ্যাকাউন্ট দখল করা হয়েছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।

ACCOUNT_ON_HOLD অ্যাকাউন্ট হোল্ডে আছে।
ACCOUNT_CLOSED_FRAUD

ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্ট প্রতারণার কারণে বন্ধ করা হয়েছে।

এই মান ফিরিয়ে দিলে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী আবার অ্যাসোসিয়েশন প্রবাহের মধ্য দিয়ে গিয়ে একটি নতুন উপকরণ যোগ করতে বাধ্য হবে।