Method: captureResultNotification

একটি capture বা asynchronousCapture পদ্ধতি কল করার পরে একটি ক্যাপচারের ফলাফল সম্পর্কে Google-কে অবহিত করুন৷

captureResult মান এই captureRequestId এর জন্য অদম্য, তাই এই পদ্ধতিতে একটি পরবর্তী কল দ্বারা এর মান পরিবর্তন করা যাবে না।

অনুরোধটি প্রক্রিয়া করার সময় যদি এন্ডপয়েন্ট কোনো ত্রুটির সম্মুখীন হয়, তাহলে এই এন্ডপয়েন্ট থেকে পাওয়া প্রতিক্রিয়া হবে ErrorResponse টাইপ।

যদি এই পদ্ধতিটি HTTP 200 ফেরত না দেয় তবে এই প্রশ্নের উত্তরগুলি খালি হতে পারে৷ প্রতিক্রিয়ার অংশটি এমন পরিস্থিতিতে খালি থাকে যেখানে একটি স্পষ্ট বিবরণ সহ একটি ErrorResponse আক্রমণকারীকে অন্যান্য ইন্টিগ্রেটরের পেমেন্ট ইন্টিগ্রেটর অ্যাকাউন্ট শনাক্তকারী বুঝতে সাহায্য করতে ব্যবহার করা যেতে পারে৷ এই পরিস্থিতিতে, যেখানে হয় সাইনিং কী মেলে না, পেমেন্ট ইন্টিগ্রেটর শনাক্তকারী পাওয়া যায়নি, বা এনক্রিপশন কী অজানা ছিল, এই পদ্ধতিটি একটি খালি বডি সহ HTTP 404 ফিরিয়ে দেবে। যদি অনুরোধ স্বাক্ষর যাচাই করা যায়, ত্রুটি সংক্রান্ত অতিরিক্ত তথ্য প্রতিক্রিয়া বডিতে ফেরত দেওয়া হবে।

একটি উদাহরণ অনুরোধ এর মত দেখায়:


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 1,
      "revision": 0
    },
    "requestId": "KcgwSKrV76eVNDUbsZ4UA3",
    "requestTimestamp": "1481852928293"
  },
  "paymentIntegratorAccountId": "InvisiCashUSA_USD",
  "captureRequestId": "awNaC510cefae3IJdNEvW2",
  "captureResult": {
    "captureResultCode": "SUCCESS"
  }
}

একটি উদাহরণ প্রতিক্রিয়া মত দেখায়:


{
  "responseHeader": {
    "responseTimestamp": "1481852928324"
  },
  "result": "SUCCESS"
}

HTTP অনুরোধ

POST https://vgw.googleapis.com/secure-serving/gsp/v1/captureResultNotification/ :PIAID

শরীরের অনুরোধ

অনুরোধের অংশে নিম্নলিখিত কাঠামো সহ ডেটা রয়েছে:

JSON প্রতিনিধিত্ব
{
  "requestHeader": {
    object (RequestHeader)
  },
  "paymentIntegratorAccountId": string,
  "captureRequestId": string,
  "captureResult": {
    object (CaptureResult)
  },
  "paymentIntegratorTransactionId": string
}
ক্ষেত্র
requestHeader

object ( RequestHeader )

প্রয়োজনীয় : সমস্ত অনুরোধের জন্য সাধারণ শিরোনাম।

paymentIntegratorAccountId

string

প্রয়োজনীয় : পেমেন্ট ইন্টিগ্রেটর অ্যাকাউন্ট শনাক্তকারী যার উপর ক্যাপচার ঘটেছে।

captureRequestId

string

প্রয়োজনীয় : এই লেনদেনের জন্য একটি অনন্য শনাক্তকারী। এটি capture বা asynchronousCapture কলের সময় Google দ্বারা তৈরি করা requestId যার সাথে এই অনুরোধটি যুক্ত৷

এটি সর্বাধিক 100 অক্ষরের দৈর্ঘ্যের একটি স্ট্রিং এবং এতে শুধুমাত্র "az", "AZ", "0-9", ":", "-", এবং "_" অক্ষর রয়েছে।

captureResult

object ( CaptureResult )

প্রয়োজনীয় : এই ক্যাপচারের ফলাফল।

paymentIntegratorTransactionId

string

