- রিসোর্স: সাবস্ক্রিপশনপারচেজভি২
- সাবস্ক্রিপশন স্টেট
- PausedStateContext
- বাতিলকৃত স্টেট কনটেক্সট
- ব্যবহারকারীর দ্বারা বাতিলকরণ
- জরিপের ফলাফল বাতিল করুন
- জরিপ বাতিল করার কারণ
- সিস্টেম দ্বারা বাতিলকরণ
- ডেভেলপারের উদ্যোগে বাতিলকরণ
- প্রতিস্থাপন বাতিলকরণ
- টেস্টপারচেজ
- স্বীকৃতি অবস্থা
- বাহ্যিক অ্যাকাউন্ট শনাক্তকারী
- গুগল ইনফো দিয়ে সাবস্ক্রাইব করুন
- সাবস্ক্রিপশন ক্রয় লাইন আইটেম
- স্বয়ংক্রিয় নবায়নযোগ্য পরিকল্পনা
- সাবস্ক্রিপশন আইটেমের মূল্য পরিবর্তনের বিবরণ
- মূল্য পরিবর্তন মোড
- মূল্য পরিবর্তন অবস্থা
- কিস্তি পরিকল্পনা
- বাতিলের অপেক্ষায়
- মূল্য ধাপ সম্মতি বিবরণ
- সম্মতি অবস্থা
- প্রিপেইড প্ল্যান
- অফারের বিবরণ
- স্থগিত আইটেম প্রতিস্থাপন
- স্থগিত আইটেম অপসারণ
- সাইনআপ প্রচার
- ওয়ানটাইমকোড
- ভ্যানিটিকোড
- আইটেম প্রতিস্থাপন
- প্রতিস্থাপন মোড
- অফার ফেজ
- আনুপাতিক সময়কাল অফার পর্যায়
- মূল অফারের পর্যায় প্রকার
- বিনামূল্যে ট্রায়াল অফার পর্যায়
- প্রারম্ভিক মূল্যের অফার পর্যায়
- বেসপ্রাইসঅফারফেজ
- আউটঅফঅ্যাপপারচেজকনটেক্সট
- OnHoldStateContext
- পুনর্নবীকরণ প্রত্যাখ্যানের প্রেক্ষাপট
- InGracePeriodStateContext
- পদ্ধতি
রিসোর্স: সাবস্ক্রিপশনপারচেজভি২
ব্যবহারকারীর সাবস্ক্রিপশন ক্রয়ের অবস্থা নির্দেশ করে।
| JSON উপস্থাপনা |
|---|
{ "kind": string, "regionCode": string, "lineItems": [ { object ( |
| ক্ষেত্র | |
|---|---|
kind | এই প্রকারটি androidpublisher সার্ভিসে থাকা একটি SubscriptionPurchaseV2 অবজেক্টকে প্রতিনিধিত্ব করে। |
regionCode | সাবস্ক্রিপশন মঞ্জুর করার সময় ব্যবহারকারীর আইএসও ৩১৬৬-১ আলফা-২ বিলিং দেশ/অঞ্চল কোড। |
lineItems[] | একটি সাবস্ক্রিপশন ক্রয়ের আইটেম-ভিত্তিক তথ্য। একই ক্রয়ের অন্তর্ভুক্ত আইটেমগুলো হয় সবগুলোই অটো-রিনিউয়িং প্ল্যান (AutoRenewingPlan) অথবা সবগুলোই প্রিপেইড প্ল্যান (PrepaidPlan)-এর হতে হবে। |
startTime | যে সময়ে সাবস্ক্রিপশন মঞ্জুর করা হয়েছিল। অপেক্ষাধীন সাবস্ক্রিপশনগুলির জন্য সেট করা নেই (সাইনআপের সময় সাবস্ক্রিপশন তৈরি করা হয়েছিল কিন্তু পেমেন্টের জন্য অপেক্ষারত ছিল)। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
subscriptionState | সাবস্ক্রিপশনটির বর্তমান অবস্থা। |
latestOrderId | অপ্রচলিত: এর পরিবর্তে lineItems.latest_successful_order_id ব্যবহার করুন। সাবস্ক্রিপশন ক্রয়ের সাথে যুক্ত সর্বশেষ অর্ডারের অর্ডার আইডি। স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনের ক্ষেত্রে, এটি সাইনআপ অর্ডারের অর্ডার আইডি যদি তা এখনও নবায়ন করা না হয়ে থাকে, অথবা সর্বশেষ পুনরাবৃত্ত অর্ডারের আইডি (সফল, অপেক্ষাধীন বা বাতিল হওয়া অর্ডার)। প্রিপেইড সাবস্ক্রিপশনের ক্ষেত্রে, এটি কোয়েরি করা পারচেজ টোকেনের সাথে যুক্ত অর্ডার আইডি। |
linkedPurchaseToken | পুরানো সাবস্ক্রিপশনের পারচেজ টোকেন, যদি এই সাবস্ক্রিপশনটি নিম্নলিখিতগুলির মধ্যে একটি হয়: * বাতিল কিন্তু মেয়াদোত্তীর্ণ হয়নি এমন সাবস্ক্রিপশনের পুনরায় সাইন-আপ। * পূর্ববর্তী সাবস্ক্রিপশন থেকে আপগ্রেড/ডাউনগ্রেড। * প্রিপেইড থেকে স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনে রূপান্তর। * স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশন থেকে প্রিপেইডে রূপান্তর। * একটি প্রিপেইড সাবস্ক্রিপশনে টপ-আপ। |
pausedStateContext | পজ করা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যখন সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_PAUSED থাকবে। |
canceledStateContext | বাতিল হওয়া সাবস্ক্রিপশন সংক্রান্ত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যখন সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_CANCELED বা SUBSCRIPTION_STATE_EXPIRED হবে। |
testPurchase | শুধুমাত্র তখনই উপস্থিত থাকবে, যদি এই সাবস্ক্রিপশন ক্রয়টি একটি পরীক্ষামূলক ক্রয় হয়। |
acknowledgementState | সাবস্ক্রিপশনের স্বীকৃতি অবস্থা। |
externalAccountIdentifiers | তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী। |
subscribeWithGoogleInfo | 'Subscribe with Google'-এর মাধ্যমে করা কেনাকাটার সাথে যুক্ত ব্যবহারকারীর প্রোফাইল। |
etag | সাবস্ক্রিপশনের বর্তমান অবস্থা নির্দেশকারী এনটিটি ট্যাগ। ডেভেলপার সাবস্ক্রিপশন সংক্রান্ত কার্যকলাপের জন্য এই ই-ট্যাগটি সরবরাহ করবে। স্বয়ংক্রিয়ভাবে নবায়নযোগ্য এবং প্রিপেইড সাবস্ক্রিপশনের ক্ষেত্রে এই ই-ট্যাগটি সর্বদা উপস্থিত থাকে। |
outOfAppPurchaseContext | অ্যাপের বাইরের কেনাকাটার জন্য অতিরিক্ত তথ্য। এই তথ্যটি শুধুমাত্র গুগল প্লে সাবস্ক্রিপশন সেন্টারের মাধ্যমে করা পুনঃ-সাবস্ক্রিপশন কেনাকাটার (একই পণ্যের পূর্ববর্তী সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার পর করা সাবস্ক্রিপশন কেনাকাটা) ক্ষেত্রেই উপস্থিত থাকে। আপনি সাবস্ক্রিপশনটি নিশ্চিত করার পর এই ফিল্ডটি মুছে ফেলা হবে। |
onHoldStateContext | ঐচ্ছিক। ON_HOLD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যদি সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_ON_HOLD হয়। |
inGracePeriodStateContext | ঐচ্ছিক। IN_GRACE_PERIOD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত তথ্য। এটি কেবল তখনই উপস্থিত থাকবে, যদি সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_IN_GRACE_PERIOD হয়। |
সাবস্ক্রিপশন স্টেট
একটি সাবস্ক্রিপশন যে যে সম্ভাব্য অবস্থায় থাকতে পারে, যেমন সেটি সক্রিয় নাকি বাতিল। একটি সাবস্ক্রিপশন ক্রয়ের অন্তর্ভুক্ত আইটেমগুলো হয় সম্পূর্ণ স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান অথবা প্রিপেইড প্ল্যান হতে পারে।
| এনাম | |
|---|---|
SUBSCRIPTION_STATE_UNSPECIFIED | অনির্দিষ্ট সাবস্ক্রিপশন অবস্থা। |
SUBSCRIPTION_STATE_PENDING | সাইনআপের সময় সাবস্ক্রিপশন তৈরি করা হয়েছিল কিন্তু পেমেন্টের জন্য অপেক্ষা করা হচ্ছে। এই অবস্থায়, সমস্ত আইটেম পেমেন্টের জন্য অপেক্ষারত। |
SUBSCRIPTION_STATE_ACTIVE | সাবস্ক্রিপশন সক্রিয় আছে। - (1) যদি সাবস্ক্রিপশনটি একটি স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান হয়, তাহলে অন্তত একটি আইটেম autoRenewEnabled এবং মেয়াদোত্তীর্ণ নয়। - (2) যদি সাবস্ক্রিপশনটি একটি প্রিপেইড প্ল্যান হয়, তাহলে অন্তত একটি আইটেমের মেয়াদোত্তীর্ণ হয়নি। |
SUBSCRIPTION_STATE_PAUSED | সাবস্ক্রিপশন স্থগিত আছে। এই অবস্থাটি কেবল তখনই পাওয়া যায় যখন সাবস্ক্রিপশনটি একটি স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান হয়। এই অবস্থায়, সমস্ত আইটেম স্থগিত অবস্থায় থাকে। |
SUBSCRIPTION_STATE_IN_GRACE_PERIOD | সাবস্ক্রিপশন গ্রেস পিরিয়ডে আছে। এই অবস্থাটি শুধুমাত্র তখনই দেখা যায় যখন সাবস্ক্রিপশনটি একটি স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান হয়। এই অবস্থায়, সমস্ত আইটেম গ্রেস পিরিয়ডে থাকে। |
SUBSCRIPTION_STATE_ON_HOLD | সাবস্ক্রিপশন স্থগিত (সাসপেন্ড) আছে। এই অবস্থাটি শুধুমাত্র তখনই দেখা যায় যখন সাবস্ক্রিপশনটি একটি স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান হয়। এই অবস্থায়, সমস্ত আইটেম স্থগিত থাকে। |
SUBSCRIPTION_STATE_CANCELED | সাবস্ক্রিপশন বাতিল করা হয়েছে কিন্তু এখনও মেয়াদ শেষ হয়নি। এই অবস্থাটি কেবল তখনই উপলব্ধ হয় যখন সাবস্ক্রিপশনটি একটি স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান হয়। সমস্ত আইটেমের জন্য `autoRenewEnabled` `false` সেট করা আছে। |
SUBSCRIPTION_STATE_EXPIRED | সাবস্ক্রিপশনের মেয়াদ শেষ হয়ে গেছে। সমস্ত আইটেমের মেয়াদ অতীতের। |
SUBSCRIPTION_STATE_PENDING_PURCHASE_CANCELED | সাবস্ক্রিপশনের জন্য অপেক্ষমান লেনদেনটি বাতিল করা হয়েছে। যদি এই অপেক্ষমান ক্রয়টি কোনো বিদ্যমান সাবস্ক্রিপশনের জন্য হয়ে থাকে, তবে সেই সাবস্ক্রিপশনের বর্তমান অবস্থা জানতে linkedPurchaseToken ব্যবহার করুন। |
PausedStateContext
স্থগিত অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত নির্দিষ্ট তথ্য।
| JSON উপস্থাপনা |
|---|
{ "autoResumeTime": string } |
| ক্ষেত্র | |
|---|---|
autoResumeTime | যে সময়ে সাবস্ক্রিপশনটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
বাতিলকৃত স্টেট কনটেক্সট
SUBSCRIPTION_STATE_CANCELED বা SUBSCRIPTION_STATE_EXPIRED অবস্থায় থাকা কোনো সাবস্ক্রিপশন সম্পর্কিত নির্দিষ্ট তথ্য।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড cancellation_reason । যে কারণে একটি সাবস্ক্রিপশন বাতিল করা হয়েছিল। cancellation_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
userInitiatedCancellation | ব্যবহারকারী কর্তৃক সাবস্ক্রিপশন বাতিল করা হয়েছে। |
systemInitiatedCancellation | উদাহরণস্বরূপ, বিলিং সংক্রান্ত সমস্যার কারণে সিস্টেম কর্তৃক সাবস্ক্রিপশনটি বাতিল করা হয়েছে। |
developerInitiatedCancellation | ডেভেলপার কর্তৃক সাবস্ক্রিপশনটি বাতিল করা হয়েছে। |
replacementCancellation | সাবস্ক্রিপশনটি একটি নতুন সাবস্ক্রিপশন দ্বারা প্রতিস্থাপিত করা হয়েছে। |
ব্যবহারকারীর দ্বারা বাতিলকরণ
ব্যবহারকারীদের দ্বারা শুরু করা বাতিলকরণ সংক্রান্ত নির্দিষ্ট তথ্য।
| JSON উপস্থাপনা |
|---|
{
"cancelSurveyResult": {
object ( |
| ক্ষেত্র | |
|---|---|
cancelSurveyResult | সাবস্ক্রিপশন বাতিলের প্রক্রিয়াটি (বাতিলের কারণ সম্পর্কিত সমীক্ষা) সম্পন্ন করার সময় ব্যবহারকারীর দেওয়া তথ্য। |
cancelTime | যে সময়ে ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেছেন। এই সময়ের পরেও ব্যবহারকারীর সাবস্ক্রিপশনটিতে অ্যাক্সেস থাকতে পারে। কোনো ব্যবহারকারীর এখনও অ্যাক্সেস আছে কিনা তা নির্ধারণ করতে lineItems.expiry_time ব্যবহার করুন। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
জরিপের ফলাফল বাতিল করুন
ব্যবহারকারী কর্তৃক সাবস্ক্রিপশন বাতিল করা হলে বাতিল সমীক্ষার ফলাফল।
| JSON উপস্থাপনা |
|---|
{
"reason": enum ( |
| ক্ষেত্র | |
|---|---|
reason | জরিপ বাতিল করার জন্য ব্যবহারকারী যে কারণটি নির্বাচন করেছেন। |
reasonUserInput | শুধুমাত্র CANCEL_SURVEY_REASON_OTHERS-এর জন্য সেট করা হয়েছে। এটি হলো জরিপের প্রতি ব্যবহারকারীর স্বতঃস্ফূর্ত প্রতিক্রিয়া। |
জরিপ বাতিল করার কারণ
জরিপ বাতিল করার জন্য ব্যবহারকারী যে কারণটি নির্বাচন করেছেন।
| এনাম | |
|---|---|
CANCEL_SURVEY_REASON_UNSPECIFIED | জরিপ বাতিলের কারণ অনির্দিষ্ট। |
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE | সাবস্ক্রিপশনটির যথেষ্ট ব্যবহার করা হয়নি। |
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES | অ্যাপটি ব্যবহার করার সময় প্রযুক্তিগত সমস্যা। |
CANCEL_SURVEY_REASON_COST_RELATED | ব্যয় সংক্রান্ত সমস্যা। |
CANCEL_SURVEY_REASON_FOUND_BETTER_APP | ব্যবহারকারী আরও ভালো একটি অ্যাপ খুঁজে পেয়েছেন। |
CANCEL_SURVEY_REASON_OTHERS | অন্যান্য কারণ। |
সিস্টেম দ্বারা বাতিলকরণ
এই প্রকারে কোনো ক্ষেত্র নেই।
গুগল সিস্টেম দ্বারা শুরু করা বাতিলকরণ সংক্রান্ত নির্দিষ্ট তথ্য।
ডেভেলপারের উদ্যোগে বাতিলকরণ
এই প্রকারে কোনো ক্ষেত্র নেই।
ডেভেলপারদের দ্বারা শুরু করা বাতিলকরণ সংক্রান্ত নির্দিষ্ট তথ্য।
প্রতিস্থাপন বাতিলকরণ
এই প্রকারে কোনো ক্ষেত্র নেই।
সাবস্ক্রিপশন পরিবর্তনের কারণে বাতিলকরণ সংক্রান্ত নির্দিষ্ট তথ্য।
টেস্টপারচেজ
এই প্রকারে কোনো ক্ষেত্র নেই।
এই সাবস্ক্রিপশন ক্রয়টি একটি পরীক্ষামূলক ক্রয় কিনা।
স্বীকৃতি অবস্থা
সাবস্ক্রিপশনের জন্য সম্ভাব্য স্বীকৃতিপত্রটি উল্লেখ করা হলো।
| এনাম | |
|---|---|
ACKNOWLEDGEMENT_STATE_UNSPECIFIED | অনির্দিষ্ট স্বীকৃতি অবস্থা। |
ACKNOWLEDGEMENT_STATE_PENDING | সাবস্ক্রিপশনটি এখনও স্বীকার করা হয়নি। |
ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED | সাবস্ক্রিপশনটি স্বীকার করা হলো। |
বাহ্যিক অ্যাকাউন্ট শনাক্তকারী
তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী।
| JSON উপস্থাপনা |
|---|
{ "externalAccountId": string, "obfuscatedExternalAccountId": string, "obfuscatedExternalProfileId": string } |
| ক্ষেত্র | |
|---|---|
externalAccountId | তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী। এটি শুধুমাত্র তখনই উপস্থিত থাকে, যখন সাবস্ক্রিপশন ক্রয় প্রক্রিয়ার অংশ হিসেবে অ্যাকাউন্ট লিঙ্ক করা হয়ে থাকে। |
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 ব্যবহার করে এটি নির্দিষ্ট করা হয়। |
গুগল ইনফো দিয়ে সাবস্ক্রাইব করুন
'Subscribe with Google'-এর মাধ্যমে করা কেনাকাটা সম্পর্কিত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "profileId": string, "profileName": string, "emailAddress": string, "givenName": string, "familyName": string } |
| ক্ষেত্র | |
|---|---|
profileId | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর গুগল প্রোফাইল আইডি। |
profileName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রোফাইলের নাম। |
emailAddress | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর ইমেল ঠিকানা। |
givenName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রদত্ত নাম। |
familyName | সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর পদবি। |
সাবস্ক্রিপশন ক্রয় লাইন আইটেম
সাবস্ক্রিপশন ক্রয়ের আইটেম-স্তরের তথ্য।
| JSON উপস্থাপনা |
|---|
{ "productId": string, "expiryTime": string, "latestSuccessfulOrderId": string, // Union field |
| ক্ষেত্র | |
|---|---|
productId | ক্রয়কৃত পণ্যের আইডি (উদাহরণস্বরূপ, 'monthly001')। |
expiryTime | যে সময়ে সাবস্ক্রিপশনের মেয়াদ শেষ হয়েছে বা হবে, যদি না অ্যাক্সেসের মেয়াদ বাড়ানো হয় (যেমন, নবায়ন করা হয়)। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
latestSuccessfulOrderId | এই আইটেমটির সাথে যুক্ত সর্বশেষ সফল অর্ডারের অর্ডার আইডি। যদি আইটেমটি এখনও ব্যবহারকারীর মালিকানাধীন না হয় (যেমন, যে আইটেমটি স্থগিত করে তার পরিবর্তে ব্যবহার করা হচ্ছে), তবে এটি উপস্থিত থাকবে না। |
ইউনিয়ন ফিল্ড plan_type । এটি হলো সাবস্ক্রিপশন প্ল্যানের ধরন। plan_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
autoRenewingPlan | আইটেমটি স্বয়ংক্রিয়ভাবে নবায়ন হচ্ছে। |
prepaidPlan | পণ্যটির মূল্য অগ্রিম পরিশোধ করা হয়েছে। |
offerDetails | এই পণ্যটির অফারের বিবরণ। |
ইউনিয়ন ফিল্ড deferred_item_change । কোনো আইটেমের ডেফার্ড চেঞ্জ থাকলে এই ফিল্ডটি উপস্থিত থাকে। এটিকে হয় সরানো যায় অথবা প্রতিস্থাপন করা যায়। deferred_item_change নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
deferredItemReplacement | বিলম্বিত পণ্য প্রতিস্থাপন সংক্রান্ত তথ্য। |
deferredItemRemoval | স্থগিত আইটেম অপসারণ সংক্রান্ত তথ্য। |
signupPromotion | এই আইটেমটির প্রচারমূলক বিবরণ। শুধুমাত্র তখনই সেট করা হবে, যদি সাইনআপের সময় কোনো প্রচারমূলক অফার প্রয়োগ করা হয়ে থাকে। |
itemReplacement | যে আইটেমটি প্রতিস্থাপন করা হচ্ছে তার বিবরণ। এই ক্ষেত্রটি কেবল তখনই পূরণ করা হয় যখন এই আইটেমটি পূর্ববর্তী সাবস্ক্রিপশনের অন্য কোনো আইটেমের পরিবর্তে আসে এবং এটি কেনার সময়ের পর থেকে কেবল ৬০ দিনের জন্য উপলব্ধ থাকে। |
offerPhase | এই আইটেমটির জন্য বর্তমান অফার পর্বের বিবরণ। |
স্বয়ংক্রিয় নবায়নযোগ্য পরিকল্পনা
স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান সম্পর্কিত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "autoRenewEnabled": boolean, "recurringPrice": { object ( |
| ক্ষেত্র | |
|---|---|
autoRenewEnabled | যদি সাবস্ক্রিপশনটি বর্তমানে স্বয়ংক্রিয়ভাবে নবায়ন হওয়ার জন্য সেট করা থাকে, যেমন ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেননি। |
recurringPrice | স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যানটির বর্তমান পুনরাবৃত্ত মূল্য। উল্লেখ্য যে, এই মূল্যে ডিসকাউন্ট অন্তর্ভুক্ত নয় এবং ট্যাক্সও নেই। ট্যাক্স-বহির্ভূত মূল্যের জন্য, লেনদেনের বিবরণ প্রয়োজন হলে অনুগ্রহ করে |
priceChangeDetails | সাবস্ক্রিপশন নেওয়ার পর থেকে পণ্যটির সর্বশেষ মূল্য পরিবর্তনের তথ্য। |
installmentDetails | স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যানটির জন্য কিস্তি পরিকল্পনার প্রতিশ্রুতি এবং রাজ্য-সম্পর্কিত তথ্য। |
priceStepUpConsentDetails | সর্বশেষ মূল্যবৃদ্ধির সম্মতির তথ্য। |
সাবস্ক্রিপশন আইটেমের মূল্য পরিবর্তনের বিবরণ
সাবস্ক্রিপশন আইটেমের মূল্য পরিবর্তন সংক্রান্ত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "newPrice": { object ( |
| ক্ষেত্র | |
|---|---|
newPrice | সাবস্ক্রিপশন আইটেমটির জন্য নতুন পুনরাবৃত্ত মূল্য। |
priceChangeMode | মূল্য পরিবর্তন মোড নির্দিষ্ট করে যে সাবস্ক্রিপশন আইটেমের মূল্য কীভাবে পরিবর্তিত হবে। |
priceChangeState | মূল্য পরিবর্তনটি বর্তমানে কার্যকর আছে তা উল্লেখ করুন। |
expectedNewPriceChargeTime | নবায়নের সেই সময়, যে সময়ে মূল্য পরিবর্তনটি ব্যবহারকারীর জন্য কার্যকর হবে। বিরতির (pause) মতো ক্ষেত্রে নবায়নের সময় পরিবর্তিত হলে এটি (ভবিষ্যতের কোনো সময়ে) পরিবর্তন হতে পারে। এই ক্ষেত্রটি কেবল তখনই পূরণ করা হয় যখন মূল্য পরিবর্তনটি কার্যকর হয়নি। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
মূল্য পরিবর্তন মোড
মূল্য পরিবর্তনের ধরণ।
| এনাম | |
|---|---|
PRICE_CHANGE_MODE_UNSPECIFIED | মূল্য পরিবর্তনের পদ্ধতি অনির্দিষ্ট। এই মানটি কখনোই সেট করা উচিত নয়। |
PRICE_DECREASE | যদি সাবস্ক্রিপশনের মূল্য কমতে থাকে |
PRICE_INCREASE | যদি সাবস্ক্রিপশনের মূল্য বৃদ্ধি পায়, তবে ব্যবহারকারীকে তা মেনে নিতে হবে। |
OPT_OUT_PRICE_INCREASE | অপ্ট আউট মোড চালু থাকলে সাবস্ক্রিপশনের মূল্য বৃদ্ধি পায়। |
মূল্য পরিবর্তন অবস্থা
মূল্য পরিবর্তনের অবস্থা।
| এনাম | |
|---|---|
PRICE_CHANGE_STATE_UNSPECIFIED | মূল্য পরিবর্তনের অবস্থা অনির্দিষ্ট। এই মানটি ব্যবহার করা উচিত নয়। |
OUTSTANDING | মূল্য পরিবর্তনে ব্যবহারকারীর সম্মতির জন্য অপেক্ষা করা হচ্ছে। |
CONFIRMED | ব্যবহারকারীর জন্য মূল্য পরিবর্তনটি নিশ্চিত করা হয়েছে। |
APPLIED | মূল্য পরিবর্তনটি কার্যকর করা হয়েছে, অর্থাৎ ব্যবহারকারীর কাছ থেকে নতুন মূল্য নেওয়া শুরু হয়েছে। |
CANCELED | মূল্য পরিবর্তনটি বাতিল করা হয়েছে। |
কিস্তি পরিকল্পনা
কিস্তি পরিকল্পনা সংক্রান্ত তথ্য।
| JSON উপস্থাপনা |
|---|
{
"initialCommittedPaymentsCount": integer,
"subsequentCommittedPaymentsCount": integer,
"remainingCommittedPaymentsCount": integer,
"pendingCancellation": {
object ( |
| ক্ষেত্র | |
|---|---|
initialCommittedPaymentsCount | ব্যবহারকারী প্রাথমিকভাবে মোট যতগুলো অর্থপ্রদানের জন্য প্রতিশ্রুতিবদ্ধ। |
subsequentCommittedPaymentsCount | প্রতিটি প্রতিশ্রুতি মেয়াদের পরে ব্যবহারকারীকে মোট যতগুলো পেমেন্ট করতে হবে। খালি থাকার অর্থ হলো, প্রাথমিক প্রতিশ্রুতির পরে কিস্তির পরিকল্পনাটি একটি সাধারণ স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনে ফিরে যাবে। |
remainingCommittedPaymentsCount | এই নবায়ন চক্রে পরিশোধ করার জন্য অবশিষ্ট মোট প্রতিশ্রুতিবদ্ধ কিস্তির সংখ্যা। |
pendingCancellation | যদি থাকে, এই কিস্তি পরিকল্পনাটি বাতিলের অপেক্ষায় রয়েছে। ব্যবহারকারী সমস্ত প্রতিশ্রুতিবদ্ধ অর্থপ্রদান সম্পন্ন করার পরেই এটি বাতিল করা হবে। |
বাতিলের অপেক্ষায়
এই প্রকারে কোনো ক্ষেত্র নেই।
এটি একটি নির্দেশক যে ভার্চুয়াল কিস্তি পরিকল্পনাটি বাতিল করার কোনো অনুরোধ বাকি আছে কিনা। ব্যবহারকারী তার সমস্ত প্রতিশ্রুত অর্থ পরিশোধ সম্পন্ন করার পরেই কেবল বাতিলকরণটি ঘটবে।
মূল্য ধাপ সম্মতি বিবরণ
মূল্যবৃদ্ধি সংক্রান্ত তথ্য, যার জন্য ব্যবহারকারীর সম্মতি প্রয়োজন।
| JSON উপস্থাপনা |
|---|
{ "state": enum ( |
| ক্ষেত্র | |
|---|---|
state | শুধুমাত্র আউটপুট। মূল্যবৃদ্ধির সম্মতির অবস্থা। |
consentDeadlineTime | যে নির্দিষ্ট সময়সীমার মধ্যে ব্যবহারকারীকে অবশ্যই সম্মতি প্রদান করতে হবে। এই সময়ের মধ্যে সম্মতি প্রদান করা না হলে, সাবস্ক্রিপশনটি বাতিল করে দেওয়া হবে। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
newPrice | নতুন মূল্য নির্ধারণের জন্য ব্যবহারকারীর সম্মতি প্রয়োজন। |
সম্মতি অবস্থা
মূল্যবৃদ্ধির সম্মতির অবস্থা।
| এনাম | |
|---|---|
CONSENT_STATE_UNSPECIFIED | অনির্দিষ্ট সম্মতি অবস্থা। |
PENDING | ব্যবহারকারী এখনও সম্মতি প্রদান করেননি। |
CONFIRMED | ব্যবহারকারী সম্মতি দিয়েছেন এবং নতুন মূল্যটি কার্যকর হওয়ার অপেক্ষায় রয়েছে। |
COMPLETED | ব্যবহারকারী সম্মতি দিয়েছেন এবং নতুন মূল্য কার্যকর হয়েছে। |
প্রিপেইড প্ল্যান
প্রিপেইড প্ল্যান সম্পর্কিত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "allowExtendAfterTime": string } |
| ক্ষেত্র | |
|---|---|
allowExtendAfterTime | যদি এটি উপস্থিত থাকে, তবে এটি সেই সময় যার পরে প্রিপেইড প্ল্যানটির জন্য টপ-আপ কেনা যাবে। মেয়াদোত্তীর্ণ প্রিপেইড প্ল্যানগুলির জন্য এটি উপস্থিত থাকবে না। RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: |
অফারের বিবরণ
ক্রয়কৃত কোনো আইটেম সম্পর্কিত অফারের বিস্তারিত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "offerTags": [ string ], "basePlanId": string, "offerId": string } |
| ক্ষেত্র | |
|---|---|
offerTags[] | অফারটির সাথে যুক্ত সর্বশেষ অফার ট্যাগগুলো। এতে বেস প্ল্যান থেকে প্রাপ্ত ট্যাগগুলো অন্তর্ভুক্ত রয়েছে। |
basePlanId | বেস প্ল্যান আইডি। সকল বেস প্ল্যান এবং অফারের জন্য প্রযোজ্য। |
offerId | অফার আইডি। শুধুমাত্র ছাড়ের অফারগুলোর ক্ষেত্রেই প্রযোজ্য। |
স্থগিত আইটেম প্রতিস্থাপন
বিলম্বিত পণ্য প্রতিস্থাপন সম্পর্কিত তথ্য।
| JSON উপস্থাপনা |
|---|
{ "productId": string } |
| ক্ষেত্র | |
|---|---|
productId | নতুন productId-টি বিদ্যমান productId-কে প্রতিস্থাপন করবে। |
স্থগিত আইটেম অপসারণ
এই প্রকারে কোনো ক্ষেত্র নেই।
বিলম্বিত পণ্য প্রতিস্থাপন সম্পর্কিত তথ্য।
সাইনআপ প্রচার
এই পণ্যটি কেনার সময় অফারটি প্রযোজ্য ছিল।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড promotion_type । আইটেমটিতে প্রযোজ্য প্রমোশনের ধরন। promotion_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
oneTimeCode | একটি এককালীন কোড প্রয়োগ করা হয়েছিল। |
vanityCode | একটি ভ্যানিটি কোড প্রয়োগ করা হয়েছিল। |
ওয়ানটাইমকোড
এই প্রকারে কোনো ক্ষেত্র নেই।
একবার ব্যবহারযোগ্য একটি প্রচার কোড।
ভ্যানিটিকোড
একাধিকবার ব্যবহারযোগ্য, পূর্বনির্ধারিত একটি প্রচার কোড।
| JSON উপস্থাপনা |
|---|
{ "promotionCode": string } |
| ক্ষেত্র | |
|---|---|
promotionCode | প্রচার কোড। |
আইটেম প্রতিস্থাপন
একটি সাবস্ক্রিপশন লাইন আইটেম প্রতিস্থাপন করা হচ্ছে, সে সম্পর্কিত বিবরণ।
| JSON উপস্থাপনা |
|---|
{
"productId": string,
"replacementMode": enum ( |
| ক্ষেত্র | |
|---|---|
productId | যে সাবস্ক্রিপশন লাইন আইটেমটি প্রতিস্থাপন করা হচ্ছে, তার প্রোডাক্ট আইডি। |
replacementMode | ক্রয়ের সময় প্রতিস্থাপন মোড প্রয়োগ করা হয়েছিল। |
basePlanId | যে সাবস্ক্রিপশন লাইন আইটেমটি প্রতিস্থাপন করা হচ্ছে, তার বেস প্ল্যান আইডি। |
offerId | প্রতিস্থাপিত হতে থাকা সাবস্ক্রিপশন লাইন আইটেমটির অফার আইডি, যদি প্রযোজ্য হয়। |
প্রতিস্থাপন মোড
সাবস্ক্রিপশনের বিকল্প পদ্ধতি।
| এনাম | |
|---|---|
REPLACEMENT_MODE_UNSPECIFIED | অনির্দিষ্ট প্রতিস্থাপন মোড। |
WITH_TIME_PRORATION | নতুন প্ল্যানটি আনুপাতিক হারে গণনা করে পুরোনো প্ল্যান থেকে জমা করা হবে। |
CHARGE_PRORATED_PRICE | নতুন প্ল্যানটির জন্য ব্যবহারকারীকে আনুপাতিক হারে মূল্য পরিশোধ করতে হবে। |
WITHOUT_PRORATION | নতুন পরিকল্পনাটি সময় আনুপাতিক হারে গণনা না করেই পুরানোটিকে প্রতিস্থাপন করবে। |
CHARGE_FULL_PRICE | নতুন প্ল্যানটির জন্য ব্যবহারকারীকে সম্পূর্ণ মূল্য পরিশোধ করতে হবে। |
DEFERRED | পুরানো প্ল্যানটি বাতিল করা হবে এবং সেটির মেয়াদ শেষ হওয়ার পর নতুন প্ল্যানটি কার্যকর হবে। |
KEEP_EXISTING | এই প্রতিস্থাপনের পরেও পরিকল্পনাটি অপরিবর্তিত থাকবে। |
অফার ফেজ
অফার পর্বের বিবরণ।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড offer_phase । এটি অফার পর্যায়ের বিস্তারিত তথ্য। offer_phase নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
prorationPeriod | অফার পর্বটি যখন একটি আনুপাতিক বন্টন সময়কাল হয়, তখন এটি সেট করা হয়। |
freeTrial | অফার পর্বটি যখন ফ্রি ট্রায়াল থাকে তখন সেট করা হয়। |
introductoryPrice | অফার পর্বটি যখন একটি প্রারম্ভিক মূল্য অফার পর্ব হয়, তখন এটি সেট করা হয়। |
basePrice | অফার পর্যায়টি যখন বেস প্ল্যান প্রাইসিং পর্যায় হয়, তখন এটি সেট করা হয়। |
আনুপাতিক সময়কাল অফার পর্যায়
আনুপাতিক বন্টন সময়কাল অফার পর্ব সম্পর্কে বিস্তারিত তথ্য।
| JSON উপস্থাপনা |
|---|
{
"originalOfferPhaseType": enum ( |
| ক্ষেত্র | |
|---|---|
originalOfferPhaseType | প্রোরেশন পিরিয়ডের আগের মূল অফার ফেজ টাইপ। শুধুমাত্র তখনই সেট করা হয় যখন একটি বিদ্যমান অফার ফেজ থেকে প্রোরেশন পিরিয়ড আপডেট করা হয়। |
মূল অফারের পর্যায় প্রকার
অফার পেমেন্টের মূল অফার পর্যায়, যদি অফার পেমেন্টটি একটি আনুপাতিক পেমেন্ট হয়।
| এনাম | |
|---|---|
ORIGINAL_OFFER_PHASE_TYPE_UNSPECIFIED | অনির্দিষ্ট মূল প্রস্তাব পর্যায়ের ধরণ। |
BASE | সাবস্ক্রিপশনটি বেস প্রাইসিং পর্যায়ে রয়েছে (যেমন সম্পূর্ণ মূল্য)। |
INTRODUCTORY | সাবস্ক্রিপশনটি একটি প্রারম্ভিক মূল্য পর্যায়ে রয়েছে। |
FREE_TRIAL | সাবস্ক্রিপশনটি একটি ফ্রি ট্রায়ালে রয়েছে। |
বিনামূল্যে ট্রায়াল অফার পর্যায়
এই প্রকারে কোনো ক্ষেত্র নেই।
ফ্রি ট্রায়াল অফার পর্ব সম্পর্কে বিস্তারিত।
প্রারম্ভিক মূল্যের অফার পর্যায়
এই প্রকারে কোনো ক্ষেত্র নেই।
প্রারম্ভিক মূল্য অফার পর্বের বিবরণ।
বেসপ্রাইসঅফারফেজ
এই প্রকারে কোনো ক্ষেত্র নেই।
ভিত্তিমূল্য প্রস্তাব পর্ব সম্পর্কে বিস্তারিত।
আউটঅফঅ্যাপপারচেজকনটেক্সট
অ্যাপের বাইরের কেনাকাটা সম্পর্কিত নির্দিষ্ট তথ্য।
| JSON উপস্থাপনা |
|---|
{
"expiredExternalAccountIdentifiers": {
object ( |
| ক্ষেত্র | |
|---|---|
expiredExternalAccountIdentifiers | এই SKU-এর জন্য সর্বশেষ মেয়াদোত্তীর্ণ সাবস্ক্রিপশন থেকে প্রাপ্ত ব্যবহারকারী অ্যাকাউন্ট শনাক্তকারী। |
expiredPurchaseToken | সর্বশেষ মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের পারচেজ টোকেন। এই পারচেজ টোকেনটি শুধুমাত্র ব্যবহারকারীকে শনাক্ত করতে ব্যবহার করা যাবে, যদি পারচেজ টোকেন এবং ব্যবহারকারীর মধ্যে সংযোগটি আপনার ডেটাবেসে সংরক্ষিত থাকে। মেয়াদ শেষ হওয়ার পর ৬০ দিনের বেশি হয়ে গেলে এটি গুগল ডেভেলপার এপিআই (Google Developer API) কল করার জন্য ব্যবহার করা যাবে না। |
OnHoldStateContext
ON_HOLD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত প্রাসঙ্গিক তথ্য।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড on_hold_reason । সাবস্ক্রিপশনটি ON_HOLD অবস্থায় থাকার কারণ। on_hold_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
renewalDeclined | ঐচ্ছিক। নবায়নের জন্য অর্থপ্রদান প্রত্যাখ্যান করা হয়েছে। |
পুনর্নবীকরণ প্রত্যাখ্যানের প্রেক্ষাপট
নবায়ন প্রত্যাখ্যানের পরিস্থিতি সম্পর্কিত প্রেক্ষাপট।
| JSON উপস্থাপনা |
|---|
{ "pendingOrderId": string } |
| ক্ষেত্র | |
|---|---|
pendingOrderId | প্রয়োজনীয়। বিচারাধীন বা ব্যর্থ হওয়া আদেশের আইডি, যা রাষ্ট্রের জন্য সমস্যা সৃষ্টি করছে। |
InGracePeriodStateContext
IN_GRACE_PERIOD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত প্রাসঙ্গিক তথ্য।
| JSON উপস্থাপনা |
|---|
{ // Union field |
| ক্ষেত্র | |
|---|---|
ইউনিয়ন ফিল্ড grace_period_reason । সাবস্ক্রিপশনটি IN_GRACE_PERIOD অবস্থায় থাকার কারণ। grace_period_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে: | |
renewalDeclined | ঐচ্ছিক। নবায়নের জন্য অর্থপ্রদান প্রত্যাখ্যান করা হয়েছে। |
পদ্ধতি | |
|---|---|
| ব্যবহারকারীর জন্য সাবস্ক্রিপশন ক্রয় বাতিল করুন। |
| সাবস্ক্রিপশনের নবায়ন স্থগিত করে। |
| একটি সাবস্ক্রিপশন সম্পর্কে মেটাডেটা পান |
| ব্যবহারকারীর জন্য সাবস্ক্রিপশন ক্রয় বাতিল করুন। |
ত্রুটি কোড
এই রিসোর্সের কার্যক্রম নিম্নলিখিত 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 | গুগল প্লে সার্ভারে সাধারণ ত্রুটি। | আপনার অনুরোধটি পুনরায় চেষ্টা করুন। সমস্যাটি অব্যাহত থাকলে আপনার গুগল প্লে অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন অথবা একটি সাপোর্ট রিকোয়েস্ট জমা দিন। কোনো জ্ঞাত বিভ্রাটের জন্য প্লে স্ট্যাটাস ড্যাশবোর্ডটি পরীক্ষা করে দেখতে পারেন। |