উত্তর অবজেক্ট

এই রেফারেন্সে আপনার ওয়েবসাইটের সাথে ব্যবহার করার জন্য Google Pay API রেসপন্স অবজেক্টের বিকল্পগুলি বর্ণনা করা হয়েছে। রেসপন্স অবজেক্ট হল এমন অবজেক্ট যা Google Pay API ক্লায়েন্ট পদ্ধতি দ্বারা ফেরত পাঠানো হয়।

IsReadyToPayResponse

এই অবজেক্টটি কোনও ওয়েবসাইট ভিজিটরের পেমেন্টের তথ্য প্রদান করার ক্ষমতা সম্পর্কে তথ্য প্রদান করে সেই সাইটে যা এটির জন্য অনুরোধ করে।

প্রপার্টি ধরন সবসময় থাকে বিবরণ
result বুলিয়ান হ্যাঁ বর্তমান ভিজিটর সাইটকে পেমেন্ট সংক্রান্ত তথ্য দিতে পারবেন, যদি সাইট তা চায়। কোনও ভিজিটর পেমেন্ট করতে পারবেন কিনা তা নির্ভর করে তার ওয়েব ব্রাউজার নির্দিষ্ট পেমেন্ট পদ্ধতির জন্য প্রয়োজনীয় কম্পোনেন্ট দেখাতে পারছে কিনা তার উপর। এর মধ্যে Google অ্যাকাউন্টে লগ-ইন করা এবং পেমেন্ট পদ্ধতি প্রদান করার মতো বিষয় অন্তর্ভুক্ত।
paymentMethodPresent বুলিয়ান না

true হলে, ভিজিটরের কাছে এক বা একাধিক পেমেন্ট পদ্ধতি আছে, যেমনটি প্রদান করা IsReadyToPayRequest-এর allowedPaymentMethods প্রপার্টিতে উল্লেখ করা আছে।

শুধুমাত্র তখনই থাকে যখন existingPaymentMethodRequired-কে true-এ সেট করা হয় IsReadyToPayRequest-এ।

PaymentsClient-এর environment প্রপার্টি TEST দিয়ে শুরু করা হলে, পেমেন্ট পদ্ধতি সবসময় উপস্থিত বলে বিবেচনা করা হয়।

উদাহরণ

নিম্নলিখিত উদাহরণে দেখানো হয়েছে যে বর্তমান ভিজিটর কখন পেমেন্টের তথ্য প্রদান করতে পারবেন যে সাইট এটির জন্য অনুরোধ করে।

{
  "result": true
}

PaymentData

এটি হল একটি রেসপন্স অবজেক্ট যা একজন পেমেন্টকারী পেমেন্ট অনুমোদন করার পরে Google-এর মাধ্যমে ফেরত দেওয়া হয়।

PaymentDataRequest.PaymentDataRequest.PaymentDataRequest.
প্রপার্টি ধরন সবসময় থাকে বিবরণ
apiVersion নম্বর হ্যাঁ API-এর প্রধান ভার্সন। উত্তরে দেওয়া ভ্যালু PaymentDataRequest-এ দেওয়া ভ্যালুর সাথে মেলে।
apiVersionMinor নম্বর হ্যাঁ API-এর মাইনর ভার্সন। উত্তরে দেওয়া ভ্যালু PaymentDataRequest-এ দেওয়া ভ্যালুর সাথে মেলে।
paymentMethodData PaymentMethodData হ্যাঁ বেছে নেওয়া পেমেন্ট পদ্ধতি সম্পর্কিত ডেটা।
email স্ট্রিং না ইমেল আইডি, যদি emailRequired-কে true হিসেবে সেট করা হয় তাহলে PaymentDataRequest-এ। অন্য কোনও অনুরোধে প্রপার্টি true-এ সেট করা থাকলে কোনও প্রভাব পড়ে না।
shippingAddress ঠিকানা না শিপিং অ্যাড্রেস, যদি shippingAddressRequired-কে true হিসেবে সেট করা হয় PaymentDataRequest-এ।