ঐচ্ছিক : এই শনাক্তকারীটি ইন্টিগ্রেটরের জন্য নির্দিষ্ট এবং ইন্টিগ্রেটর দ্বারা তৈরি করা হয়। এটি সেই শনাক্তকারী যার দ্বারা ইন্টিগ্রেটর এই লেনদেনটি জানে৷

সুবিধার জন্য, এই শনাক্তকারীকে রেমিটেন্সের বিবরণের সাথে অন্তর্ভুক্ত করা হয়েছে

প্রতিক্রিয়া শরীর

captureResultNotification পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।

সফল হলে, প্রতিক্রিয়া বডিতে নিম্নলিখিত কাঠামোর সাথে ডেটা থাকে:

JSON প্রতিনিধিত্ব
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "result": enum (CaptureResultNotificationResultCode)
}
ক্ষেত্র
responseHeader

object ( ResponseHeader )

প্রয়োজনীয় : সমস্ত প্রতিক্রিয়ার জন্য সাধারণ শিরোনাম।

result

enum ( CaptureResultNotificationResultCode )

প্রয়োজনীয় : এই কলের ফলাফল।

ক্যাপচার রেজাল্ট

একটি ক্যাপচার চূড়ান্ত ফলাফল সম্পর্কে তথ্য.

JSON প্রতিনিধিত্ব
{
  "captureResultCode": enum (CaptureResultCode),
  "rawResult": {
    object (RawResult)
  },

  // Union field FailureDetail can be only one of the following:
  "transactionMaxLimit": string,
  "transactionMinLimit": string,
  "currentBalance": string
  // End of list of possible types for union field FailureDetail.
}
ক্ষেত্র
captureResultCode

enum ( CaptureResultCode )

প্রয়োজনীয় : এই ক্যাপচারের ফলাফল কোড।

rawResult

object ( RawResult )

ঐচ্ছিক : এই ক্যাপচারের কাঁচা ফলাফল। Google এর ঝুঁকিপূর্ণ ইঞ্জিন এবং বিশ্লেষণে সহায়তা করতে ব্যবহৃত হয়। ডিক্লাইন কোড-ম্যাপিং পরিস্থিতিতে, ডেটা কখনও কখনও হারিয়ে যায়। ইন্টিগ্রেটর গুগলকে একটি কাঁচা কোড দিতে বেছে নিতে পারে। উদাহরণস্বরূপ, একটি ক্রেডিট কার্ড গেটওয়ে (একীকরণকারী) এই ক্ষেত্রটি ব্যবহার করতে পারে Google এর সাথে যোগাযোগ করার জন্য সঠিক ডিক্লাইন কোড যা VISA নেটওয়ার্ক থেকে প্রাপ্ত হয়েছিল। সেক্ষেত্রে, scope হবে "ভিসা" এবং VISA নেটওয়ার্ক ফেরত দেওয়া যাই হোক না কেন rawCode হবে৷

result SUCCESS না হলে এই মানটি প্রয়োজন

ইউনিয়ন ক্ষেত্রের FailureDetail

FailureDetail নিম্নলিখিতগুলির মধ্যে একটি হতে পারে:

transactionMaxLimit

string ( Int64Value format)

ঐচ্ছিক : যদি captureResultCode হয় CHARGE_EXCEEDS_TRANSACTION_LIMIT তাহলে এটি সর্বোচ্চ অনুমোদিত লেনদেনের মান। এটি কাঠামোগত, ব্যবহারকারীর মুখোমুখি মেসেজিং এবং হ্রাস হার বিশ্লেষণের জন্য ব্যবহৃত হয়।

এই পরিমাণটি আসল capture বা asynchronousCapture পদ্ধতি কলের মতো একই currencyCode মাইক্রো

transactionMinLimit

string ( Int64Value format)

ঐচ্ছিক : যদি captureResultCode CHARGE_UNDER_TRANSACTION_LIMIT হয় তাহলে এটি হল ন্যূনতম অনুমোদিত লেনদেনের মান। এটি কাঠামোগত, ব্যবহারকারীর মুখোমুখি মেসেজিং এবং হ্রাস হার বিশ্লেষণের জন্য ব্যবহৃত হয়।

এই পরিমাণটি আসল capture বা asynchronousCapture পদ্ধতি কলের মতো একই currencyCode মাইক্রো

currentBalance

string ( Int64Value format)

