REST Resource: purchases.subscriptions

রিসোর্স: সাবস্ক্রিপশন ক্রয়

একটি সাবস্ক্রিপশন পারচেজ রিসোর্স ব্যবহারকারীর সাবস্ক্রিপশন ক্রয়ের অবস্থা নির্দেশ করে।

JSON উপস্থাপনা
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
ক্ষেত্র
kind

string

এই ধরণেরটি androidpublisher পরিষেবাতে একটি subscriptionPurchase অবজেক্টকে প্রতিনিধিত্ব করে।

startTimeMillis

string ( int64 format)

যুগের পর থেকে মিলিসেকেন্ডে সাবস্ক্রিপশন মঞ্জুর করার সময়।

expiryTimeMillis

string ( int64 format)

সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময়, যুগের পর থেকে মিলিসেকেন্ডে।

autoResumeTimeMillis

string ( int64 format)

সাবস্ক্রিপশন স্বয়ংক্রিয়ভাবে পুনরায় চালু হওয়ার সময়, যুগের পর থেকে মিলিসেকেন্ডে। ব্যবহারকারী যদি সাবস্ক্রিপশন থামানোর অনুরোধ করে থাকেন তবেই কেবল তা উপস্থিত থাকবে।

autoRenewing

boolean

সাবস্ক্রিপশনটি তার বর্তমান মেয়াদ শেষ হওয়ার সময় পৌঁছালে স্বয়ংক্রিয়ভাবে নবায়ন হবে কিনা।

priceCurrencyCode

string

সাবস্ক্রিপশন মূল্যের জন্য ISO 4217 মুদ্রা কোড। উদাহরণস্বরূপ, যদি মূল্য ব্রিটিশ পাউন্ড স্টার্লিংয়ে নির্দিষ্ট করা হয়, তাহলে priceCurrencyCode হল "GBP"।

priceAmountMicros

string ( int64 format)

সাবস্ক্রিপশনের মূল্য, কর-বহির্ভূত দেশগুলির জন্য, মূল্যে কর অন্তর্ভুক্ত নয়। কর-অন্তর্ভুক্ত দেশগুলির জন্য, মূল্যে কর অন্তর্ভুক্ত। মূল্য মাইক্রো-ইউনিটে প্রকাশ করা হয়, যেখানে ১,০০০,০০০ মাইক্রো-ইউনিট মুদ্রার এক ইউনিটকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, যদি সাবস্ক্রিপশনের মূল্য €১.৯৯ হয়, তাহলে মূল্য পরিমাণ মাইক্রোস ১৯৯০০০০।

introductoryPriceInfo

object ( IntroductoryPriceInfo )

সাবস্ক্রিপশনের প্রারম্ভিক মূল্যের তথ্য। এটি কেবল তখনই উপস্থিত থাকে যখন সাবস্ক্রিপশনটি প্রারম্ভিক মূল্যে কেনা হয়েছিল।

এই ক্ষেত্রটি ইঙ্গিত দেয় না যে সাবস্ক্রিপশনটি বর্তমানে প্রারম্ভিক মূল্যের মধ্যে রয়েছে।

countryCode

string

সাবস্ক্রিপশন মঞ্জুর করার সময় ব্যবহারকারীর ISO 3166-1 আলফা-2 বিলিং দেশ/অঞ্চল কোড।

developerPayload

string

একটি ডেভেলপার-নির্দিষ্ট স্ট্রিং যাতে একটি অর্ডার সম্পর্কে সম্পূরক তথ্য থাকে।

paymentState

integer

সাবস্ক্রিপশনের পেমেন্ট অবস্থা। সম্ভাব্য মানগুলি হল: ০. পেমেন্ট মুলতুবি ১. পেমেন্ট প্রাপ্ত ২. বিনামূল্যে ট্রায়াল ৩. বিলম্বিত আপগ্রেড/ডাউনগ্রেড মুলতুবি

বাতিল, মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের জন্য উপস্থিত নেই।

cancelReason

integer