উদাহরণ

Google Pay API ভার্সন ২.০-এর জন্য এই উদাহরণস্বরূপ উত্তর Google Pay পেমেন্ট শিটে বেছে নেওয়া CARD পেমেন্ট পদ্ধতি দেখায়। example গেটওয়ের জন্য পেমেন্ট পদ্ধতির টোকেন তৈরি করা হয়েছে।

{
  "apiVersion": 2,
  "apiVersionMinor": 0,
  "paymentMethodData": {
    "type": "CARD",
    "description": "Visa •••• 1234",
    "info": {
      "cardNetwork": "VISA",
      "cardDetails": "1234",
      "cardFundingSource": "CREDIT"
    },
    "tokenizationData": {
      "type": "PAYMENT_GATEWAY",
      "token": "examplePaymentMethodToken"
    }
  }
}

IntermediatePaymentData

পেমেন্ট শিটে শিপিং অ্যাড্রেস বা শিপিং বিকল্প পরিবর্তন করা হলে, Google Pay API onPaymentDataChanged() ইনপুট এই অবজেক্ট ফিরিয়ে দেয়।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
callbackTrigger স্ট্রিং ঐচ্ছিক

পেমেন্ট ডেটা কলব্যাক কেন ইনভোক করা হয়েছে তার কারণ বর্ণনা করে।

  • INITIALIZE
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION
  • PAYMENT_METHOD
  • OFFER
offerData OfferData ঐচ্ছিক ব্যবহারকারীর দেওয়া প্রোমোশনাল কোড।
shippingAddress IntermediateAddress ঐচ্ছিক পেমেন্ট শিটে বেছে নেওয়া ঠিকানা।
shippingOptionData SelectionOptionData ঐচ্ছিক পেমেন্ট শিটে বেছে নেওয়া শিপিং বিকল্প।
paymentMethodData IntermediatePaymentMethodData ঐচ্ছিক পেমেন্ট শিটে বেছে নেওয়া পেমেন্ট পদ্ধতির ডেটা।

উদাহরণ

এই উদাহরণে শিপিং অ্যাড্রেস পরিবর্তনের জন্য Google Pay API থেকে ফেরত আসা ইন্টারমিডিয়েট পেলোড দেখানো হয়েছে।

{
  "callbackTrigger": "SHIPPING_ADDRESS",
  "offerData": {
    "redemptionCode": "exampleCode"
  },
  "shippingAddress": {
    "administrativeArea": "NY",
    "countryCode": "US",
    "locality": "New York",
    "postalCode": "10011"
  },
  "shippingOptionData": {
    "id": "shipping-001"
  }
}

পেমেন্ট পদ্ধতি পরিবর্তন করা হলে যে ইন্টারমিডিয়েট পেলোড রিটার্ন করা হয়, এই উদাহরণে তা দেখানো হয়েছে।

{
  "callbackTrigger": "PAYMENT_METHOD",
  "paymentMethodData": {
    "type": "CARD",
    "info": {
      "cardNetwork": "VISA",
      "cardFundingSource": "CREDIT",
      "billingAddress": {
        "administrativeArea": "NY",
        "countryCode": "US",
        "locality": "New York",
        "postalCode": "10011"
      }
    }
  }
}

PaymentMethodData

এই অবজেক্ট বেছে নেওয়া পেমেন্ট পদ্ধতির জন্য ডেটা প্রদান করে।

প্রপার্টি ধরন সবসময় থাকে বিবরণ
type স্ট্রিং হ্যাঁ PaymentMethod type Google Pay পেমেন্ট শিটে বেছে নেওয়া হয়েছে।
description স্ট্রিং হ্যাঁ

এই ট্রানজ্যাকশনের জন্য ফান্ড প্রদানকারী পেমেন্ট পদ্ধতি বর্ণনা করার জন্য ব্যবহারকারী নিজে ইন্টার‌্যাক্ট করতে পারেন এমন মেসেজ।

