ক্লায়েন্ট রেফারেন্স

com.google.android.gms.wallet ডকুমেন্টেশনে Google Pay API-এর একাধিক সংস্করণের জন্য লাইব্রেরিটির সম্পূর্ণ বিবরণ রয়েছে। নিচে Google Pay API-এর সর্বশেষ সংস্করণ, অর্থাৎ সংস্করণ ২.০-এর জন্য সবচেয়ে বেশি প্রযোজ্য অবজেক্ট এবং মেথডগুলোর একটি সারসংক্ষেপ দেওয়া হলো।

ওয়ালেট

পরীক্ষা বা উৎপাদন পরিবেশের জন্য একটি PaymentsClient তৈরি করুন।

উদাহরণ

mPaymentsClient = Wallet.getPaymentsClient(
  this,
  new Wallet.WalletOptions.Builder()
      .setEnvironment(WalletConstants.ENVIRONMENT_TEST)
      .build()
);

পেমেন্টস ক্লায়েন্ট

গুগল পে এপিআই-গুলোর সাথে যোগাযোগের জন্য একটি ক্লায়েন্ট।

পরিশোধের জন্য প্রস্তুত (পরিশোধের জন্য প্রস্তুত অনুরোধ)

কোনো ব্যবহারকারী Google Pay API থেকে অর্থপ্রদানের কোনো মাধ্যম ফেরত পাঠাতে পারবেন কিনা, তা নির্ধারণ করতে isReadyToPay(IsReadyToPayRequest) মেথডটি ব্যবহার করুন।

