সমস্যার সমাধান

ওয়েব সমস্যার সমাধানকরণ গাইডে নিম্নলিখিত বিষয় সম্পর্কিত সমস্যা ও প্রশ্ন কভার করা হয়।

রেজিস্ট্রেশন এবং অ্যাক্সেস

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

এই মার্চেন্টের জন্য Google Pay চালু করা নেই
Google Pay API-এর জন্য এমন সাইটের Google merchantId প্রয়োজন হয় যা PRODUCTION এনভায়রনমেন্টের জন্য PaymentsClient কনফিগার করে। একটি Google merchantId, Google Pay ও Wallet Console-এর মাধ্যমে এক বা একাধিক সম্পূর্ণ কোয়ালিফায়েড ডোমেনের সাথে যুক্ত থাকে। আরও তথ্যের জন্য ফেরত আসা সমস্যার বিবরণ চেক করুন।
Google Pay API ব্যবহার করার জন্য এই মার্চেন্ট রেজিস্ট্রেশন সম্পূর্ণ করেননি। যাচাই করতে কনসোলে (https://pay.google.com/business/console) যান।
Google Pay API-এর জন্য আপনার ওয়েবসাইট রেজিস্টার করার প্রসেস আপনি সম্পূর্ণ করেননি। পর্যালোচনা করুন প্রোডাকশন অ্যাক্সেসের অনুরোধ করুন Google Pay ও Wallet Console ব্যবহার করে রেজিস্টার করতে এবং আপনার ওয়েবসাইটে Google Pay API-এর ব্যবহার পর্যালোচনা করার অনুরোধ করুন।
এই মার্চেন্ট প্রোফাইলে এই ফিচারের অ্যাক্সেস নেই
Google Pay API ব্যবহার করার জন্য Google আপনার ওয়েবসাইট কনফিগার করেনি। পর্যালোচনা করুন Google Pay ও Wallet Console-এর মাধ্যমে আপনার ওয়েবসাইটে Google Pay API-এর ব্যবহার পর্যালোচনা করার অনুরোধ করতে প্রোডাকশন অ্যাক্সেসের অনুরোধ করুন।
এই Google Pay API ইন্টিগ্রেশন বন্ধ করা আছে। আরও তথ্যের জন্য আমাদের সাথে যোগাযোগ করুন (https://developers.google.com/pay/api/faq#how-to-get-support)।
আপনার Google অ্যাকাউন্টের জন্য Google Pay API আবার চালু করার জন্য প্রয়োজনীয় ধাপ সম্পর্কে আরও জানতে আমাদের সাথে যোগাযোগ করুন।
এই API ব্যবহার করার জন্য আপনার ডোমেন "example.com" রেজিস্টার করা নেই
আপনার চেক-আউট যে ডোমেনে হোস্ট করা হয়েছে সেটি আপনার ব্যবহার করা merchantId-এর সাথে যুক্ত নয়। merchantId প্যারামিটার সঠিক কিনা এবং আপনার ডোমেন Google Pay & Wallet Console-এর মাধ্যমে রেজিস্টার করা হয়েছে কিনা তা ভাল করে দেখে নিন।
Google Pay API সুরক্ষিত কনটেক্সটে কল করা উচিত!
Google Pay API শুধুমাত্র সুরক্ষিত কনটেক্সটে ওয়েবসাইটে ব্যবহার করা যাবে। আরও তথ্যের জন্য, Secure contexts দেখুন।
এই মার্চেন্ট প্রোফাইলের জন্য কোনও 'কী' খুঁজে পাওয়া যায়নি
DIRECTtokenizationSpecification type ইন্টিগ্রেশন সম্পূর্ণ করতে, আপনাকে অবশ্যই Google Pay ও Wallet Console-এর মাধ্যমে Google-এ আপনার পাবলিক এনক্রিপশন কী রেজিস্টার করতে হবে।

merchantId

ইন্টিগ্রেশনের সময় কোনও এক পর্যায়ে merchantId-এর সাথে সম্পর্কিত নিম্নলিখিত সমস্যার সম্মুখীন হতে পারেন। এই ধরনের সমস্যা দেখা দিলে, এই তালিকা থেকে সমস্যা সমাধানের জন্য কিছু সহায়ক পরামর্শ পাওয়া যাবে।

merchantId সেট করতে হবে!
merchantId প্যারামিটার PaymentDataRequest-এর মধ্যে Google Pay ও Wallet Console ব্যবহার করে প্রদান করা ভ্যালুতে সেট করতে হবে। PRODUCTION এনভায়রনমেন্টের জন্য কনফিগার করা PaymentsClient ব্যবহার করলে তবেই merchantId প্যারামিটার প্রয়োজন হয়। আপনার ওয়েবসাইট Google Pay API ব্যবহার করছে কিনা তা পর্যালোচনা করার অনুরোধ করতে এবং আপনার merchantId পেতে, আমাদের ইন্টিগ্রেশন চেকলিস্ট পর্যালোচনা করুন।
merchantId কোনও স্ট্রিং নয়
merchantId প্যারামিটার PaymentDataRequest-এর মধ্যে সবসময় স্ট্রিং হতে হবে। API কল করার আগে, আপনি যে ধরনের merchantId প্যারামিটার ব্যবহার করেন সেটি স্ট্রিং কিনা তা নিশ্চিত করুন।
merchantId রেজিস্টার করা নেই।
merchantId প্যারামিটার PaymentDataRequest-এর মধ্যে Google Pay ও Wallet Console-এর মাধ্যমে অবশ্যই প্রোভিশন করতে হবে। আরও তথ্যের জন্য প্রোডাকশন অ্যাক্সেসের অনুরোধ পর্যালোচনা করুন।

গেটওয়ের বৈধতা

ইন্টিগ্রেশনের কোনও এক পর্যায়ে গেটওয়ের বৈধতা সম্পর্কিত নিম্নলিখিত সমস্যার সম্মুখীন হতে পারেন। এই ধরনের সমস্যা দেখা দিলে, এই তালিকা থেকে সমস্যা সমাধানের জন্য কিছু সহায়ক পরামর্শ পাওয়া যাবে।

অজানা গেটওয়ে 'yourgateway'
paymentMethodTokenizationParameters.parameters-এ আপনার উল্লেখ করা গেটওয়ে প্যারামিটার বর্তমানে Google-এ কাজ করে না। আপনার গেটওয়ের আইডেন্টিফায়ার ও সংশ্লিষ্ট ফিল্ড, যেমন gatewayMerchantId-এর ব্যাপারে আরও তথ্য পেতে আপনার গেটওয়ের সাথে যোগাযোগ করুন।
প্রোডাকশন মোডে 'উদাহরণ' গেটওয়ে ব্যবহার করা যাবে না
উদাহরণ হিসেবে দেওয়া গেটওয়ে প্যারামিটারের ভ্যালু শুধুমাত্র পরীক্ষার উদ্দেশ্যে ব্যবহার করা হয় এবং PRODUCTION এনভায়রনমেন্টের জন্য কনফিগার করা PaymentsClient-এর সাথে ব্যবহার করা যাবে না। Google Pay API-এর সাথে ব্যবহার করার জন্য আপনাকে যেসব PaymentMethodTokenizationSpecification প্যারামিটারের ভ্যালু সেট করতে হবে, সেই সম্পর্কে আরও তথ্য পেতে আপনার গেটওয়ের সাথে যোগাযোগ করুন।

অবজেক্টের বৈধতা

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

Google Pay-এর PaymentDataRequest সঠিক json নয়
loadPaymentData-এ প্রদান করা প্যারামিটারটি সবসময় একটি সঠিক PaymentDataRequest অবজেক্ট হতে হবে।
transactionInfo সেট করতে হবে!
transactionInfo প্যারামিটার PaymentDataRequest-এর মধ্যে সবসময় সঠিক TransactionInfo অবজেক্ট হতে হবে।

ডাইরেক্ট মার্চেন্ট

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

স্বাক্ষর যাচাইকরণ
merchantId ভুল হলে, আপনি স্বাক্ষর যাচাইকরণ সংক্রান্ত সমস্যার সম্মুখীন হতে পারেন। TEST এনভায়রনমেন্টে এটি হতে পারে যখন আপনি Tink paymentmethodtoken লাইব্রেরি ব্যবহার করেন। এই সমস্যা এড়াতে, YOUR_MERCHANT_ID-কে 12345678901234567890-এ সেট করুন:
.recipientId("merchant:YOUR_MERCHANT_ID")
টোকেন ডিক্রিপ্ট করা যাচ্ছে না
আপনি টোকেন ডিক্রিপ্ট করার জন্য Tink paymentmethodtoken লাইব্রেরি ব্যবহার করলে, নিম্নলিখিত বিষয়গুলি মনে রাখবেন:
  • নিশ্চিত করুন যে Google Pay API রেসপন্স এনভায়রনমেন্ট Tink paymentmethodtoken এনভায়রনমেন্টের সাথে সামঞ্জস্যপূর্ণ। আরও বিবরণের জন্য, নিম্নলিখিত উদাহরণ দেখুন:
    • Google Pay API রেসপন্স যদি TEST এনভায়রনমেন্ট থেকে ফেরত আসে, তাহলে Tink ডিক্রিপশনের জন্য টেস্ট এনভায়রনমেন্টে পয়েন্ট করে।
  • Tink-এ পাস করার আগে Google Pay API থেকে পাওয়া উত্তর পরিবর্তন করবেন না। Google Pay API রেসপন্স থেকে পাওয়া সম্পূর্ণ টোকেন আপনি পাস করেছেন কিনা তা নিশ্চিত করুন। আরও তথ্যের জন্য, নিম্নলিখিত নোট দেখুন:
  • আপনি Google-এ যে পাবলিক কী রেজিস্টার করেছেন তার সাথে সঠিক ব্যক্তিগত কী যুক্ত আছে কিনা তা যাচাই করুন।
Windows-এ পাবলিক ও ব্যক্তিগত কী পেয়ার জেনারেট করা
আপনি Windows ব্যবহার করলে এবং প্রাইভেট ও পাবলিক কী পেয়ার তৈরি করতে OpenSSL ব্যবহার করুন লিঙ্কে উল্লেখ করা ধাপগুলি অনুসরণ করতে চাইলে, আপনার মেশিনে Cygwin ইনস্টল করা আছে কিনা তা নিশ্চিত করুন। Linux কমান্ড রান করার জন্য এটি প্রয়োজন।

সমস্যা সংক্রান্ত অবজেক্ট

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

PaymentsError
এই অবজেক্টে ক্লায়েন্ট জাভাস্ক্রিপ্ট পদ্ধতির মাধ্যমে রিটার্ন করা সমস্যার বিবরণ থাকে। ব্যবহারকারী নিজে ইন্টার‌্যাক্ট করতে পারেন এমন ডায়ালগে সমস্যা নাও দেখানো হতে পারে।
প্রপার্টি ধরন বিবরণ
statusCode স্ট্রিং সমস্যার ধরন বর্ণনা করে এমন ছোট কোড।
statusMessage স্ট্রিং ডেভেলপারকে দেখানো মেসেজ যা সমস্যার বিবরণ দেয় এবং এটি ঠিক করার জন্য সম্ভাব্য পদক্ষেপের কথা বলে।
যে ভুলগুলি প্রায়ই হয়ে থাকে
এই অবজেক্টটি এমন সমস্যা দেখায় যা আপনি সমস্ত জাভাস্ক্রিপ্ট পদ্ধতি জুড়ে দেখতে পেতে পারেন। অতিরিক্ত সমস্যার মেসেজ দেখতে ডেভেলপার কনসোল চেক করতে ভুলবেন না।
স্ট্যাটাস কোড বিবরণ
BUYER_ACCOUNT_ERROR বর্তমান Google ব্যবহারকারী পেমেন্টের তথ্য দিতে পারছেন না।
DEVELOPER_ERROR

পাস করা প্যারামিটারটি সঠিকভাবে ফর্ম্যাট করা হয়নি। সব কনফিগার করা এনভায়রনমেন্টের জন্য ব্রাউজার কনসোলে সমস্যার মেসেজ দেখা যেতে পারে।

MERCHANT_ACCOUNT_ERROR

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

INTERNAL_ERROR সার্ভারের সাধারণ সমস্যা।

CardInfo

CardInfo ফিচার কী?
Google Pay গ্রাহকদের দেখায় যে Google Pay পেমেন্ট বোতামের পিছনে একটি কার্ড আছে, যা কার্ড ব্র্যান্ড নেটওয়ার্ক এবং কার্ডের শেষ চারটি সংখ্যা দেখায়।
আমার ইমপ্লিমেন্টেশনে CardInfo ফিচার কেন রেন্ডার হয় না?

CardInfo ফিচার কাজ করার জন্য, আমাদের নিম্নলিখিত শর্তগুলি প্রয়োজন:

  • আপনাকে অবশ্যই createButton API প্রয়োগ করতে হবে।
  • আপনাকে অবশ্যই ButtonOptions.buttonType buy, long বা pay-এ কনফিগার করতে হবে।
  • ব্যবহারকারীর কাছে অবশ্যই একটি উপলভ্য পেমেন্ট পদ্ধতি থাকতে হবে, যেমনটি আপনার CardParameters অবজেক্ট দ্বারা সংজ্ঞায়িত করা হয়েছে।
Google Pay পেমেন্ট বোতাম কেন অনির্দিষ্টকালের জন্য লোড হতে থাকে?
onLoad ইভেন্ট লিসনার সরাবেন না। আপনি onLoad ইভেন্ট লিসনার সরিয়ে দিলে, Google Pay পেমেন্ট বোতাম অনির্দিষ্টকালের জন্য লোড হতে পারে।
Google Pay পেমেন্ট বোতামে ক্লিক করার পরে কেন কোনও পেমেন্ট প্রম্পট দেখা যাচ্ছে না?
ButtonOptions.onClick ইভেন্টে একটি ইভেন্ট লিসনার কলব্যাক অ্যাসাইন করুন।

OR_BIBED_15টি সমস্যা

ইন্টিগ্রেশনের কোনও এক পর্যায়ে আপনি হয়ত OR_BIBED_15 সমস্যার সম্মুখীন হতে পারেন। এই তালিকায় সমস্যা সমাধানের কিছু সহায়ক পরামর্শ দেওয়া আছে, যা এই সমস্যা দেখা দিলে কাজে লাগতে পারে।

ওয়েবভিউয়ের সাথে কাজ করা
আপনার ইন্টিগ্রেশন WebViews-এর সাথে মানানসই কিনা তা নিশ্চিত করতে Android এবং iOS-এর জন্য নির্দেশিকা অনুসরণ করুন।
Cross-Origin-Opener-Policy HTTP রেসপন্স হেডার
Cross-Origin-Opener-Policy HTTP রেসপন্স হেডার same-origin-এ সেট করা থাকলে, ব্যবহারকারীদের ট্রানজ্যাকশন সম্পূর্ণ করার জন্য প্রয়োজনীয় পপ-আপ ব্রাউজারকে খুলতে নাও দিতে পারে। এইসব সমস্যা কমাতে, হেডারের ভ্যালু পরিবর্তন করে same-origin-allow-popups করে দেখুন।
ব্যবহারকারীর ক্লিক ইভেন্ট এবং loadPaymentData()-এ কলের মধ্যে দেরি
Google Pay বোতামে (বা একই ধরনের চেক-আউট বোতামে) ক্লিক করার পরে এবং loadPaymentData() কলের আগে (যেমন: setTimeout(), অতিরিক্ত নেটওয়ার্ক কল বা একই ধরনের দীর্ঘ সময় ধরে চলা লজিক) দেরি হলে, ব্রাউজারের পপ-আপ ব্লক করার মেকানিজম ট্রিগার হতে পারে। আমরা সাজেস্ট করি যে ব্যবহারকারীর ক্লিক ও loadPaymentData() কলের মধ্যে যেন কোনও বিলম্ব সেট করা না থাকে।