info অবজেক্ট হ্যাঁ এই প্রপার্টির ভ্যালু, পেমেন্ট পদ্ধতি type-এর রিটার্ন করা ভ্যালুর উপর নির্ভর করে। CARD-এর জন্য, CardInfo দেখুন।
tokenizationData PaymentMethodTokenizationData না বেছে নেওয়া পেমেন্ট পদ্ধতির জন্য পেমেন্ট টোকেনাইজেশন ডেটা।

উদাহরণ

এই উদাহরণ থেকে বোঝা যায় যে Google Pay পেমেন্ট শিটে বেছে নেওয়া CARD পেমেন্ট পদ্ধতি কীভাবে example গেটওয়ের জন্য পেমেন্ট পদ্ধতির টোকেন তৈরি করে।

{
  "type": "CARD",
  "description": "Visa •••• 1234",
  "info": {
    "cardNetwork": "VISA",
    "cardDetails": "1234"
  },
  "tokenizationData": {
    "type": "PAYMENT_GATEWAY",
    "token": "examplePaymentMethodToken"
  }
}

CardInfo

এই অবজেক্ট বেছে নেওয়া পেমেন্ট কার্ড সম্পর্কে তথ্য প্রদান করে।

প্রপার্টি ধরন সবসময় থাকে বিবরণ
cardDetails স্ট্রিং হ্যাঁ কার্ড সম্পর্কে বিবরণ। এই ভ্যালু সাধারণত বেছে নেওয়া পেমেন্ট অ্যাকাউন্ট নম্বরের শেষ চারটি সংখ্যা হয়।
assuranceDetails AssuranceDetailsSpecifications হ্যাঁ এই অবজেক্টটি ফেরত আসা পেমেন্ট ডেটার উপর করা যাচাইকরণ সম্পর্কে তথ্য প্রদান করে যদি assuranceDetailsRequired-কে true-এ সেট করা হয় CardParameters-এ।
cardNetwork স্ট্রিং হ্যাঁ

বেছে নেওয়া পেমেন্টের পেমেন্ট কার্ড নেটওয়ার্ক। ফেরত দেওয়া ভ্যালু allowedCardNetworks-এর ফর্ম্যাটের সাথে ম্যাচ করে, যা CardParameters-এ আছে।

এই কার্ড নেটওয়ার্ক ভ্যালু ক্রেতাকে দেখানো উচিত নয়। ক্রেতার কার্ডের বিবরণ প্রয়োজন হলে এটি ব্যবহার করা হয়। যেমন, কোনও ক্রেতা তার ট্রানজ্যাকশনের জন্য কোন কার্ড ব্যবহার করেছেন তা শনাক্ত করতে গ্রাহক সহায়তার এই ভ্যালু প্রয়োজন হলে। ব্যবহারকারী দেখতে পাবেন এমন বিবরণের জন্য, পরিবর্তে PaymentMethodData-এর description প্রপার্টি ব্যবহার করুন।

billingAddress ঠিকানা না প্রদত্ত পেমেন্ট পদ্ধতির সাথে যুক্ত বিলিং ঠিকানা, যদি billingAddressRequired-কে true-এ সেট করা হয় CardParameters-এ।
cardFundingSource স্ট্রিং হ্যাঁ

বেছে নেওয়া পেমেন্ট পদ্ধতির জন্য কার্ড ফান্ডিংয়ের সোর্স।

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID

উদাহরণ

এই উদাহরণে Visa নেটওয়ার্কের একটি কার্ড দেখানো হয়েছে।

{
  "cardNetwork": "VISA",
  "cardDetails": "1234",
  "cardFundingSource": "CREDIT",
  "assuranceDetails": {
    "cardHolderAuthenticated": false,
    "accountVerified": true
  }
}

AssuranceDetailsSpecifications

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

নাম ধরন বিবরণ
accountVerified বুলিয়ান true হলে, এটি ইঙ্গিত করে যে ফেরত আসা পেমেন্ট ক্রেডেনশিয়ালের উপর Cardholder পজেশন যাচাইকরণ সম্পন্ন করা হয়েছে।
cardHolderAuthenticated বুলিয়ান