সাবস্ক্রিপশন বাতিল হওয়ার কারণ অথবা স্বয়ংক্রিয়ভাবে নবায়ন না হওয়ার কারণ। সম্ভাব্য মানগুলি হল: ০. ব্যবহারকারী সাবস্ক্রিপশন বাতিল করেছেন ১. সিস্টেম দ্বারা সাবস্ক্রিপশন বাতিল করা হয়েছে, উদাহরণস্বরূপ বিলিং সমস্যার কারণে ২. সাবস্ক্রিপশনটি একটি নতুন সাবস্ক্রিপশন দিয়ে প্রতিস্থাপন করা হয়েছে ৩. ডেভেলপার দ্বারা সাবস্ক্রিপশন বাতিল করা হয়েছে

userCancellationTimeMillis

string ( int64 format)

ব্যবহারকারী যে সময়ে সাবস্ক্রিপশন বাতিল করেছেন, সেই সময়কাল থেকে মিলিসেকেন্ডে। শুধুমাত্র যদি বাতিলকরণের কারণ ০ হয় তাহলেই তা উপস্থিত থাকবে।

cancelSurveyResult

object ( SubscriptionCancelSurveyResult )

সাবস্ক্রিপশন বাতিলকরণ প্রক্রিয়া (বাতিলকরণের কারণ জরিপ) সম্পন্ন করার সময় ব্যবহারকারীর দ্বারা প্রদত্ত তথ্য।

orderId

string

সাবস্ক্রিপশন কেনার সাথে সম্পর্কিত সর্বশেষ পুনরাবৃত্ত অর্ডারের অর্ডার আইডি। যদি পেমেন্ট প্রত্যাখ্যানের কারণে সাবস্ক্রিপশন বাতিল করা হয়, তাহলে এটি পেমেন্ট প্রত্যাখ্যান করা অর্ডারের অর্ডার আইডি হবে।

linkedPurchaseToken

string

যদি এই সাবস্ক্রিপশনটি নিম্নলিখিতগুলির মধ্যে একটি হয়, তাহলে মূল ক্রয়ের ক্রয় টোকেন: ০. বাতিল করা কিন্তু অ-ল্যাপসড সাবস্ক্রিপশনের পুনরায় সাইন আপ করুন ১. পূর্ববর্তী সাবস্ক্রিপশন থেকে আপগ্রেড/ডাউনগ্রেড করুন

উদাহরণস্বরূপ, ধরুন একজন ব্যবহারকারী প্রথমে সাইন আপ করেন এবং আপনি ক্রয় টোকেন X পান, তারপর ব্যবহারকারী বাতিল করে রিজাইনআপ প্রবাহের মধ্য দিয়ে যান (তাদের সাবস্ক্রিপশন ল্যাপস হওয়ার আগে) এবং আপনি ক্রয় টোকেন Y পান, এবং অবশেষে ব্যবহারকারী তাদের সাবস্ক্রিপশন আপগ্রেড করেন এবং আপনি ক্রয় টোকেন Z পান। আপনি যদি এই API কে ক্রয় টোকেন Z দিয়ে কল করেন, তাহলে এই ক্ষেত্রটি Y তে সেট করা হবে। আপনি যদি ক্রয় টোকেন Y দিয়ে এই API কে কল করেন, তাহলে এই ক্ষেত্রটি X তে সেট করা হবে। আপনি যদি ক্রয় টোকেন X দিয়ে এই API কে কল করেন, তাহলে এই ক্ষেত্রটি সেট করা হবে না।

purchaseType

integer

সাবস্ক্রিপশন কেনার ধরণ। এই ক্ষেত্রটি কেবলমাত্র তখনই সেট করা হয় যদি এই ক্রয়টি স্ট্যান্ডার্ড ইন-অ্যাপ বিলিং ফ্লো ব্যবহার করে করা না হয়। সম্ভাব্য মানগুলি হল: 0. পরীক্ষা (অর্থাৎ লাইসেন্স টেস্টিং অ্যাকাউন্ট থেকে কেনা) 1. প্রচার (অর্থাৎ একটি প্রচার কোড ব্যবহার করে কেনা)

priceChange

object ( SubscriptionPriceChange )

সর্বশেষ মূল্য পরিবর্তনের তথ্য উপলব্ধ। এটি কেবলমাত্র তখনই উপস্থিত থাকে যখন সাবস্ক্রিপশনের জন্য আসন্ন মূল্য পরিবর্তন এখনও প্রযোজ্য হয়নি।