যদি ডিভাইসটি গুগল পে সমর্থন করে এবং ব্যবহারকারী আগে থেকেই একটি পেমেন্ট পদ্ধতি সংরক্ষণ করে থাকেন বা একটি যোগ করতে পারেন, তাহলে IsReadyToPay ট্রু true রিটার্ন করে। ব্যবহারকারী গুগল পে-তে আগে থেকেই কোনো পেমেন্ট পদ্ধতি সংরক্ষণ করেছেন কিনা তা নির্ধারণ করতে, IsReadyToPayRequest.existingPaymentMethodRequired ট্রু ( true সেট করুন।

পেমেন্ট ডেটা লোড করুন (পেমেন্ট ডেটা অনুরোধ)

একটি গুগল পে পেমেন্ট শিট উপস্থাপন করুন, যেখান থেকে পেমেন্ট পদ্ধতি এবং ঐচ্ছিকভাবে কনফিগার করা প্যারামিটার নির্বাচন করা যাবে।

অর্থপ্রদানের জন্য প্রস্তুত অনুরোধ

PaymentsClient.isReadyToPay() এর সাথে ব্যবহারের জন্য উপযুক্ত একটি IsReadyToPayRequest জাভা অবজেক্ট তৈরি করুন।

fromJson(java.lang.String)

একটি JSON-ফরম্যাট করা স্ট্রিং থেকে একটি IsReadyToPayRequest জাভা অবজেক্ট তৈরি করুন। প্রদত্ত JSON-ফরম্যাট করা স্ট্রিংটির প্রত্যাশিত কাঠামোর জন্য IsReadyToPayRequest অবজেক্ট রেফারেন্স দেখুন।

পেমেন্ট ডেটা অনুরোধ

PaymentsClient.loadPaymentData এর সাথে ব্যবহারের জন্য উপযুক্ত একটি PaymentDataRequest জাভা অবজেক্ট তৈরি করুন।

fromJson(java.lang.String)

একটি JSON-ফরম্যাট করা স্ট্রিং থেকে একটি PaymentDataRequest জাভা অবজেক্ট তৈরি করুন। প্রদত্ত JSON-ফরম্যাট করা স্ট্রিংটির প্রত্যাশিত কাঠামোর জন্য PaymentDataRequest অবজেক্ট রেফারেন্স দেখুন।

পেমেন্ট ডেটা

আপনার অ্যাপে ব্যবহারের জন্য গুগল পে এপিআই-এর JSON-ফরম্যাটের প্রতিক্রিয়া পরিচালনা করুন।

toJson()

Google Pay API-এর প্রতিক্রিয়া একটি JSON-ফরম্যাট করা স্ট্রিং হিসাবে আউটপুট করুন। JSON অবজেক্টের গঠন সম্পর্কে আরও তথ্যের জন্য PaymentData অবজেক্ট রেফারেন্স দেখুন।

পেবাটন

পাবলিক ভয়েড ইনিশিয়ালাইজ(বাটনঅপশন বাটনঅপশনস)

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

যুক্তি

নাম বর্ণনা
buttonOptions একটি অবজেক্ট যা গুগল পে পেমেন্ট বাটনটি কনফিগার করে। কনফিগারযোগ্য প্রোপার্টিগুলোর জন্য ButtonOptions দেখুন।

উদাহরণ: কাস্টম কনফিগারেশন দিয়ে পেমেন্ট বাটনটি চালু করুন:

PayButton googlePayPaymentButton = layoutBinding.googlePayPaymentButton;
JSONArray paymentMethods = new JSONArray().put(getBaseCardPaymentMethod());
googlePayPaymentButton.initialize(
       ButtonOptions.newBuilder()
               .setButtonTheme(ButtonConstants.ButtonTheme.DARK)
               .setButtonType(ButtonConstants.ButtonType.BUY)
               .setCornerRadius(100)
               .setAllowedPaymentMethods(paymentMethods.toString())
               .build()
);

পাবলিক ভয়েড সেটভিসিবিলিটি( ভিউ ভিউ)

সুবিধাজনক পদ্ধতিটি পেমেন্ট বাটনের দৃশ্যমানতা নির্ধারণ করে।

যুক্তি

নাম বর্ণনা
View

View.VISIBLE পেমেন্ট বাটনটিকে দৃশ্যমান (ডিফল্ট) করে।

View.GONE ব্যবহারকারীদের কাছ থেকে বাটনটি লুকিয়ে রাখে।

উদাহরণ:

payButton.setVisibility(View.VISIBLE);

পাবলিক ভয়েড সেটঅনক্লিকলিসেনার( ভিউ.অনক্লিকলিসেনার লিসেনার)

ব্যবহারকারী যখন গুগল পে পেমেন্ট বাটনে ক্লিক করেন, তখন এই মেথডটি কল করা হয়।

যুক্তি

নাম বর্ণনা
listener গুগল পে পেমেন্ট বাটনে কোনো ক্লিক ইভেন্ট ঘটলে যে ইভেন্ট লিসেনার কলব্যাকটি কল করা হয়।

বেস পেমেন্ট ডেটা কলব্যাক পরিষেবা

বেস সার্ভিস ক্লাস যা PaymentsClient.loadPaymentData(PaymentDataRequest) ফ্লো-এর মধ্যে Google Play সার্ভিস দ্বারা শুরু করা পেমেন্ট ডেটা কলব্যাকগুলি হোস্ট করে।

আপনার অ্যাপ্লিকেশনে এই সার্ভিসটি এক্সটেন্ড করুন এবং আপনার AndroidManifest.xmlcom.google.android.gms.permission.BIND_PAYMENTS_CALLBACK_SERVICE পারমিশন ও com.google.android.gms.wallet.callback.PAYMENT_DATA_CALLBACKS এর জন্য একটি ইন্টেন্ট ফিল্টার সহ এটি ডিক্লেয়ার করুন।

createPaymentDataCallbacks()

আগত কলব্যাক ইভেন্টগুলি পরিচালনা করার জন্য BasePaymentDataCallbacks এর একটি বাস্তবায়ন ফেরত দেয়। প্রতিটি কলব্যাক ইভেন্টের জন্য একবার কল করা হয়।

বেসপেমেন্টডেটাকলব্যাকস

ডাইনামিক প্রাইস আপডেট এবং পেমেন্ট অথরাইজেশন সমর্থন করার জন্য মার্চেন্ট কর্তৃক বাস্তবায়িত পেমেন্ট ডেটা কলব্যাক হ্যান্ডলার ধারণকারী অ্যাবস্ট্রাক্ট বেস ক্লাস।

onPaymentDataChanged(intermediatePaymentData, onCompleteListener)

এই পদ্ধতিটি পেমেন্ট শীটে পেমেন্টের ডেটা পরিবর্তন, যেমন শিপিং ঠিকানা এবং শিপিং অপশন, পরিচালনা করে।

যুক্তি

নাম প্রকার বর্ণনা
intermediatePaymentData IntermediatePaymentData একটি অবজেক্ট যা পেমেন্ট শীটে নির্বাচিত ঠিকানা এবং শিপিং অপশন ধারণ করে। বিস্তারিত জানতে, IntermediatePaymentData দেখুন।
onCompleteListener OnCompleteListener<PaymentDataRequestUpdate> আপডেট করা লেনদেনের তথ্য, শিপিং বিকল্প এবং পেমেন্ট ডেটার ত্রুটিগুলো সমাধান করার জন্য একটি লিসেনার। complete() ফাংশনে একটি PaymentDataRequestUpdate ইনস্ট্যান্স পাস করুন।

উদাহরণ

override fun onPaymentDataChanged(
    intermediatePaymentData: IntermediatePaymentData,
    onCompleteListener: OnCompleteListener<PaymentDataRequestUpdate>
) {
    val paymentDataRequestUpdateJson = handlePaymentDataChanged(intermediatePaymentData.toJson())
    val update = PaymentDataRequestUpdate.fromJson(paymentDataRequestUpdateJson.toString())
    onCompleteListener.complete(update)
}

onPaymentAuthorized(paymentData, onCompleteListener)

পেমেন্ট শিটে কোনো পেমেন্ট অনুমোদিত হলে এই মেথডটি কল করা হয়।

যুক্তি

নাম প্রকার বর্ণনা
paymentData PaymentData একটি অবজেক্ট যা অনুরোধকৃত ক্রেতার ডেটা ধারণ করে। বিস্তারিত জানতে, PaymentData দেখুন।
onCompleteListener OnCompleteListener<PaymentAuthorizationResult> অনুমোদনের ফলাফল সমাধান করার জন্য একটি লিসেনার। complete() ফাংশনে একটি PaymentAuthorizationResult ইনস্ট্যান্স পাস করুন।

উদাহরণ

override fun onPaymentAuthorized(
    paymentData: PaymentData,
    onCompleteListener: OnCompleteListener<PaymentAuthorizationResult>
) {
    val paymentAuthorizationResultJson = handlePaymentAuthorized(paymentData.toJson())
    val result = PaymentAuthorizationResult.fromJson(paymentAuthorizationResultJson.toString())
    onCompleteListener.complete(result)
}

মধ্যবর্তী অর্থপ্রদানের ডেটা

BasePaymentDataCallbacks.onPaymentDataChanged এ পাঠানো অন্তর্বর্তী কলব্যাক ডেটা পরিচালনা করুন।

toJson()

কলব্যাক অনুরোধের ডেটা একটি JSON-ফরম্যাট করা স্ট্রিং হিসাবে আউটপুট করে। JSON অবজেক্টের গঠন সম্পর্কে আরও তথ্যের জন্য IntermediatePaymentData অবজেক্ট রেফারেন্স দেখুন।

getLastSavedState()

পূর্ববর্তী কলব্যাক পুনরাবৃত্তির সময় সংরক্ষিত অবস্থা ধারণকারী Bundle ফেরত দেয়।

পেমেন্ট ডেটা অনুরোধ আপডেট

BasePaymentDataCallbacks.onPaymentDataChanged এ রিটার্ন করার জন্য একটি PaymentDataRequestUpdate জাভা অবজেক্ট তৈরি করুন।

fromJson(java.lang.String)

একটি JSON-ফরম্যাট করা স্ট্রিং থেকে একটি PaymentDataRequestUpdate জাভা অবজেক্ট তৈরি করুন। প্রদত্ত JSON-ফরম্যাট করা স্ট্রিংটির প্রত্যাশিত কাঠামোর জন্য PaymentDataRequestUpdate অবজেক্ট রেফারেন্স দেখুন।

আপডেট করা সংরক্ষিত অবস্থা (বান্ডেল)

কলব্যাক আহ্বানের মধ্যবর্তী সময়ে স্থায়ী রাখার জন্য একটি হালনাগাদকৃত স্টেট Bundle সংযুক্ত করে।

পেমেন্ট অনুমোদন ফলাফল

BasePaymentDataCallbacks.onPaymentAuthorized এ রিটার্ন করার জন্য একটি PaymentAuthorizationResult জাভা অবজেক্ট তৈরি করুন।

fromJson(java.lang.String)

একটি JSON-ফরম্যাট করা স্ট্রিং থেকে একটি PaymentAuthorizationResult জাভা অবজেক্ট তৈরি করুন। প্রদত্ত JSON-ফরম্যাট করা স্ট্রিংটির প্রত্যাশিত কাঠামোর জন্য PaymentAuthorizationResult রেসপন্স অবজেক্ট রেফারেন্সটি দেখুন।