true হলে, এটি দেখায় যে ফেরত আসা পেমেন্ট ক্রেডেনশিয়ালের উপর শনাক্তকরণ ও যাচাইকরণ (ID&V) করা হয়েছে।

false হলে, কার্ড ট্রানজ্যাকশনের মতোই ঝুঁকি-ভিত্তিক যাচাইকরণ করা যেতে পারে। এই ঝুঁকি-ভিত্তিক যাচাইকরণে প্রযোজ্য হলে 3D Secure প্রোটোকল সহ স্টেপ-আপ অন্তর্ভুক্ত থাকতে পারে, তবে এটি তার মধ্যেই সীমিত নয়।

আপনি assuranceDetails ফিল্ড ব্যবহার না করলেও, রেসপন্স অবজেক্ট পেতে ও প্রসেস করতে পারবেন। এই অবজেক্ট পেতে, অনুরোধ অবজেক্টের CardParameters-এ assuranceDetailsRequired: true অন্তর্ভুক্ত করুন।

PaymentMethodTokenizationData

এই অবজেক্ট পেমেন্ট পদ্ধতির জন্য টোকেনাইজেশন ডেটা প্রদান করে।

প্রপার্টি ধরন সবসময় থাকে বিবরণ
type স্ট্রিং হ্যাঁ বেছে নেওয়া পেমেন্ট পদ্ধতিতে যে ধরনের টোকেনাইজেশন প্রয়োগ করা হবে। এই ভ্যালু type-এর সাথে ম্যাচ করে যা PaymentMethodTokenizationSpecification-এ সেট করা আছে।
token স্ট্রিং না

জেনারেট করা পেমেন্ট পদ্ধতি টোকেন।

উদাহরণ

এটি example গেটওয়ের জন্য প্রস্তুত করা টোকেনাইজড উত্তরের একটি উদাহরণ।

{
  "type": "PAYMENT_GATEWAY",
  "token": "examplePaymentMethodToken"
}

PaymentAuthorizationResult

এই অবজেক্ট পেমেন্ট অথরাইজেশন ফলাফল সম্পর্কে তথ্য প্রদান করে।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
transactionState স্ট্রিং প্রয়োজনীয় নিম্নলিখিত মার্চেন্ট ফলাফলের মধ্যে যেকোনও একটির মাধ্যমে ট্রানজ্যাকশনের স্ট্যাটাস সমাধান করা হয়:
  • SUCCESS
  • ERROR
error PaymentDataError ঐচ্ছিক পেমেন্ট আবার করার প্রয়োজন হলে, ব্যবহারকারীর জন্য পেমেন্ট শিটে যে সমস্যা দেখানো হবে।

উদাহরণ

পেমেন্ট প্রসেস হওয়ার পরে পেমেন্টের ফলাফল কীভাবে রিটার্ন করা হয় তা নিম্নলিখিত উদাহরণ থেকে দেখুন:

{
  "transactionState": "ERROR",
  "error": {
    "reason": "PAYMENT_DATA_INVALID",
    "message": "Cannot pay with payment credentials",
    "intent": "PAYMENT_AUTHORIZATION"
  }
}

PaymentDataError

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
reason স্ট্রিং প্রয়োজনীয়

আগে থেকে নির্ধারিত সমস্যার কারণের তালিকা:

  • OFFER_INVALID
  • PAYMENT_DATA_INVALID
  • SHIPPING_ADDRESS_INVALID
  • SHIPPING_ADDRESS_UNSERVICEABLE
  • SHIPPING_OPTION_INVALID
  • OTHER_ERROR
message স্ট্রিং প্রয়োজনীয় ব্যবহারকারীকে দেখানো ত্রুটি মেসেজ যা একটি ডায়ালগে দেখানো হয়।
intent স্ট্রিং প্রয়োজনীয়