নতুন মূল্যের সাথে সাবস্ক্রিপশন পুনর্নবীকরণ করা হলে অথবা সাবস্ক্রিপশন বাতিল করা হলে, মূল্য পরিবর্তনের কোনও তথ্য ফেরত দেওয়া হবে না।

profileName

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রোফাইল নাম। শুধুমাত্র 'সাবস্ক্রাইব উইথ গুগল' দিয়ে করা কেনাকাটার জন্য এটি ব্যবহার করা যেতে পারে।

emailAddress

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর ইমেল ঠিকানা। শুধুমাত্র 'সাবস্ক্রাইব উইথ গুগল' ব্যবহার করে করা কেনাকাটার জন্য উপলব্ধ।

givenName

string

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

familyName

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর পারিবারিক নাম। শুধুমাত্র 'সাবস্ক্রাইব উইথ গুগল' দিয়ে করা কেনাকাটার ক্ষেত্রেই এটি ব্যবহার করা যাবে।

profileId

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর Google প্রোফাইল আইডি। শুধুমাত্র 'Subscribe with Google' ব্যবহার করে করা কেনাকাটার ক্ষেত্রে এটি ব্যবহার করা যাবে।

acknowledgementState

integer

সাবস্ক্রিপশন পণ্যের স্বীকৃতির অবস্থা। সম্ভাব্য মানগুলি হল: 0। এখনও স্বীকৃতি দেওয়া হয়নি 1. স্বীকৃতিপ্রাপ্ত

externalAccountId

string

তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী। সাবস্ক্রিপশন ক্রয় প্রবাহের অংশ হিসাবে অ্যাকাউন্ট লিঙ্কিং করা হলেই কেবল তা উপস্থিত থাকবে।

promotionType

integer

এই ক্রয়ে প্রয়োগ করা প্রোমোশনের ধরণ। সাবস্ক্রিপশন কেনার সময় প্রোমোশন প্রয়োগ করা হলেই এই ফিল্ডটি সেট করা হয়। সম্ভাব্য মানগুলি হল: ০. এককালীন কোড ১. ভ্যানিটি কোড

promotionCode

string

এই ক্রয়ে প্রয়োগকৃত প্রচার কোড। সাবস্ক্রিপশন কেনার সময় ভ্যানিটি কোড প্রয়োগ করা হলেই কেবল এই ক্ষেত্রটি সেট করা হবে।

obfuscatedExternalAccountId

string

আপনার অ্যাপে ব্যবহারকারীর অ্যাকাউন্টের সাথে অনন্যভাবে যুক্ত আইডির একটি অস্পষ্ট সংস্করণ। নিম্নলিখিত কেনাকাটার জন্য উপস্থাপন করুন: * যদি সাবস্ক্রিপশন ক্রয় প্রবাহের অংশ হিসাবে অ্যাকাউন্ট লিঙ্কিং ঘটে থাকে। * কেনাকাটা করার সময় এটি https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid ব্যবহার করে নির্দিষ্ট করা হয়েছিল।

obfuscatedExternalProfileId

string

আপনার অ্যাপে ব্যবহারকারীর প্রোফাইলের সাথে অনন্যভাবে যুক্ত আইডির একটি অস্পষ্ট সংস্করণ। কেনার সময় https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid ব্যবহার করে নির্দিষ্ট করা থাকলেই এটি উপস্থিত হবে।

ভূমিকামূল্য তথ্য

সাবস্ক্রিপশনের প্রাথমিক মূল্যের তথ্য রয়েছে।

JSON উপস্থাপনা
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
ক্ষেত্র
introductoryPriceCurrencyCode

string

প্রারম্ভিক সাবস্ক্রিপশন মূল্যের জন্য ISO 4217 মুদ্রা কোড। উদাহরণস্বরূপ, যদি মূল্য ব্রিটিশ পাউন্ড স্টার্লিংয়ে নির্দিষ্ট করা হয়, তাহলে priceCurrencyCode হল "GBP"।

introductoryPriceAmountMicros

string ( int64 format)

