- উৎস: সাবস্ক্রিপশন ক্রয়
- প্রারম্ভিক মূল্যের তথ্য
- সাবস্ক্রিপশন বাতিল করুন সমীক্ষার ফলাফল
- সাবস্ক্রিপশন মূল্য পরিবর্তন
- পদ্ধতি
উৎস: সাবস্ক্রিপশন ক্রয়
অপ্রচলিত: এর পরিবর্তে SubscriptionPurchaseV2 ব্যবহার করুন। একটি SubscriptionPurchase রিসোর্স একজন ব্যবহারকারীর সাবস্ক্রিপশন ক্রয়ের অবস্থা নির্দেশ করে।
| JSON উপস্থাপনা |
|---|
{ "kind": string, "startTimeMillis": string, "expiryTimeMillis": string, "autoResumeTimeMillis": string, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": string, "introductoryPriceInfo": { object ( |
| ক্ষেত্র | |
|---|---|
kind | এই প্রকারটি androidpublisher সার্ভিসের একটি subscriptionPurchase অবজেক্টকে প্রতিনিধিত্ব করে। |
startTimeMillis | ইপক থেকে মিলিসেকেন্ডে, যে সময়ে সাবস্ক্রিপশনটি মঞ্জুর করা হয়েছিল। |
expiryTimeMillis | ইপক থেকে মিলিসেকেন্ডে, যে সময়ে সাবস্ক্রিপশনটির মেয়াদ শেষ হবে। |
autoResumeTimeMillis | ইপক থেকে মিলিসেকেন্ডে সেই সময়, যখন সাবস্ক্রিপশনটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যদি ব্যবহারকারী সাবস্ক্রিপশনটি বিরতি দেওয়ার জন্য অনুরোধ করে থাকেন। |
autoRenewing | সাবস্ক্রিপশনটির বর্তমান মেয়াদ শেষ হলে তা স্বয়ংক্রিয়ভাবে নবায়ন হবে কিনা। |
priceCurrencyCode | সাবস্ক্রিপশন মূল্যের জন্য ISO 4217 মুদ্রা কোড। উদাহরণস্বরূপ, যদি মূল্য ব্রিটিশ পাউন্ড স্টার্লিং-এ নির্দিষ্ট করা হয়, তাহলে priceCurrencyCode হবে "GBP"। |
priceAmountMicros | সাবস্ক্রিপশনের মূল্য। কর-বহির্ভূত দেশগুলোর ক্ষেত্রে, মূল্যের সাথে কর অন্তর্ভুক্ত নয়। কর-অন্তর্ভুক্ত দেশগুলোর ক্ষেত্রে, মূল্যের সাথে কর অন্তর্ভুক্ত। মূল্য মাইক্রো-ইউনিটে প্রকাশ করা হয়, যেখানে ১,০০০,০০০ মাইক্রো-ইউনিট মুদ্রার এক ইউনিটকে বোঝায়। উদাহরণস্বরূপ, যদি সাবস্ক্রিপশনের মূল্য €১.৯৯ হয়, তাহলে priceAmountMicros হবে ১৯৯০০০০। |
introductoryPriceInfo | সাবস্ক্রিপশনের প্রারম্ভিক মূল্যের তথ্য। এটি শুধুমাত্র তখনই দেখা যায়, যখন সাবস্ক্রিপশনটি প্রারম্ভিক মূল্যে কেনা হয়। এই ফিল্ডটি নির্দেশ করে না যে সাবস্ক্রিপশনটি বর্তমানে প্রারম্ভিক মূল্যের মেয়াদে রয়েছে। |
countryCode | সাবস্ক্রিপশন মঞ্জুর করার সময় ব্যবহারকারীর আইএসও ৩১৬৬-১ আলফা-২ বিলিং দেশ/অঞ্চল কোড। |
developerPayload | ডেভেলপার কর্তৃক নির্দিষ্ট একটি স্ট্রিং, যা একটি অর্ডার সম্পর্কিত সম্পূরক তথ্য ধারণ করে। |
paymentState | সাবস্ক্রিপশনের পেমেন্টের অবস্থা। সম্ভাব্য মানগুলো হলো: ০. পেমেন্ট প্রক্রিয়াধীন ১. পেমেন্ট প্রাপ্ত ২. ফ্রি ট্রায়াল ৩. বিলম্বিত আপগ্রেড/ডাউনগ্রেড প্রক্রিয়াধীন। বাতিলকৃত বা মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের ক্ষেত্রে প্রযোজ্য নয়। |
cancelReason | সাবস্ক্রিপশন বাতিল হওয়ার বা স্বয়ংক্রিয়ভাবে নবায়ন না হওয়ার কারণ। সম্ভাব্য কারণগুলো হলো: ০. ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেছেন ১. সিস্টেম দ্বারা সাবস্ক্রিপশনটি বাতিল করা হয়েছে, যেমন বিলিং সংক্রান্ত সমস্যার কারণে ২. সাবস্ক্রিপশনটি একটি নতুন সাবস্ক্রিপশন দ্বারা প্রতিস্থাপিত হয়েছে ৩. ডেভেলপার দ্বারা সাবস্ক্রিপশনটি বাতিল করা হয়েছে |
userCancellationTimeMillis | যে সময়ে ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেছেন, তা ইপক থেকে মিলিসেকেন্ডে পরিমাপ করা হবে। এটি শুধুমাত্র তখনই উপস্থিত থাকবে যখন cancelReason-এর মান ০ হবে। |
cancelSurveyResult | সাবস্ক্রিপশন বাতিলের প্রক্রিয়াটি (বাতিলের কারণ সম্পর্কিত সমীক্ষা) সম্পন্ন করার সময় ব্যবহারকারীর দেওয়া তথ্য। |
orderId | সাবস্ক্রিপশন ক্রয়ের সাথে যুক্ত সর্বশেষ পুনরাবৃত্ত অর্ডারের অর্ডার আইডি। যদি পেমেন্ট প্রত্যাখ্যান হওয়ার কারণে সাবস্ক্রিপশনটি বাতিল করা হয়ে থাকে, তাহলে এটি হবে সেই পেমেন্ট প্রত্যাখ্যান হওয়া অর্ডারের অর্ডার আইডি। |
linkedPurchaseToken | এই সাবস্ক্রিপশনটির মূল ক্রয়ের পারচেজ টোকেনটি নিম্নলিখিতগুলির মধ্যে একটি হলে: ০. বাতিল কিন্তু মেয়াদোত্তীর্ণ নয় এমন সাবস্ক্রিপশনের পুনঃ-সাইনআপ ১. পূর্ববর্তী সাবস্ক্রিপশন থেকে আপগ্রেড/ডাউনগ্রেড উদাহরণস্বরূপ, ধরুন একজন ব্যবহারকারী প্রথমে সাইন আপ করলেন এবং আপনি পারচেজ টোকেন X পেলেন, তারপর ব্যবহারকারী বাতিল করলেন এবং (তাদের সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার আগে) পুনরায় সাইন আপ প্রক্রিয়াটি সম্পন্ন করলেন এবং আপনি পারচেজ টোকেন Y পেলেন, এবং সবশেষে ব্যবহারকারী তাদের সাবস্ক্রিপশন আপগ্রেড করলেন এবং আপনি পারচেজ টোকেন Z পেলেন। আপনি যদি পারচেজ টোকেন Z দিয়ে এই API-টি কল করেন, তাহলে এই ফিল্ডটি Y-তে সেট হবে। আপনি যদি পারচেজ টোকেন Y দিয়ে এই API-টি কল করেন, তাহলে এই ফিল্ডটি X-তে সেট হবে। আপনি যদি পারচেজ টোকেন X দিয়ে এই API-টি কল করেন, তাহলে এই ফিল্ডটি সেট হবে না। |
purchaseType | সাবস্ক্রিপশনটি কেনার ধরণ। এই ফিল্ডটি শুধুমাত্র তখনই সেট করা হয়, যদি এই কেনাকাটাটি সাধারণ ইন-অ্যাপ বিলিং পদ্ধতি ব্যবহার করে করা না হয়ে থাকে। সম্ভাব্য মানগুলো হলো: ০. টেস্ট (অর্থাৎ লাইসেন্স টেস্টিং অ্যাকাউন্ট থেকে কেনা) ১. প্রোমো (অর্থাৎ প্রোমো কোড ব্যবহার করে কেনা) |
priceChange | সর্বশেষ মূল্য পরিবর্তনের তথ্য উপলব্ধ। এটি শুধুমাত্র তখনই প্রদর্শিত হয় যখন সাবস্ক্রিপশনের জন্য কোনো আসন্ন মূল্য পরিবর্তন কার্যকর হওয়ার থাকে। নতুন মূল্যে সাবস্ক্রিপশন নবায়ন হয়ে গেলে বা সাবস্ক্রিপশন বাতিল করা হলে, মূল্য পরিবর্তনের কোনো তথ্য ফেরত দেওয়া হবে না। |
profileName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রোফাইলের নাম। শুধুমাত্র 'Subscribe with Google' দিয়ে করা কেনাকাটার ক্ষেত্রেই এটি উপস্থিত থাকে। |
emailAddress | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর ইমেল ঠিকানা। শুধুমাত্র 'Subscribe with Google' দিয়ে করা কেনাকাটার ক্ষেত্রেই এটি উপস্থিত থাকে। |
givenName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রদত্ত নাম। শুধুমাত্র 'Subscribe with Google' দিয়ে করা কেনাকাটার ক্ষেত্রেই এটি উপস্থিত থাকে। |
familyName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর পদবি। শুধুমাত্র 'Subscribe with Google' দিয়ে করা কেনাকাটার ক্ষেত্রেই এটি প্রযোজ্য। |
profileId | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর গুগল প্রোফাইল আইডি। এটি শুধুমাত্র 'Subscribe with Google' ব্যবহার করে করা কেনাকাটার ক্ষেত্রেই উপস্থিত থাকে। |
acknowledgementState | সাবস্ক্রিপশন প্রোডাক্টটির স্বীকৃতি অবস্থা। সম্ভাব্য মানগুলো হলো: ০. এখনো স্বীকৃতি দেওয়া হয়নি ১. স্বীকৃতি দেওয়া হয়েছে |
externalAccountId | তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী। এটি শুধুমাত্র তখনই উপস্থিত থাকে, যখন সাবস্ক্রিপশন ক্রয় প্রক্রিয়ার অংশ হিসেবে অ্যাকাউন্ট লিঙ্ক করা হয়ে থাকে। |
promotionType | এই ক্রয়ের উপর প্রযোজ্য প্রচারের ধরন। এই ক্ষেত্রটি শুধুমাত্র তখনই সেট করা হয় যখন সাবস্ক্রিপশন কেনার সময় কোনো প্রচার প্রয়োগ করা হয়। সম্ভাব্য মানগুলি হলো: ০. এককালীন কোড ১. ভ্যানিটি কোড |
promotionCode | এই কেনাকাটায় প্রোমোশন কোডটি প্রয়োগ করা হয়েছে। এই ফিল্ডটি শুধুমাত্র তখনই সেট করা হয়, যখন সাবস্ক্রিপশন কেনার সময় কোনো ভ্যানিটি কোড প্রোমোশন প্রয়োগ করা হয়। |
obfuscatedExternalAccountId | আপনার অ্যাপে ব্যবহারকারীর অ্যাকাউন্টের সাথে অনন্যভাবে যুক্ত আইডি-র একটি অস্পষ্ট সংস্করণ। নিম্নলিখিত কেনাকাটার ক্ষেত্রে এটি উপস্থিত থাকে: * যদি সাবস্ক্রিপশন কেনার প্রক্রিয়ার অংশ হিসেবে অ্যাকাউন্ট লিঙ্ক করা হয়ে থাকে। * কেনাকাটা করার সময় https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid ব্যবহার করে এটি নির্দিষ্ট করা হয়ে থাকে। |
obfuscatedExternalProfileId | আইডি-র একটি অস্পষ্ট সংস্করণ যা আপনার অ্যাপে ব্যবহারকারীর প্রোফাইলের সাথে অনন্যভাবে যুক্ত থাকে। এটি শুধুমাত্র তখনই উপস্থিত থাকে, যদি ক্রয় করার সময় https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid ব্যবহার করে এটি নির্দিষ্ট করা হয়। |
প্রারম্ভিক মূল্যের তথ্য
সাবস্ক্রিপশনের প্রারম্ভিক মূল্য সংক্রান্ত তথ্য রয়েছে।
| JSON উপস্থাপনা |
|---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer } |
| ক্ষেত্র | |
|---|---|
introductoryPriceCurrencyCode | প্রারম্ভিক সাবস্ক্রিপশন মূল্যের জন্য ISO 4217 মুদ্রা কোড। উদাহরণস্বরূপ, যদি মূল্য ব্রিটিশ পাউন্ড স্টার্লিং-এ নির্দিষ্ট করা হয়, তাহলে priceCurrencyCode হবে "GBP"। |
introductoryPriceAmountMicros | সাবস্ক্রিপশনের প্রারম্ভিক মূল্য, কর ব্যতীত। মুদ্রাটি priceCurrencyCode-এর অনুরূপ। মূল্য মাইক্রো-ইউনিটে প্রকাশ করা হয়, যেখানে ১,০০০,০০০ মাইক্রো-ইউনিট মুদ্রার এক ইউনিটকে বোঝায়। উদাহরণস্বরূপ, যদি সাবস্ক্রিপশনের মূল্য €১.৯৯ হয়, তাহলে priceAmountMicros হবে ১৯৯০০০০। |
introductoryPricePeriod | প্রারম্ভিক মূল্যের সময়কাল, যা ISO 8601 ফরম্যাটে নির্দিষ্ট করা আছে। প্রচলিত মানগুলো হলো (তবে এগুলোর মধ্যেই সীমাবদ্ধ নয়) 'P1W' (এক সপ্তাহ), 'P1M' (এক মাস), 'P3M' (তিন মাস), 'P6M' (ছয় মাস), এবং 'P1Y' (এক বছর)। |
introductoryPriceCycles | প্রারম্ভিক মূল্য প্রদানের জন্য বিলিং পিরিয়ডের সংখ্যা। |
সাবস্ক্রিপশন বাতিল করুন সমীক্ষার ফলাফল
সাবস্ক্রিপশন বাতিলের প্রক্রিয়াটি (বাতিলের কারণ সম্পর্কিত সমীক্ষা) সম্পন্ন করার সময় ব্যবহারকারীর দেওয়া তথ্য।
| JSON উপস্থাপনা |
|---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string } |
| ক্ষেত্র | |
|---|---|
cancelSurveyReason | জরিপে ব্যবহারকারী বাতিলের যে কারণটি বেছে নিয়েছেন। সম্ভাব্য মানগুলো হলো: ০. অন্যান্য ১. আমি এই পরিষেবাটি যথেষ্ট ব্যবহার করি না ২. প্রযুক্তিগত সমস্যা ৩. খরচ-সম্পর্কিত কারণ ৪. আমি আরও ভালো একটি অ্যাপ পেয়েছি |
userInputCancelReason | ব্যবহারকারীর দেওয়া বাতিলের কারণ। এটি শুধুমাত্র তখনই উপস্থিত থাকে যখন cancelReason-এর মান ০ হয়। |
সাবস্ক্রিপশন মূল্য পরিবর্তন
এতে একটি সাবস্ক্রিপশনের মূল্য পরিবর্তনের তথ্য থাকে, যা অ্যাপের মধ্যে মূল্য পরিবর্তনের ক্ষেত্রে ব্যবহারকারীর প্রক্রিয়া নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। এটি ব্যবহারকারীর কাছ থেকে নিশ্চিতকরণ চাওয়ার মাধ্যমে অথবা সফল রূপান্তরের জন্য অভিজ্ঞতাকে বিশেষভাবে সাজানোর মাধ্যমে করা যেতে পারে।
| JSON উপস্থাপনা |
|---|
{
"newPrice": {
object ( |
| ক্ষেত্র | |
|---|---|
newPrice | ব্যবহারকারী মূল্য পরিবর্তনটি গ্রহণ করলে, এই নতুন মূল্যে সাবস্ক্রিপশনটি নবায়ন হবে। |
state | মূল্য পরিবর্তনের বর্তমান অবস্থা। সম্ভাব্য মানগুলো হলো: ০. অমীমাংসিত: ব্যবহারকারীর সম্মতির অপেক্ষায় থাকা একটি অনিষ্পন্ন মূল্য পরিবর্তনের অবস্থা। এই অবস্থায়, আপনি ঐচ্ছিকভাবে ইন-অ্যাপ এপিআই (In-App API) ব্যবহার করে ব্যবহারকারীর কাছ থেকে নিশ্চিতকরণ চাইতে পারেন। ১. গৃহীত: একটি গৃহীত মূল্য পরিবর্তনের অবস্থা, যা সাবস্ক্রিপশন বাতিল না করা পর্যন্ত এর সাথে নবায়ন হবে। সাবস্ক্রিপশন নবায়নের সময় ভবিষ্যতের কোনো এক তারিখে মূল্য পরিবর্তনটি কার্যকর হবে। উল্লেখ্য যে, পরবর্তী সাবস্ক্রিপশন নবায়নের সময় পরিবর্তনটি নাও ঘটতে পারে। |
পদ্ধতি | |
|---|---|
| সাবস্ক্রিপশন ক্রয়ের বিষয়টি স্বীকার করা হলো। |
(deprecated) | অপ্রচলিত: এর পরিবর্তে purchases.subscriptionsv2.cancel ব্যবহার করুন। |
(deprecated) | অপ্রচলিত: এর পরিবর্তে purchases.subscriptionsv2.defer ব্যবহার করুন। |
(deprecated) | অপ্রচলিত: এর পরিবর্তে purchases.subscriptionsv2.get ব্যবহার করুন। |
(deprecated) | অপ্রচলিত: এর পরিবর্তে orders.refund ব্যবহার করুন। |
(deprecated) | অপ্রচলিত: এর পরিবর্তে purchases.subscriptionsv2.revoke ব্যবহার করুন। |
ত্রুটি কোড
এই রিসোর্সের কার্যক্রম নিম্নলিখিত HTTP ত্রুটি কোডগুলি প্রদান করে:
| ত্রুটি কোড | কারণ | বর্ণনা | সমাধান |
|---|---|---|---|
400 / 410 | subscriptionExpired | সাবস্ক্রিপশনের মেয়াদ শেষ হয়ে গেছে এবং অনুরোধকৃত কাজটি সম্পাদন করা সম্ভব নয়। | সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময় যাচাই করুন। মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের ক্ষেত্রে এই কাজটি করা যাবে না। |
400 | subscriptionInvalidArgument | সাবস্ক্রিপশনের অনুরোধে একটি অবৈধ আর্গুমেন্ট প্রদান করা হয়েছিল। | এপিআই ডকুমেন্টেশন পর্যালোচনা করুন এবং নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় ফিল্ড পূরণ করা হয়েছে এবং সঠিকভাবে ফরম্যাট করা হয়েছে। |
400 | invalidPurchaseState | অনুরোধকৃত কাজটি সম্পাদন করার জন্য ক্রয়টি বৈধ অবস্থায় নেই। উদাহরণস্বরূপ, আপনি হয়তো ইতিমধ্যে সম্পন্ন হওয়া কোনো ক্রয়কে স্বীকৃতি দেওয়ার চেষ্টা করছেন অথবা এমন কোনো সাবস্ক্রিপশন বাতিল করার চেষ্টা করছেন যা সক্রিয় নয়। | অপারেশনটি শুরু করার আগে সংশ্লিষ্ট Get API ব্যবহার করে রিসোর্সটির বর্তমান অবস্থা যাচাই করুন। নিশ্চিত করুন যে রিসোর্সটি কাজটি করার জন্য উপযুক্ত অবস্থায় আছে। |
400 | invalidValue | অনুরোধে একটি অবৈধ মান প্রদান করা হয়েছে। ত্রুটিপূর্ণ বা অবৈধ ক্রয় টোকেনের ক্ষেত্রে প্রায়শই এটি ফেরত আসে। | এপিআই রেফারেন্স অনুযায়ী রিকোয়েস্ট বডি বা প্যারামিটারে থাকা ভুল ফিল্ড ভ্যালুটি সংশোধন করুন। |
400 | prepaidSubscriptionNotSupported | অনুরোধকৃত অপারেশনটি প্রিপেইড সাবস্ক্রিপশনের জন্য সমর্থিত নয়। | অপারেশনটি সাবস্ক্রিপশন টাইপের জন্য প্রযোজ্য কিনা তা নিশ্চিত করুন। এই ত্রুটিটি Cancel, Defer, Refund, বা Revoke-এর মতো মেথডগুলোর ক্ষেত্রে নির্দিষ্ট। |
400 | productNotOwnedByUser | প্রদত্ত ক্রয় টোকেনটি বৈধ, কিন্তু ব্যবহারকারী বর্তমানে পণ্যটির মালিক নন। স্বীকৃতি পাওয়ার আগেই ক্রয়টি ফেরত দেওয়া, প্রত্যাহার করা বা মেয়াদোত্তীর্ণ হয়ে গেলে এমনটা হতে পারে। | অপারেশনটি শুরু করার আগে সংশ্লিষ্ট Get API ব্যবহার করে রিসোর্সটির বর্তমান অবস্থা যাচাই করুন। নিশ্চিত করুন যে রিসোর্সটি কাজটি করার জন্য উপযুক্ত অবস্থায় আছে। |
400 | purchaseTokenMismatch | প্রদত্ত ক্রয় টোকেনটি ক্রয়, প্যাকেজের নাম, সাবস্ক্রিপশন আইডি বা প্রোডাক্ট আইডির সাথে মেলে না। | অনুরোধপত্রে থাকা সমস্ত বিবরণ সঠিক এবং পরস্পরের সাথে সামঞ্জস্যপূর্ণ কিনা তা যাচাই করুন। |
400 | required | অনুরোধে একটি প্রয়োজনীয় ফিল্ড বা প্যারামিটার অনুপস্থিত রয়েছে। | সকল আবশ্যিক ফিল্ড ও প্যারামিটার অন্তর্ভুক্ত আছে কিনা তা নিশ্চিত করতে এপিআই ডকুমেন্টেশন দেখুন। |
400 | unsupportedIabType | প্রদত্ত ইন-অ্যাপ বিলিং প্রকারের জন্য এই অপারেশনটি সমর্থিত নয়। | নিশ্চিত করুন যে এপিআই পদ্ধতিটি পরিচালিত আইটেম টাইপের সাথে সামঞ্জস্যপূর্ণ। |
403 | userInsufficientPermission | অনুরোধকৃত কাজটি সম্পাদন করার জন্য ব্যবহারকারীর পর্যাপ্ত অনুমতি নেই। | নিশ্চিত করুন যে প্রমাণীকৃত ব্যবহারকারীর গুগল প্লে কনসোলে প্রয়োজনীয় অনুমতি রয়েছে। আরও বিস্তারিত জানতে ‘পরিষেবা অ্যাকাউন্ট ব্যবহার করা’ দেখুন। |
404 | notFound | অনুরোধকৃত রিসোর্সটি খুঁজে পাওয়া যায়নি। | শনাক্তকারীগুলো (যেমন, ক্রয় টোকেন, প্যাকেজের নাম, প্রোডাক্ট আইডি, সাবস্ক্রিপশন আইডি) সঠিক কিনা তা যাচাই করুন। |
409 | concurrentUpdate | এমন একটি অবজেক্ট আপডেট করার চেষ্টা করা হয়েছিল যা একই সাথে আপডেট করা হচ্ছিল। | এক্সপোনেনশিয়াল ব্যাকঅফ সহ অনুরোধটি পুনরায় চেষ্টা করুন। একই রিসোর্সে যুগপৎ পরিবর্তন পরিহার করুন। |
410 | purchaseTokenNoLongerValid | ক্রয় টোকেনটি স্থায়ীভাবে অবৈধ, কারণ সংশ্লিষ্ট ব্যবহারকারী অ্যাকাউন্টটি মুছে ফেলা হয়েছে অথবা ক্রয়ের রেকর্ডটি আর বিদ্যমান নেই। | এই ক্রয় টোকেনটির ব্যবহার বন্ধ করুন। |
410 | subscriptionNoLongerAvailable | সাবস্ক্রিপশন ক্রয়ের তথ্যটি আর অনুসন্ধানের জন্য উপলব্ধ নেই, কারণ এটির মেয়াদ অনেক দিন আগেই শেষ হয়ে গেছে। | এই ত্রুটিটি নির্দেশ করে যে সাবস্ক্রিপশনটির মেয়াদ ৬০ দিনের বেশি সময় ধরে শেষ হয়ে গেছে। আপনার আর এই সাবস্ক্রিপশনগুলো সম্পর্কে অনুসন্ধান করা উচিত নয়। |
5xx | Generic error | গুগল প্লে সার্ভারে সাধারণ ত্রুটি। | আপনার অনুরোধটি পুনরায় চেষ্টা করুন। সমস্যাটি অব্যাহত থাকলে আপনার গুগল প্লে অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন অথবা একটি সাপোর্ট রিকোয়েস্ট জমা দিন। কোনো জ্ঞাত বিভ্রাটের জন্য প্লে স্ট্যাটাস ড্যাশবোর্ডটি পরীক্ষা করে দেখতে পারেন। |