Method: associateAccount

Google যন্ত্রের সাথে পেমেন্ট প্রসেসরের সাথে গ্রাহকের অ্যাকাউন্ট যুক্ত করে।

ইন্টিগ্রেটর ব্যবহারকারীকে প্রমাণীকরণ করার পরে অ্যাকাউন্ট অ্যাসোসিয়েশন ঘটে। অ্যাসোসিয়েশন একটি সার্ভার-টু-সার্ভার কলের মাধ্যমে ঘটে যাতে সংশ্লিষ্ট প্রমাণীকরণ প্রবাহের requestId থাকে ( authenticationRequestId ), একটি associationId এবং একটি googlePaymentToken (GPT)। অর্থপ্রদানের প্রসেসরকে প্রমাণীকরণের জন্য গ্রাহকের অ্যাকাউন্টে associationId এবং googlePaymentToken সংযুক্ত করতে হবে। GPT অর্থপ্রদান শুরু করতে ব্যবহৃত হয়। প্রমাণীকরণের জন্য অ্যাকাউন্ট সনাক্ত করতে পুনরায় প্রমাণীকরণ কলের সময় associationId ব্যবহার করা হয়।

যদি Google একটি associationId বা একটি googlePaymentToken পাঠায় যা ইন্টিগ্রেটর ইতিমধ্যেই একটি ভিন্ন অ্যাসোসিয়েশনের সময় দেখেছে, তাহলে এটি একটি ত্রুটি নিক্ষেপ করে৷

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

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


{
  "requestHeader": {
    "protocolVersion": {
      "major": 1,
      "minor": 0,
      "revision": 0
    },
    "requestId": "cmVxdWVzdDE",
    "requestTimestamp": "1481899949606"
 },
 "googlePaymentToken": "ZXhhbXBsZSB1bmlxdWUgcGF5bWVudCB0b2tlbiB2YWx1ZQ__",
 "authenticationRequestId": "bnAxdWTydDX==",
 "associationId": "LmddbXBsZSByZWZlcmVuY2UgdG9rZW4gdmFsdWU_",
 "provideUserInformation": true
}

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


  {
  "responseHeader": {
    "responseTimestamp": "1481899949611"
  },
  "paymentIntegratorAssociateAccountId": "xx77df88934hfd",
  "accountId": "1234-5678-91",
  "accountNickname": "***-91",
  "tokenExpirationTime": "0",
  "userInformation": {
    "name": "Example Customer",
    "addressLine": ["123 Main St"],
    "localityName": "Springfield",
    "administrativeAreaName": "CO",
    "postalCodeNumber": "80309",
    "countryCode": "US"
  },
  "result": "SUCCESS"
}

HTTP অনুরোধ

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

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

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

JSON প্রতিনিধিত্ব
{
  "requestHeader": {
    object (RequestHeader)
  },
  "provideUserInformation": boolean,
  "googlePaymentToken": string,
  "associationId": string,

  // Union field account_verification can be only one of the following:
  "authenticationRequestId": string,
  "otpVerification": {
    object (OtpVerification)
  }
  // End of list of possible types for union field account_verification.
}
ক্ষেত্র
requestHeader

object ( RequestHeader )

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

provideUserInformation

boolean

প্রয়োজনীয় : যদি আমরা ইন্টিগ্রেটরকে এই অ্যাকাউন্টের সাথে যুক্ত ঠিকানা প্রদান করতে চাই তবে সত্য।

googlePaymentToken

string

প্রয়োজনীয় : পেমেন্ট প্রসেসরের সাথে কেনাকাটা শুরু করতে Google যে টোকেন ব্যবহার করবে।

এটি একটি স্ট্রিং যার সর্বোচ্চ দৈর্ঘ্য 100টি অক্ষর।

associationId

string

প্রয়োজনীয় : এই সমিতির শনাক্তকারী। এই শনাক্তকারী Google দ্বারা তৈরি করা হয়েছে এবং কোন অ্যাকাউন্টটি প্রমাণীকরণ করা উচিত তা সনাক্ত করতে পুনরায় প্রমাণীকরণ প্রবাহের সময় পাঠানো হয়৷

এটি একটি স্ট্রিং যার সর্বোচ্চ দৈর্ঘ্য 100টি অক্ষর।

ইউনিয়ন ফিল্ড account_verification

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

authenticationRequestId

string