সাবস্ক্রিপশনের প্রারম্ভিক মূল্য, কর অন্তর্ভুক্ত নয়। মুদ্রাটি priceCurrencyCode এর মতোই। মূল্য মাইক্রো-ইউনিটে প্রকাশ করা হয়, যেখানে 1,000,000 মাইক্রো-ইউনিট মুদ্রার এক ইউনিটকে প্রতিনিধিত্ব করে। উদাহরণস্বরূপ, যদি সাবস্ক্রিপশন মূল্য €1.99 হয়, তাহলে priceAmountMicros হল 1990000।

introductoryPricePeriod

string

প্রারম্ভিক মূল্য সময়কাল, ISO 8601 ফর্ম্যাটে নির্দিষ্ট করা হয়েছে। সাধারণ মানগুলি হল (কিন্তু সীমাবদ্ধ নয়) "P1W" (এক সপ্তাহ), "P1M" (এক মাস), "P3M" (তিন মাস), "P6M" (ছয় মাস), এবং "P1Y" (এক বছর)।

introductoryPriceCycles

integer

প্রারম্ভিক মূল্য প্রদানের জন্য বিলিং সময়ের সংখ্যা।

সাবস্ক্রিপশনবাতিলজরিপের ফলাফল

সাবস্ক্রিপশন বাতিলকরণ প্রক্রিয়া (বাতিলকরণের কারণ জরিপ) সম্পন্ন করার সময় ব্যবহারকারীর দ্বারা প্রদত্ত তথ্য।

JSON উপস্থাপনা
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
ক্ষেত্র
cancelSurveyReason

integer

ব্যবহারকারী জরিপে বাতিলকরণের কারণটি বেছে নিয়েছেন। সম্ভাব্য মানগুলি হল: 0. অন্যান্য 1. আমি এই পরিষেবাটি যথেষ্ট ব্যবহার করি না 2. প্রযুক্তিগত সমস্যা 3. খরচ-সম্পর্কিত কারণ 4. আমি আরও ভাল একটি অ্যাপ খুঁজে পেয়েছি।

userInputCancelReason

string

ব্যবহারকারীর কাছ থেকে কাস্টমাইজড ইনপুট বাতিলের কারণ। শুধুমাত্র তখনই উপস্থিত হবে যখন cancelReason 0 হয়।

সাবস্ক্রিপশনমূল্য পরিবর্তন

এতে সাবস্ক্রিপশনের মূল্য পরিবর্তনের তথ্য রয়েছে যা অ্যাপে মূল্য পরিবর্তনের জন্য ব্যবহারকারীর যাত্রা নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। এটি ব্যবহারকারীর কাছ থেকে নিশ্চিতকরণ চাওয়ার মাধ্যমে অথবা সফল রূপান্তরের জন্য অভিজ্ঞতা তৈরির মাধ্যমে হতে পারে।

JSON উপস্থাপনা
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
ক্ষেত্র
newPrice

object ( Price )

ব্যবহারকারী যদি মূল্য পরিবর্তন গ্রহণ করেন, তাহলে সাবস্ক্রিপশনটি যে নতুন মূল্যে নবায়ন করা হবে।

state

integer

মূল্য পরিবর্তনের বর্তমান অবস্থা। সম্ভাব্য মানগুলি হল: 0. অসামান্য: ব্যবহারকারীর সম্মতির জন্য অপেক্ষা করা একটি মুলতুবি মূল্য পরিবর্তনের কথা উল্লেখ করুন। এই অবস্থায়, আপনি ঐচ্ছিকভাবে ইন-অ্যাপ API ব্যবহার করে ব্যবহারকারীর কাছ থেকে নিশ্চিতকরণ চাইতে পারেন। 1. গৃহীত: একটি গৃহীত মূল্য পরিবর্তনের কথা উল্লেখ করুন যার সাথে সাবস্ক্রিপশনটি পুনর্নবীকরণ করা হবে যদি না এটি বাতিল করা হয়। মূল্য পরিবর্তনটি ভবিষ্যতের তারিখে কার্যকর হবে যখন সাবস্ক্রিপশন পুনর্নবীকরণ করা হবে। মনে রাখবেন যে পরবর্তী সাবস্ক্রিপশন পুনর্নবীকরণের সময় পরিবর্তনটি নাও ঘটতে পারে।