সমস্যার ইনটেন্ট। এটি অবশ্যই এমন একটি হতে হবে যা PaymentDataRequest-এ ফ্লো শুরু হওয়ার পর থেকে রেজিস্টার করা হয়েছে।

  • OFFER
  • PAYMENT_AUTHORIZATION
  • SHIPPING_ADDRESS
  • SHIPPING_OPTION

উদাহরণ

এই উদাহরণে পেমেন্ট শিটে দেখানো ত্রুটি সংক্রান্ত ইনটেন্ট ও মেসেজ দেখানো হয়েছে।

{
  "error": {
    "reason": "SHIPPING_OPTION_INVALID",
    "message": "This shipping option is invalid for the given address",
    "intent": "SHIPPING_OPTION"
  }
}

ঠিকানা

এই অবজেক্ট অনুরোধ করা পোস্টাল অ্যাড্রেস সম্পর্কে তথ্য প্রদান করে। সব প্রপার্টি স্ট্রিং।

MIN,FULL ও FULL-ISO3166 ফর্ম্যাটে ঠিকানা ফেরত দেওয়া যেতে পারে। প্রতিটি ফর্ম্যাটের প্রপার্টি নিচের সারণীতে দেখা যাবে।

প্রপার্টি ঠিকানার ফর্ম্যাট বিবরণ
name MIN, FULL, FULL-ISO3166 প্রাপকের সম্পূর্ণ নাম।
postalCode MIN, FULL, FULL-ISO3166 পোস্টাল বা পিন কোড।
countryCode MIN, FULL, FULL-ISO3166 ISO 3166-1 alpha-2 দেশের কোড।
phoneNumber MIN, FULL, FULL-ISO3166 একটি টেলিফোন নম্বর, যদি phoneNumberRequired-কে true-এ সেট করা হয় PaymentDataRequest-এ।
address1 FULL, FULL-ISO3166 ঠিকানার প্রথম লাইন।
address2 FULL, FULL-ISO3166 ঠিকানার দ্বিতীয় লাইন।
address3 FULL, FULL-ISO3166 ঠিকানার তৃতীয় লাইন।
locality FULL, FULL-ISO3166 শহর, নগর, আশেপাশের এলাকা বা শহরতলি।
administrativeArea FULL, FULL-ISO3166 কোনও দেশের উপবিভাগ, যেমন রাজ্য বা প্রদেশ।
sortingCode FULL, FULL-ISO3166 সর্টিং কোড।
iso3166AdministrativeArea FULL-ISO3166 administrativeArea-এর সাথে সম্পর্কিত ISO 3166-2 প্রশাসনিক এলাকার কোড।

উদাহরণ

এটি মার্কিন যুক্তরাষ্ট্রের FULL-ISO3166 ফর্ম্যাটের ঠিকানার উদাহরণ যেখানে রাস্তার ঠিকানার ডেটা একাধিক লাইনে রয়েছে।

{
  "name": "John Doe",
  "address1": "c/o Google LLC",
  "address2": "1600 Amphitheatre Pkwy",
  "address3": "Building 40",
  "locality": "Mountain View",
  "administrativeArea": "CA",
  "countryCode": "US",
  "postalCode": "94043",
  "sortingCode": ""
  "iso3166AdministrativeArea": "US-CA"
}

IntermediateAddress

ব্যবহারকারী পেমেন্ট অনুমোদন করার আগে প্রযোজ্য ট্যাক্স এবং শিপিং বিকল্পগুলি গণনা করার জন্য মধ্যবর্তী ঠিকানায় একটি রিড্যাক্ট করা শিপিং ঠিকানা (রাস্তার স্তরের ঠিকানা লাইন বা প্রাপকের নাম ছাড়া) থাকে।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
administrativeArea স্ট্রিং প্রয়োজনীয় কোনও দেশের উপবিভাগ, যেমন রাজ্য বা প্রদেশ।
countryCode স্ট্রিং প্রয়োজনীয় ISO 3166-1 alpha-2 দেশের কোড।
locality স্ট্রিং প্রয়োজনীয় শহর, নগর, আশেপাশের এলাকা বা শহরতলি।
postalCode স্ট্রিং প্রয়োজনীয় দেশ অনুযায়ী এডিট করা পিন কোড। কানাডা ও যুক্তরাজ্যের ক্ষেত্রে, এতে শুধু প্রথম তিনটি অক্ষর থাকে। মার্কিন যুক্তরাষ্ট্রের ক্ষেত্রে, এতে প্রথম পাঁচটি সংখ্যা থাকে।
iso3166AdministrativeArea স্ট্রিং ঐচ্ছিক administrativeArea-এর সাথে সম্পর্কিত ISO 3166-2 প্রশাসনিক এলাকার কোড। শিপিং অ্যাড্রেসের ফর্ম্যাট FULL-ISO3166 হলে তবেই শুধু দেখানো হয়।