ঐচ্ছিক : যদি ফলাফল INSUFFICIENT_FUNDS হয়, তাহলে এটি ব্যবহারকারীর অ্যাকাউন্টে বর্তমান উপলব্ধ ব্যালেন্স ( মাইক্রোতে )। এটি কাঠামোগত, ব্যবহারকারীর মুখোমুখি মেসেজিংয়ের জন্য ব্যবহৃত হয়।

এই মানটি অনুরোধে currencyCode মতো একই মুদ্রায় হতে হবে।

ক্যাপচার রেজাল্টকোড

একটি ক্যাপচার জন্য ফলাফল কোড.

এনামস
UNKNOWN_RESULT এই ডিফল্ট মান সেট করবেন না!
SUCCESS ক্যাপচার সফল।
CHARGE_UNDER_TRANSACTION_LIMIT অনুরোধকৃত ক্যাপচারের পরিমাণ ইন্টিগ্রেটরের ন্যূনতম প্রতি-লেনদেনের পরিমাণ পূরণ করে না। যদি এই কোডটি ব্যবহার করা হয়, ব্যবহারকারীর বার্তা প্রেরণের উদ্দেশ্যে ন্যূনতম লেনদেনের পরিমাণ সহ transactionMinLimit ক্ষেত্রটি পূরণ করুন৷
CHARGE_EXCEEDS_TRANSACTION_LIMIT অনুরোধকৃত ক্যাপচারের পরিমাণ ইন্টিগ্রেটরের সর্বোচ্চ প্রতি-লেনদেনের সীমা ছাড়িয়ে গেছে। যদি এই কোডটি ব্যবহার করা হয়, ব্যবহারকারীর বার্তা পাঠানোর উদ্দেশ্যে লেনদেনের সীমা সহ transactionMaxLimit ক্ষেত্রটি পূরণ করুন৷
CHARGE_EXCEEDS_DAILY_LIMIT ব্যবহারকারীর অ্যাকাউন্টটি এখনই কেনাকাটার জন্য ব্যবহার করা যাবে না কারণ এটি তার দৈনিক সীমা অতিক্রম করেছে৷
CHARGE_EXCEEDS_MONTHLY_LIMIT ব্যবহারকারীর অ্যাকাউন্টটি এখনই কেনাকাটার জন্য ব্যবহার করা যাবে না কারণ এটি তার মাসিক সীমা অতিক্রম করেছে৷
INSUFFICIENT_FUNDS এই ক্যাপচারের গ্যারান্টি দেওয়ার জন্য এই অ্যাকাউন্টে পর্যাপ্ত তহবিল নেই।
SUSPECTED_FRAUD ইন্টিগ্রেটরের সন্দেহ করার কারণ আছে যে এই লেনদেনটি প্রতারণামূলক।
ACCOUNT_CLOSED ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্ট বন্ধ করা হয়েছে। এই রিটার্ন মানের কারণে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী একটি নতুন উপকরণ যোগ করতে বাধ্য করা হবে.
ACCOUNT_CLOSED_ACCOUNT_TAKEN_OVER ইন্টিগ্রেটরের সাথে ব্যবহারকারীর অ্যাকাউন্ট বন্ধ করা হয়েছে, সন্দেহজনক অ্যাকাউন্ট দখল করা হয়েছে। এই রিটার্ন মানের কারণে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী একটি নতুন উপকরণ যোগ করতে বাধ্য করা হবে.
ACCOUNT_CLOSED_FRAUD ইন্টিগ্রেটরের সাথে থাকা ব্যবহারকারীর অ্যাকাউন্ট প্রতারণার কারণে বন্ধ করা হয়েছে। এই রিটার্ন মানের কারণে ব্যবহারকারীর যন্ত্র Google-এর সাথে বন্ধ হয়ে যাবে। ব্যবহারকারী একটি নতুন উপকরণ যোগ করতে বাধ্য করা হবে.
ACCOUNT_ON_HOLD ব্যবহারকারীর অ্যাকাউন্ট হোল্ডে রয়েছে।
OTP_NOT_MATCHED ইন্টিগ্রেটর যা পাঠিয়েছে তার সাথে ওটিপি মেলেনি।
OTP_ALREADY_USED ওটিপি আগে থেকেই ব্যবহার করা হয়েছে।
CAPTURE_REQUEST_EXPIRED ব্যবহারকারীর তহবিল ক্যাপচার করতে ইন্টিগ্রেটরের পক্ষে খুব বেশি সময় লেগেছে। Google এই পতনকে একটি চূড়ান্ত অবস্থা হিসাবে বিবেচনা করবে, তাই ইন্টিগ্রেটরকে অবশ্যই নিশ্চিত করতে হবে যে ব্যবহারকারীর তহবিল পরে ক্যাপচার করা না হয় বা ক্যাপচার সফলভাবে শেষ হলে ব্যবহারকারী স্বয়ংক্রিয়ভাবে ফেরত পান।
INVALID_PIN ব্যবহারকারী একটি অবৈধ পিন সরবরাহ করেছেন৷
OS_LOCK_FAILED এই অর্থপ্রদানের প্রবাহের জন্য একটি OS লক চ্যালেঞ্জ প্রয়োজন এবং ব্যবহারকারী ডিভাইসটি আনলক করতে ব্যর্থ হয়েছে৷
PIN_ENTRY_ATTEMPTS_EXHAUSTED এই অর্থপ্রদানের প্রবাহের জন্য ব্যবহারকারীর পিন এন্ট্রি প্রয়োজন। ব্যবহারকারী পিন এন্ট্রি যথেষ্ট বার ব্যর্থ হয়েছে যে তাদের পুনরায় চেষ্টা ফুরিয়ে গেছে।
USER_EXITED_PAYMENT_FLOW ব্যবহারকারী পুরো অর্থপ্রদানের প্রচেষ্টা বাতিল করেছে (হয় OS লক বা পিন এন্ট্রি স্ক্রিনে)।
MONTHLY_FREQUENCY_LIMIT_EXCEEDED ব্যবহারকারীর অ্যাকাউন্টটি এখনই কেনাকাটার জন্য ব্যবহার করা যাবে না কারণ এটি তার মাসিক লেনদেনের প্রচেষ্টার সীমা অতিক্রম করেছে৷
DECLINED_BY_ISSUER