ঐচ্ছিক : এই কলের আগে প্রমাণীকরণের অনুরোধের requestId । এই শনাক্তকারীটি প্রমাণীকরণ প্রবাহের সময় Google দ্বারা তৈরি করা হয়েছিল৷ এটি শুধুমাত্র তখনই উপস্থিত থাকে যখন ব্যবহারকারী Android অ্যাপ প্রমাণীকরণ, ওয়েব প্রমাণীকরণ, অথবা একটি অ্যাসিঙ্ক্রোনাস প্রমাণীকরণ পদ্ধতি যা authenticationResultNotification ব্যবহার করে।

otpVerification

object ( OtpVerification )

ঐচ্ছিক : sendOtp থেকে উৎপন্ন একটি OTP যাচাই করার জন্য প্রয়োজনীয় ডেটা। এটি শুধুমাত্র উপস্থিত থাকে যদি ব্যবহারকারী sendOtp পাথ দিয়ে যান।

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

সহযোগী অ্যাকাউন্ট পদ্ধতির জন্য প্রতিক্রিয়া বস্তু।

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

JSON প্রতিনিধিত্ব
{
  "responseHeader": {
    object (ResponseHeader)
  },
  "paymentIntegratorAssociateAccountId": string,
  "tokenExpirationTime": string,
  "accountId": string,
  "userMessage": string,
  "userInformation": {
    object (UserInformation)
  },
  "result": enum (AssociateAccountResultCode),

  // Union field account_names can be only one of the following:
  "accountNickname": string,
  "fullAccountNickname": string
  // End of list of possible types for union field account_names.
}
ক্ষেত্র
responseHeader

object ( ResponseHeader )

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

paymentIntegratorAssociateAccountId

string

প্রয়োজনীয় : এই শনাক্তকারীটি ইন্টিগ্রেটরের জন্য নির্দিষ্ট এবং ইন্টিগ্রেটর দ্বারা তৈরি করা হয়। এটি শুধুমাত্র এই কল সনাক্ত করার জন্য ডিবাগিং উদ্দেশ্যে ব্যবহার করা হয়। এটি সেই শনাক্তকারী যা ইন্টিগ্রেটর এই কলটি জানে।

tokenExpirationTime

string ( int64 format)

ঐচ্ছিক : টোকেনের মেয়াদ শেষ হওয়ার পর থেকে মিলিসেকেন্ড। টোকেনের মেয়াদ শেষ না হওয়ার সংকেত দিতে 0 ব্যবহার করুন।

accountId

string

প্রয়োজনীয় : ব্যবহারকারীর সংহতকারীর সাথে থাকা অ্যাকাউন্ট আইডি। এটি অ্যাকাউন্টের পুনঃব্যবহার এবং অ্যাকাউন্ট সম্পর্ক এবং গ্রাহকদের সমস্যা নির্ণয় করতে সহায়তা করার জন্য Google গ্রাহক অপারেশন এজেন্টদের বোঝার জন্য Google ঝুঁকির জন্য ব্যবহার করা হয়। এই শনাক্তকারীটি ব্যবহারকারীকে শনাক্ত করা উচিত (উদাহরণস্বরূপ ব্যবহারকারী এই আইডিটি জানেন কারণ এটি তাদের বিবৃতিতে প্রদর্শিত হয় বা তারা অ্যাকাউন্টে লগ ইন করার পরে ওয়েবসাইটে উপস্থিত হয়)।

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

userMessage
(deprecated)

string

অপ্রচলিত : ফলাফলের একটি বিবরণ ব্যবহারকারীকে দেখানো হবে যদি ফলাফল SUCCESS না হয়।

userInformation

object ( UserInformation )

প্রয়োজনীয় : ব্যবহারকারীর তথ্য যা ইন্টিগ্রেটর জানে এবং এই গ্রাহক সম্পর্কে Google এর সাথে শেয়ার করবে৷ ঝুঁকির তথ্য এবং ঠিকানা পূর্ব জনসংখ্যার জন্য ব্যবহৃত হয়।

result

enum ( AssociateAccountResultCode )

প্রয়োজনীয় : এই সমিতির ফলাফল.

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

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

accountNickname

string

ঐচ্ছিক : স্ট্রিং যার মাধ্যমে ব্যবহারকারী প্রদর্শনের উদ্দেশ্যে এই অ্যাকাউন্টটি জানেন। এটি অ্যাকাউন্ট ডাকনামের একটি প্রত্যয়। উদাহরণস্বরূপ একটি ফোন নম্বরের শেষ চারটি সংখ্যা। গুগল ইউজার ইন্টারফেসে ইঙ্গিত করবে যে এটি শুধুমাত্র ডাকনামের একটি প্রত্যয়।