উদাহরণ

এই উদাহরণে পেমেন্ট শিটে বেছে নেওয়া ঠিকানা দেখানো হয়েছে।

{
  "administrativeArea": "NY",
  "countryCode": "US",
  "locality": "New York",
  "postalCode": "10011"
  "iso3166AdministrativeArea": "US-NY"
}

SelectionOptionData

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
id স্ট্রিং প্রয়োজনীয় SelectionOption.id-এর সাথে মিলে যায়

উদাহরণ

এই উদাহরণে পেমেন্ট শিটে বেছে নেওয়া শিপিং বিকল্প দেখানো হয়েছে।

{
  "id": "shipping-001"
}

OfferData

এই অবজেক্ট পেমেন্ট শিটে লেখা অফার কোড সম্পর্কে তথ্য প্রদান করে।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
redemptionCodes এরে সবসময় থাকে পেমেন্ট শিটে প্রোমোশনাল কোডের সেট লেখা হয়েছে। এর মধ্যে এমন কোড অন্তর্ভুক্ত আছে যা আগে থেকেই অনুমোদিত।

উদাহরণ

নিচের উদাহরণে redemptionCodes অ্যারে সহ OfferData অবজেক্ট দেখানো হয়েছে।

"offerData": {
    "redemptionCodes": ["PROMOTIONALCODE"]
}

IntermediatePaymentMethodData

এই অবজেক্টে ডেভেলপার কলব্যাকের জন্য বেছে নেওয়া পেমেন্ট পদ্ধতি সম্পর্কে সীমিত তথ্য থাকে।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
type স্ট্রিং প্রয়োজনীয় পেমেন্ট পদ্ধতির ধরন। এই কলব্যাকের জন্য শুধুমাত্র CARD কাজ করে।
info IntermediateCardInfo ঐচ্ছিক বেছে নেওয়া কার্ড সম্পর্কে তথ্য। type-এর মান CARD হলে তবেই এটি দেখানো হয়।

IntermediateCardInfo

এই অবজেক্টে বেছে নেওয়া কার্ড সম্পর্কে সীমিত তথ্য থাকে, যা ডেভেলপার কলব্যাকে ব্যবহার করা হয়।

প্রপার্টি ধরন প্রয়োজনীয়তা বিবরণ
billingAddress IntermediateAddress ঐচ্ছিক কার্ডের সাথে যুক্ত বিলিং ঠিকানা। বিলিং ঠিকানা সেট করা থাকলে তবেই এটি পূরণ করা হয়।
cardNetwork স্ট্রিং ঐচ্ছিক

বেছে নেওয়া পেমেন্ট কার্ডের পেমেন্ট কার্ড নেটওয়ার্ক। ফেরত দেওয়া ভ্যালু allowedCardNetworks-এর ফর্ম্যাটের সাথে ম্যাচ করে, যা CardParameters-এ আছে।

এই কার্ড নেটওয়ার্ক ভ্যালু ক্রেতাকে দেখানো উচিত নয়।

cardFundingSource স্ট্রিং ঐচ্ছিক

বেছে নেওয়া পেমেন্ট কার্ডের জন্য কার্ড ফান্ডিংয়ের সোর্স।

  • UNKNOWN
  • CREDIT
  • DEBIT
  • PREPAID