পদ্ধতি

acknowledge

সাবস্ক্রিপশন ক্রয় স্বীকার করে।

cancel

একজন ব্যবহারকারীর সাবস্ক্রিপশন ক্রয় বাতিল করে।

defer

ব্যবহারকারীর সাবস্ক্রিপশন ক্রয় ভবিষ্যতের একটি নির্দিষ্ট মেয়াদ শেষ হওয়ার সময় পর্যন্ত স্থগিত করে।

get
(deprecated)

বন্ধ করা হয়েছে: পরিবর্তে purchases.subscriptionsv2.get ব্যবহার করুন।

refund
(deprecated)

বন্ধ করা হয়েছে: পরিবর্তে orders.refund ব্যবহার করুন।

revoke
(deprecated)

বন্ধ করা হয়েছে: পরিবর্তে purchases.subscriptionsv2.revoke ব্যবহার করুন।

ত্রুটি কোড

এই রিসোর্সের ক্রিয়াকলাপগুলি নিম্নলিখিত HTTP ত্রুটি কোডগুলি ফেরত দেয়:

ত্রুটি কোড কারণ বিবরণ রেজোলিউশন
400 / 410 subscriptionExpired সাবস্ক্রিপশনের মেয়াদ শেষ হয়ে গেছে এবং অনুরোধকৃত ক্রিয়াকলাপটি সম্পাদন করা যাচ্ছে না। সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার সময় পরীক্ষা করুন। মেয়াদোত্তীর্ণ সাবস্ক্রিপশনে এই ক্রিয়াকলাপ অনুমোদিত নয়।
400 subscriptionInvalidArgument সাবস্ক্রিপশনের অনুরোধে একটি অবৈধ যুক্তি প্রদান করা হয়েছিল। API ডকুমেন্টেশন পর্যালোচনা করুন এবং নিশ্চিত করুন যে সমস্ত প্রয়োজনীয় ক্ষেত্র প্রদান করা হয়েছে এবং সঠিকভাবে ফর্ম্যাট করা হয়েছে।
400 invalidPurchaseState অনুরোধকৃত ক্রিয়াকলাপ সম্পাদনের জন্য ক্রয়টি বৈধ অবস্থায় নেই। উদাহরণস্বরূপ, আপনি হয়তো ইতিমধ্যেই ব্যবহৃত একটি ক্রয় স্বীকার করার চেষ্টা করছেন অথবা সক্রিয় নয় এমন একটি সাবস্ক্রিপশন বাতিল করার চেষ্টা করছেন। অপারেশনটি করার আগে সংশ্লিষ্ট Get API ব্যবহার করে রিসোর্সের বর্তমান অবস্থা পরীক্ষা করুন। নিশ্চিত করুন যে রিসোর্সটি অ্যাকশনের জন্য উপযুক্ত অবস্থায় আছে।
400 invalidValue অনুরোধে একটি অবৈধ মান প্রদান করা হয়েছে। এটি প্রায়শই একটি ত্রুটিপূর্ণ বা অবৈধ ক্রয় টোকেনের জন্য ফেরত পাঠানো হয়। API রেফারেন্সের উপর ভিত্তি করে অনুরোধের বডি বা প্যারামিটারে অবৈধ ফিল্ড মান সংশোধন করুন।
400 prepaidSubscriptionNotSupported প্রিপেইড সাবস্ক্রিপশনের জন্য অনুরোধ করা অপারেশনটি সমর্থিত নয়। নিশ্চিত করুন যে অপারেশনটি সাবস্ক্রিপশনের ধরণের জন্য প্রযোজ্য। এই ত্রুটিটি বাতিল, স্থগিত, ফেরত, বা প্রত্যাহারের মতো পদ্ধতিগুলির জন্য নির্দিষ্ট।
400 productNotOwnedByUser প্রদত্ত ক্রয় টোকেনটি বৈধ, কিন্তু ব্যবহারকারী বর্তমানে পণ্যটির মালিক নন। স্বীকৃতির আগে যদি ক্রয়টি ফেরত দেওয়া হয়, প্রত্যাহার করা হয় বা মেয়াদোত্তীর্ণ হয়ে যায়, তাহলে এটি ঘটতে পারে। অপারেশনটি করার আগে সংশ্লিষ্ট Get API ব্যবহার করে রিসোর্সের বর্তমান অবস্থা পরীক্ষা করুন। নিশ্চিত করুন যে রিসোর্সটি অ্যাকশনের জন্য উপযুক্ত অবস্থায় আছে।
400 purchaseTokenMismatch প্রদত্ত ক্রয় টোকেন ক্রয়, প্যাকেজের নাম, সাবস্ক্রিপশন আইডি বা পণ্য আইডির সাথে মেলে না। অনুরোধে উল্লেখিত সমস্ত বিবরণ সঠিক এবং একে অপরের সাথে সামঞ্জস্যপূর্ণ কিনা তা যাচাই করুন।
400 required অনুরোধটিতে একটি প্রয়োজনীয় ক্ষেত্র বা প্যারামিটার অনুপস্থিত। সমস্ত বাধ্যতামূলক ক্ষেত্র এবং পরামিতি অন্তর্ভুক্ত আছে কিনা তা নিশ্চিত করতে API ডকুমেন্টেশন দেখুন।
400 unsupportedIabType প্রদত্ত ইন-অ্যাপ বিলিং ধরণের জন্য এই ক্রিয়াকলাপটি সমর্থিত নয়। নিশ্চিত করুন যে API পদ্ধতিটি পরিচালিত আইটেম ধরণের সাথে সামঞ্জস্যপূর্ণ।
403 userInsufficientPermission অনুরোধকৃত ক্রিয়াকলাপটি সম্পাদন করার জন্য ব্যবহারকারীর পর্যাপ্ত অনুমতি নেই। নিশ্চিত করুন যে প্রমাণিত ব্যবহারকারীর Google Play Console-এ প্রয়োজনীয় অনুমতি আছে। আরও বিস্তারিত জানার জন্য "একটি পরিষেবা অ্যাকাউন্ট ব্যবহার করা" দেখুন।
404 notFound অনুরোধ করা রিসোর্সটি খুঁজে পাওয়া যায়নি। শনাক্তকারী (যেমন, ক্রয় টোকেন, প্যাকেজের নাম, পণ্য আইডি, সাবস্ক্রিপশন আইডি) সঠিক কিনা তা যাচাই করুন।
409 concurrentUpdate একই সাথে আপডেট করা হচ্ছে এমন একটি অবজেক্ট আপডেট করার চেষ্টা করা হয়েছিল। এক্সপোনেনশিয়াল ব্যাকঅফ দিয়ে অনুরোধটি পুনরায় চেষ্টা করুন। একই রিসোর্সে একযোগে পরিবর্তন এড়িয়ে চলুন।
410 purchaseTokenNoLongerValid ক্রয় টোকেনটি স্থায়ীভাবে অবৈধ কারণ সংশ্লিষ্ট ব্যবহারকারীর অ্যাকাউন্টটি মুছে ফেলা হয়েছে অথবা ক্রয় রেকর্ডটি আর বিদ্যমান নেই। এই ক্রয় টোকেন ব্যবহার বন্ধ করুন।
410 subscriptionNoLongerAvailable সাবস্ক্রিপশন ক্রয়টি আর অনুসন্ধানের জন্য উপলব্ধ নেই কারণ এটির মেয়াদ অনেক দিন ধরে শেষ হয়ে গেছে। এই ত্রুটিটি ইঙ্গিত দেয় যে সাবস্ক্রিপশনের মেয়াদ ৬০ দিনেরও বেশি সময় ধরে শেষ হয়ে গেছে। আপনার আর এই সাবস্ক্রিপশনগুলি জিজ্ঞাসা করা উচিত নয়।
5xx Generic error গুগল প্লে সার্ভারে সাধারণ ত্রুটি। আপনার অনুরোধটি আবার চেষ্টা করুন।

যদি সমস্যাটি থেকে যায়, তাহলে আপনার Google Play অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন অথবা একটি সহায়তা অনুরোধ জমা দিন। কোনও পরিচিত বিভ্রাটের জন্য Play Status Dashboard চেক করার কথা বিবেচনা করুন।