এই মানটি ব্যবহারকারীকে অর্থপ্রদানের পদ্ধতির মধ্যে পার্থক্য করার অনুমতি দেওয়ার জন্য ক্রয় প্রবাহের মতো UI-তে প্রদর্শিত হবে।

fullAccountNickname

string

ঐচ্ছিক : স্ট্রিং যার মাধ্যমে ব্যবহারকারী প্রদর্শনের উদ্দেশ্যে এই অ্যাকাউন্টটি জানেন। accountNickname এর বিপরীতে এটি সম্পূর্ণ অ্যাকাউন্ট ডাকনাম। উদাহরণস্বরূপ একটি ফোন নম্বরের জন্য 56565-56501 বা একটি ইমেল পরিচয়ের জন্য sally@sample-email.com

এই মানটি ব্যবহারকারীকে অর্থপ্রদানের পদ্ধতির মধ্যে পার্থক্য করার অনুমতি দেওয়ার জন্য ক্রয় প্রবাহের মতো UI-তে প্রদর্শিত হবে।

ব্যবহারকারীর তথ্য

একটি ব্যবহারকারী সম্পর্কে তথ্য ধারণ করা কাঠামো.

JSON প্রতিনিধিত্ব
{
  "name": string,
  "addressLine": [
    string
  ],
  "localityName": string,
  "administrativeAreaName": string,
  "postalCodeNumber": string,
  "countryCode": string,
  "phone": string,
  "emailAddress": string
}
ক্ষেত্র
name

string

ঐচ্ছিক : গ্রাহকের পুরো নাম।

addressLine[]

string

ঐচ্ছিক : এটি অসংগঠিত ঠিকানা পাঠ্য ধারণ করে।

localityName

string

ঐচ্ছিক : এটি একটি অস্পষ্ট শব্দ, কিন্তু এটি সাধারণত একটি ঠিকানার শহর/শহরের অংশকে বোঝায়। বিশ্বের এমন অঞ্চলে যেখানে লোকালয়টি ভালভাবে সংজ্ঞায়িত করা হয় না বা এই কাঠামোর সাথে ভালভাবে ফিট করে না (উদাহরণস্বরূপ, জাপান এবং চীন), localityName খালি রাখুন এবং addressLine ব্যবহার করুন।

উদাহরণ: ইউএস সিটি, আইটি কমিউন, ইউকে পোস্ট টাউন।

administrativeAreaName

string

ঐচ্ছিক : এই দেশের শীর্ষ-স্তরের প্রশাসনিক উপবিভাগ" উদাহরণ: মার্কিন রাজ্য, আইটি অঞ্চল, সিএন প্রদেশ, জেপি প্রিফেকচার।"

postalCodeNumber

string

ঐচ্ছিক : নাম থাকা সত্ত্বেও, postalCodeNumber মানগুলি প্রায়শই আলফানিউমেরিক হয়৷ উদাহরণ: "94043", "SW1W", "SW1W 9TQ"।

countryCode

string

ঐচ্ছিক : গ্রাহকের ঠিকানা দেশের কোড, ISO-3166-1 আলফা-2 হতে পারে।

phone

string

ঐচ্ছিক : গ্রাহকের ফোন নম্বর।

emailAddress

string

ঐচ্ছিক : গ্রাহকের ইমেল ঠিকানা।

অ্যাসোসিয়েট অ্যাকাউন্ট রেজাল্টকোড

সহযোগী অ্যাকাউন্টের জন্য ফলাফল কোড.

Enums
UNKNOWN_RESULT এই ডিফল্ট মান সেট করবেন না!
SUCCESS সফল সমিতি।
USER_AUTHENTICATION_FAILED যদিও অ্যাকাউন্ট প্রমাণীকরণ বান্ডিল ফেরত দেওয়া হয়েছিল, ব্যবহারকারীর প্রমাণীকরণ ব্যর্থ হয়েছে৷
NOT_ELIGIBLE ব্যবহারকারীর অ্যাকাউন্ট এই পরিষেবার জন্য যোগ্য নয়।
OTP_NOT_MATCHED ইন্টিগ্রেটর যা পাঠিয়েছে তার সাথে ওটিপি মেলেনি।
OTP_ALREADY_USED ওটিপি আগেই ব্যবহার করা হয়েছে।
OTP_LIMIT_REACHED ব্যবহারকারী অনেকগুলি ওটিপি যাচাই করার অনুরোধ করেছেন বা চেষ্টা করেছেন৷
OTP_EXPIRED OTP মেয়াদ শেষ হয়ে গেছে।