এই প্রত্যাখ্যান কোডটি কখনই স্থির অবস্থায় ব্যবহার করা উচিত নয়। যখন ইন্টিগ্রেটর ব্যবহারকারীর যন্ত্রের অন্তর্নিহিত ইস্যুকারীর কাছ থেকে একটি অজানা ডিক্লাইন কোডের সম্মুখীন হয় তখন এটি ব্যবহার করার জন্য একটি অস্থায়ী ক্যাচ-অল কোড হিসাবে বোঝানো হয়। এই ফলাফল কোডটি ব্যবহার করা যেতে পারে যখন ইন্টিগ্রেটর ব্যবহার করার জন্য আরও উপযুক্ত ফলাফল কোড নির্ধারণ করে বা এই স্পেসিফিকেশনে একটি নতুন ফলাফল কোড যোগ করার জন্য আলোচনা করে।

গুরুত্বপূর্ণভাবে, এই পতন কোডটি একটি বাস্তব পতন। যতদূর গুগল উদ্বিগ্ন এটি একটি স্থায়ী পতন। যদি ইন্টিগ্রেটর এটি ফেরত দেয়, তাহলে ইস্যুকারীর কোডটি আসলে কী বোঝায় তা ট্র্যাক করা এবং ব্যবহারকারীকে ফেরত দেওয়া যদি কোডটি আসলে SUCCESS বোঝায় তা তাদের উপর নির্ভর করে।

যদি এই ডিক্লাইন কোডটি একই অন্তর্নিহিত ডিক্লাইন কোডের জন্য নির্দিষ্ট সংখ্যক দিনের বেশি সময় ধরে ব্যবহার করা হয়, তাহলে Google এটিকে একটি বাগ হিসাবে বিবেচনা করবে এবং বাগ ফিক্স করার বিষয়ে যেকোন চুক্তিভিত্তিক শাস্তির ক্ষেত্রে সেই অনুযায়ী ট্র্যাক করবে।

RawResult

কাঁচা ফলাফল বস্তু.

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

string

ঐচ্ছিক : rawCode এর স্কোপ, খালি হতে পারে।

rawCode

string

প্রয়োজনীয় : ইন্টিগ্রেটর বা এর মধ্যে থাকা সাবসিস্টেম থেকে কাঁচা কোড।

CaptureResultNotificationResultCode

captureResultNotification পদ্ধতির জন্য ফলাফল কোড।

এনামস
UNKNOWN_RESULT এই ডিফল্ট মান সেট করবেন না!
SUCCESS ক্যাপচার ফলাফল বিজ্ঞপ্তি সফলভাবে প্রক্রিয়া করা হয়েছে.