REST Resource: purchases.subscriptionsv2

রিসোর্স: সাবস্ক্রিপশনপারচেজভি২

ব্যবহারকারীর সাবস্ক্রিপশন ক্রয়ের অবস্থা নির্দেশ করে।

JSON উপস্থাপনা
{
  "kind": string,
  "regionCode": string,
  "lineItems": [
    {
      object (SubscriptionPurchaseLineItem)
    }
  ],
  "startTime": string,
  "subscriptionState": enum (SubscriptionState),
  "latestOrderId": string,
  "linkedPurchaseToken": string,
  "pausedStateContext": {
    object (PausedStateContext)
  },
  "canceledStateContext": {
    object (CanceledStateContext)
  },
  "testPurchase": {
    object (TestPurchase)
  },
  "acknowledgementState": enum (AcknowledgementState),
  "externalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "subscribeWithGoogleInfo": {
    object (SubscribeWithGoogleInfo)
  },
  "etag": string,
  "outOfAppPurchaseContext": {
    object (OutOfAppPurchaseContext)
  },
  "onHoldStateContext": {
    object (OnHoldStateContext)
  },
  "inGracePeriodStateContext": {
    object (InGracePeriodStateContext)
  }
}
ক্ষেত্র
kind

string

এই প্রকারটি androidpublisher সার্ভিসে থাকা একটি SubscriptionPurchaseV2 অবজেক্টকে প্রতিনিধিত্ব করে।

regionCode

string

সাবস্ক্রিপশন মঞ্জুর করার সময় ব্যবহারকারীর আইএসও ৩১৬৬-১ আলফা-২ বিলিং দেশ/অঞ্চল কোড।

lineItems[]

object ( SubscriptionPurchaseLineItem )

একটি সাবস্ক্রিপশন ক্রয়ের আইটেম-ভিত্তিক তথ্য। একই ক্রয়ের অন্তর্ভুক্ত আইটেমগুলো হয় সবগুলোই অটো-রিনিউয়িং প্ল্যান (AutoRenewingPlan) অথবা সবগুলোই প্রিপেইড প্ল্যান (PrepaidPlan)-এর হতে হবে।

startTime

string ( Timestamp format)

যে সময়ে সাবস্ক্রিপশন মঞ্জুর করা হয়েছিল। অপেক্ষাধীন সাবস্ক্রিপশনগুলির জন্য সেট করা নেই (সাইনআপের সময় সাবস্ক্রিপশন তৈরি করা হয়েছিল কিন্তু পেমেন্টের জন্য অপেক্ষারত ছিল)।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

subscriptionState

enum ( SubscriptionState )

সাবস্ক্রিপশনটির বর্তমান অবস্থা।

latestOrderId
(deprecated)

string

অপ্রচলিত: এর পরিবর্তে lineItems.latest_successful_order_id ব্যবহার করুন। সাবস্ক্রিপশন ক্রয়ের সাথে যুক্ত সর্বশেষ অর্ডারের অর্ডার আইডি। স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনের ক্ষেত্রে, এটি সাইনআপ অর্ডারের অর্ডার আইডি যদি তা এখনও নবায়ন করা না হয়ে থাকে, অথবা সর্বশেষ পুনরাবৃত্ত অর্ডারের আইডি (সফল, অপেক্ষাধীন বা বাতিল হওয়া অর্ডার)। প্রিপেইড সাবস্ক্রিপশনের ক্ষেত্রে, এটি কোয়েরি করা পারচেজ টোকেনের সাথে যুক্ত অর্ডার আইডি।

linkedPurchaseToken

string

পুরানো সাবস্ক্রিপশনের পারচেজ টোকেন, যদি এই সাবস্ক্রিপশনটি নিম্নলিখিতগুলির মধ্যে একটি হয়: * বাতিল কিন্তু মেয়াদোত্তীর্ণ হয়নি এমন সাবস্ক্রিপশনের পুনরায় সাইন-আপ। * পূর্ববর্তী সাবস্ক্রিপশন থেকে আপগ্রেড/ডাউনগ্রেড। * প্রিপেইড থেকে স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনে রূপান্তর। * স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশন থেকে প্রিপেইডে রূপান্তর। * একটি প্রিপেইড সাবস্ক্রিপশনে টপ-আপ।

pausedStateContext

object ( PausedStateContext )

পজ করা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যখন সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_PAUSED থাকবে।

canceledStateContext

object ( CanceledStateContext )

বাতিল হওয়া সাবস্ক্রিপশন সংক্রান্ত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যখন সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_CANCELED বা SUBSCRIPTION_STATE_EXPIRED হবে।

testPurchase

object ( TestPurchase )

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

acknowledgementState

enum ( AcknowledgementState )

সাবস্ক্রিপশনের স্বীকৃতি অবস্থা।

externalAccountIdentifiers

object ( ExternalAccountIdentifiers )

তৃতীয় পক্ষের পরিষেবাতে ব্যবহারকারীর অ্যাকাউন্ট শনাক্তকারী।

subscribeWithGoogleInfo

object ( SubscribeWithGoogleInfo )

'Subscribe with Google'-এর মাধ্যমে করা কেনাকাটার সাথে যুক্ত ব্যবহারকারীর প্রোফাইল।

etag

string

সাবস্ক্রিপশনের বর্তমান অবস্থা নির্দেশকারী এনটিটি ট্যাগ। ডেভেলপার সাবস্ক্রিপশন সংক্রান্ত কার্যকলাপের জন্য এই ই-ট্যাগটি সরবরাহ করবে। স্বয়ংক্রিয়ভাবে নবায়নযোগ্য এবং প্রিপেইড সাবস্ক্রিপশনের ক্ষেত্রে এই ই-ট্যাগটি সর্বদা উপস্থিত থাকে।

outOfAppPurchaseContext

object ( OutOfAppPurchaseContext )

অ্যাপের বাইরের কেনাকাটার জন্য অতিরিক্ত তথ্য। এই তথ্যটি শুধুমাত্র গুগল প্লে সাবস্ক্রিপশন সেন্টারের মাধ্যমে করা পুনঃ-সাবস্ক্রিপশন কেনাকাটার (একই পণ্যের পূর্ববর্তী সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার পর করা সাবস্ক্রিপশন কেনাকাটা) ক্ষেত্রেই উপস্থিত থাকে। আপনি সাবস্ক্রিপশনটি নিশ্চিত করার পর এই ফিল্ডটি মুছে ফেলা হবে।

onHoldStateContext

object ( OnHoldStateContext )

ঐচ্ছিক। ON_HOLD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত তথ্য। এটি শুধুমাত্র তখনই উপস্থিত থাকবে, যদি সাবস্ক্রিপশনটির বর্তমান সাবস্ক্রিপশন স্টেট SUBSCRIPTION_STATE_ON_HOLD হয়।

inGracePeriodStateContext

object ( 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

string ( Timestamp format)

যে সময়ে সাবস্ক্রিপশনটি স্বয়ংক্রিয়ভাবে পুনরায় চালু হবে

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

বাতিলকৃত স্টেট কনটেক্সট

SUBSCRIPTION_STATE_CANCELED বা SUBSCRIPTION_STATE_EXPIRED অবস্থায় থাকা কোনো সাবস্ক্রিপশন সম্পর্কিত নির্দিষ্ট তথ্য।

JSON উপস্থাপনা
{

  // Union field cancellation_reason can be only one of the following:
  "userInitiatedCancellation": {
    object (UserInitiatedCancellation)
  },
  "systemInitiatedCancellation": {
    object (SystemInitiatedCancellation)
  },
  "developerInitiatedCancellation": {
    object (DeveloperInitiatedCancellation)
  },
  "replacementCancellation": {
    object (ReplacementCancellation)
  }
  // End of list of possible types for union field cancellation_reason.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড cancellation_reason । যে কারণে একটি সাবস্ক্রিপশন বাতিল করা হয়েছিল। cancellation_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
userInitiatedCancellation

object ( UserInitiatedCancellation )

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

systemInitiatedCancellation

object ( SystemInitiatedCancellation )

উদাহরণস্বরূপ, বিলিং সংক্রান্ত সমস্যার কারণে সিস্টেম কর্তৃক সাবস্ক্রিপশনটি বাতিল করা হয়েছে।

developerInitiatedCancellation

object ( DeveloperInitiatedCancellation )

ডেভেলপার কর্তৃক সাবস্ক্রিপশনটি বাতিল করা হয়েছে।

replacementCancellation

object ( ReplacementCancellation )

সাবস্ক্রিপশনটি একটি নতুন সাবস্ক্রিপশন দ্বারা প্রতিস্থাপিত করা হয়েছে।

ব্যবহারকারীর দ্বারা বাতিলকরণ

ব্যবহারকারীদের দ্বারা শুরু করা বাতিলকরণ সংক্রান্ত নির্দিষ্ট তথ্য।

JSON উপস্থাপনা
{
  "cancelSurveyResult": {
    object (CancelSurveyResult)
  },
  "cancelTime": string
}
ক্ষেত্র
cancelSurveyResult

object ( CancelSurveyResult )

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

cancelTime

string ( Timestamp format)

যে সময়ে ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেছেন। এই সময়ের পরেও ব্যবহারকারীর সাবস্ক্রিপশনটিতে অ্যাক্সেস থাকতে পারে। কোনো ব্যবহারকারীর এখনও অ্যাক্সেস আছে কিনা তা নির্ধারণ করতে lineItems.expiry_time ব্যবহার করুন।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

জরিপের ফলাফল বাতিল করুন

ব্যবহারকারী কর্তৃক সাবস্ক্রিপশন বাতিল করা হলে বাতিল সমীক্ষার ফলাফল।

JSON উপস্থাপনা
{
  "reason": enum (CancelSurveyReason),
  "reasonUserInput": string
}
ক্ষেত্র
reason

enum ( CancelSurveyReason )

জরিপ বাতিল করার জন্য ব্যবহারকারী যে কারণটি নির্বাচন করেছেন।

reasonUserInput

string

শুধুমাত্র CANCEL_SURVEY_REASON_OTHERS-এর জন্য সেট করা হয়েছে। এটি হলো জরিপের প্রতি ব্যবহারকারীর স্বতঃস্ফূর্ত প্রতিক্রিয়া।

জরিপ বাতিল করার কারণ

জরিপ বাতিল করার জন্য ব্যবহারকারী যে কারণটি নির্বাচন করেছেন।

এনাম
CANCEL_SURVEY_REASON_UNSPECIFIED জরিপ বাতিলের কারণ অনির্দিষ্ট।
CANCEL_SURVEY_REASON_NOT_ENOUGH_USAGE সাবস্ক্রিপশনটির যথেষ্ট ব্যবহার করা হয়নি।
CANCEL_SURVEY_REASON_TECHNICAL_ISSUES অ্যাপটি ব্যবহার করার সময় প্রযুক্তিগত সমস্যা।
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

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 ব্যবহার করে এটি নির্দিষ্ট করা হয়।

গুগল ইনফো দিয়ে সাবস্ক্রাইব করুন

'Subscribe with Google'-এর মাধ্যমে করা কেনাকাটা সম্পর্কিত তথ্য।

JSON উপস্থাপনা
{
  "profileId": string,
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string
}
ক্ষেত্র
profileId

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর গুগল প্রোফাইল আইডি।

profileName

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রোফাইলের নাম।

emailAddress

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর ইমেল ঠিকানা।

givenName

string

সাবস্ক্রিপশন কেনার সময় ব্যবহারকারীর প্রদত্ত নাম।

familyName

string

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

সাবস্ক্রিপশন ক্রয় লাইন আইটেম

সাবস্ক্রিপশন ক্রয়ের আইটেম-স্তরের তথ্য।

JSON উপস্থাপনা
{
  "productId": string,
  "expiryTime": string,
  "latestSuccessfulOrderId": string,

  // Union field plan_type can be only one of the following:
  "autoRenewingPlan": {
    object (AutoRenewingPlan)
  },
  "prepaidPlan": {
    object (PrepaidPlan)
  }
  // End of list of possible types for union field plan_type.
  "offerDetails": {
    object (OfferDetails)
  },

  // Union field deferred_item_change can be only one of the following:
  "deferredItemReplacement": {
    object (DeferredItemReplacement)
  },
  "deferredItemRemoval": {
    object (DeferredItemRemoval)
  }
  // End of list of possible types for union field deferred_item_change.
  "signupPromotion": {
    object (SignupPromotion)
  },
  "itemReplacement": {
    object (ItemReplacement)
  },
  "offerPhase": {
    object (OfferPhase)
  }
}
ক্ষেত্র
productId

string

ক্রয়কৃত পণ্যের আইডি (উদাহরণস্বরূপ, 'monthly001')।

expiryTime

string ( Timestamp format)

যে সময়ে সাবস্ক্রিপশনের মেয়াদ শেষ হয়েছে বা হবে, যদি না অ্যাক্সেসের মেয়াদ বাড়ানো হয় (যেমন, নবায়ন করা হয়)।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

latestSuccessfulOrderId

string

এই আইটেমটির সাথে যুক্ত সর্বশেষ সফল অর্ডারের অর্ডার আইডি। যদি আইটেমটি এখনও ব্যবহারকারীর মালিকানাধীন না হয় (যেমন, যে আইটেমটি স্থগিত করে তার পরিবর্তে ব্যবহার করা হচ্ছে), তবে এটি উপস্থিত থাকবে না।

ইউনিয়ন ফিল্ড plan_type । এটি হলো সাবস্ক্রিপশন প্ল্যানের ধরন। plan_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
autoRenewingPlan

object ( AutoRenewingPlan )

আইটেমটি স্বয়ংক্রিয়ভাবে নবায়ন হচ্ছে।

prepaidPlan

object ( PrepaidPlan )

পণ্যটির মূল্য অগ্রিম পরিশোধ করা হয়েছে।

offerDetails

object ( OfferDetails )

এই পণ্যটির অফারের বিবরণ।

ইউনিয়ন ফিল্ড deferred_item_change । কোনো আইটেমের ডেফার্ড চেঞ্জ থাকলে এই ফিল্ডটি উপস্থিত থাকে। এটিকে হয় সরানো যায় অথবা প্রতিস্থাপন করা যায়। deferred_item_change নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
deferredItemReplacement

object ( DeferredItemReplacement )

বিলম্বিত পণ্য প্রতিস্থাপন সংক্রান্ত তথ্য।

deferredItemRemoval

object ( DeferredItemRemoval )

স্থগিত আইটেম অপসারণ সংক্রান্ত তথ্য।

signupPromotion

object ( SignupPromotion )

এই আইটেমটির প্রচারমূলক বিবরণ। শুধুমাত্র তখনই সেট করা হবে, যদি সাইনআপের সময় কোনো প্রচারমূলক অফার প্রয়োগ করা হয়ে থাকে।

itemReplacement

object ( ItemReplacement )

যে আইটেমটি প্রতিস্থাপন করা হচ্ছে তার বিবরণ। এই ক্ষেত্রটি কেবল তখনই পূরণ করা হয় যখন এই আইটেমটি পূর্ববর্তী সাবস্ক্রিপশনের অন্য কোনো আইটেমের পরিবর্তে আসে এবং এটি কেনার সময়ের পর থেকে কেবল ৬০ দিনের জন্য উপলব্ধ থাকে।

offerPhase

object ( OfferPhase )

এই আইটেমটির জন্য বর্তমান অফার পর্বের বিবরণ।

স্বয়ংক্রিয় নবায়নযোগ্য পরিকল্পনা

স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যান সম্পর্কিত তথ্য।

JSON উপস্থাপনা
{
  "autoRenewEnabled": boolean,
  "recurringPrice": {
    object (Money)
  },
  "priceChangeDetails": {
    object (SubscriptionItemPriceChangeDetails)
  },
  "installmentDetails": {
    object (InstallmentPlan)
  },
  "priceStepUpConsentDetails": {
    object (PriceStepUpConsentDetails)
  }
}
ক্ষেত্র
autoRenewEnabled

boolean

যদি সাবস্ক্রিপশনটি বর্তমানে স্বয়ংক্রিয়ভাবে নবায়ন হওয়ার জন্য সেট করা থাকে, যেমন ব্যবহারকারী সাবস্ক্রিপশনটি বাতিল করেননি।

recurringPrice

object ( Money )

স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যানটির বর্তমান পুনরাবৃত্ত মূল্য। উল্লেখ্য যে, এই মূল্যে ডিসকাউন্ট অন্তর্ভুক্ত নয় এবং ট্যাক্সও নেই। ট্যাক্স-বহির্ভূত মূল্যের জন্য, লেনদেনের বিবরণ প্রয়োজন হলে অনুগ্রহ করে orders.get API-টি কল করুন।

priceChangeDetails

object ( SubscriptionItemPriceChangeDetails )

সাবস্ক্রিপশন নেওয়ার পর থেকে পণ্যটির সর্বশেষ মূল্য পরিবর্তনের তথ্য।

installmentDetails

object ( InstallmentPlan )

স্বয়ংক্রিয়ভাবে নবায়নযোগ্য প্ল্যানটির জন্য কিস্তি পরিকল্পনার প্রতিশ্রুতি এবং রাজ্য-সম্পর্কিত তথ্য।

সাবস্ক্রিপশন আইটেমের মূল্য পরিবর্তনের বিবরণ

সাবস্ক্রিপশন আইটেমের মূল্য পরিবর্তন সংক্রান্ত তথ্য।

JSON উপস্থাপনা
{
  "newPrice": {
    object (Money)
  },
  "priceChangeMode": enum (PriceChangeMode),
  "priceChangeState": enum (PriceChangeState),
  "expectedNewPriceChargeTime": string
}
ক্ষেত্র
newPrice

object ( Money )

সাবস্ক্রিপশন আইটেমটির জন্য নতুন পুনরাবৃত্ত মূল্য।

priceChangeMode

enum ( PriceChangeMode )

মূল্য পরিবর্তন মোড নির্দিষ্ট করে যে সাবস্ক্রিপশন আইটেমের মূল্য কীভাবে পরিবর্তিত হবে।

priceChangeState

enum ( PriceChangeState )

মূল্য পরিবর্তনটি বর্তমানে কার্যকর আছে তা উল্লেখ করুন।

expectedNewPriceChargeTime

string ( Timestamp format)

নবায়নের সেই সময়, যে সময়ে মূল্য পরিবর্তনটি ব্যবহারকারীর জন্য কার্যকর হবে। বিরতির (pause) মতো ক্ষেত্রে নবায়নের সময় পরিবর্তিত হলে এটি (ভবিষ্যতের কোনো সময়ে) পরিবর্তন হতে পারে। এই ক্ষেত্রটি কেবল তখনই পূরণ করা হয় যখন মূল্য পরিবর্তনটি কার্যকর হয়নি।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

মূল্য পরিবর্তন মোড

মূল্য পরিবর্তনের ধরণ।

এনাম
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 (PendingCancellation)
  }
}
ক্ষেত্র
initialCommittedPaymentsCount

integer

ব্যবহারকারী প্রাথমিকভাবে মোট যতগুলো অর্থপ্রদানের জন্য প্রতিশ্রুতিবদ্ধ।

subsequentCommittedPaymentsCount

integer

প্রতিটি প্রতিশ্রুতি মেয়াদের পরে ব্যবহারকারীকে মোট যতগুলো পেমেন্ট করতে হবে। খালি থাকার অর্থ হলো, প্রাথমিক প্রতিশ্রুতির পরে কিস্তির পরিকল্পনাটি একটি সাধারণ স্বয়ংক্রিয়ভাবে নবায়নযোগ্য সাবস্ক্রিপশনে ফিরে যাবে।

remainingCommittedPaymentsCount

integer

এই নবায়ন চক্রে পরিশোধ করার জন্য অবশিষ্ট মোট প্রতিশ্রুতিবদ্ধ কিস্তির সংখ্যা।

pendingCancellation

object ( PendingCancellation )

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

বাতিলের অপেক্ষায়

এই প্রকারে কোনো ক্ষেত্র নেই।

এটি একটি নির্দেশক যে ভার্চুয়াল কিস্তি পরিকল্পনাটি বাতিল করার কোনো অনুরোধ বাকি আছে কিনা। ব্যবহারকারী তার সমস্ত প্রতিশ্রুত অর্থ পরিশোধ সম্পন্ন করার পরেই কেবল বাতিলকরণটি ঘটবে।

মূল্য ধাপ সম্মতি বিবরণ

মূল্যবৃদ্ধি সংক্রান্ত তথ্য, যার জন্য ব্যবহারকারীর সম্মতি প্রয়োজন।

JSON উপস্থাপনা
{
  "state": enum (ConsentState),
  "consentDeadlineTime": string,
  "newPrice": {
    object (Money)
  }
}
ক্ষেত্র
state

enum ( ConsentState )

শুধুমাত্র আউটপুট। মূল্যবৃদ্ধির সম্মতির অবস্থা।

consentDeadlineTime

string ( Timestamp format)

যে নির্দিষ্ট সময়সীমার মধ্যে ব্যবহারকারীকে অবশ্যই সম্মতি প্রদান করতে হবে। এই সময়ের মধ্যে সম্মতি প্রদান করা না হলে, সাবস্ক্রিপশনটি বাতিল করে দেওয়া হবে।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

newPrice

object ( Money )

নতুন মূল্য নির্ধারণের জন্য ব্যবহারকারীর সম্মতি প্রয়োজন।

সম্মতি অবস্থা

মূল্যবৃদ্ধির সম্মতির অবস্থা।

এনাম
CONSENT_STATE_UNSPECIFIED অনির্দিষ্ট সম্মতি অবস্থা।
PENDING ব্যবহারকারী এখনও সম্মতি প্রদান করেননি।
CONFIRMED ব্যবহারকারী সম্মতি দিয়েছেন এবং নতুন মূল্যটি কার্যকর হওয়ার অপেক্ষায় রয়েছে।
COMPLETED ব্যবহারকারী সম্মতি দিয়েছেন এবং নতুন মূল্য কার্যকর হয়েছে।

প্রিপেইড প্ল্যান

প্রিপেইড প্ল্যান সম্পর্কিত তথ্য।

JSON উপস্থাপনা
{
  "allowExtendAfterTime": string
}
ক্ষেত্র
allowExtendAfterTime

string ( Timestamp format)

যদি এটি উপস্থিত থাকে, তবে এটি সেই সময় যার পরে প্রিপেইড প্ল্যানটির জন্য টপ-আপ কেনা যাবে। মেয়াদোত্তীর্ণ প্রিপেইড প্ল্যানগুলির জন্য এটি উপস্থিত থাকবে না।

RFC 3339 ব্যবহার করা হয়, যেখানে তৈরি হওয়া আউটপুট সর্বদা Z-নরম্যালাইজড হবে এবং এতে ০, ৩, ৬ বা ৯টি ভগ্নাংশীয় অঙ্ক ব্যবহৃত হবে। "Z" ছাড়াও অন্যান্য অফসেটও গ্রহণ করা হয়। উদাহরণ: "2014-10-02T15:01:23Z" , "2014-10-02T15:01:23.045123456Z" অথবা "2014-10-02T15:01:23+05:30"

অফারের বিবরণ

ক্রয়কৃত কোনো আইটেম সম্পর্কিত অফারের বিস্তারিত তথ্য।

JSON উপস্থাপনা
{
  "offerTags": [
    string
  ],
  "basePlanId": string,
  "offerId": string
}
ক্ষেত্র
offerTags[]

string

অফারটির সাথে যুক্ত সর্বশেষ অফার ট্যাগগুলো। এতে বেস প্ল্যান থেকে প্রাপ্ত ট্যাগগুলো অন্তর্ভুক্ত রয়েছে।

basePlanId

string

বেস প্ল্যান আইডি। সকল বেস প্ল্যান এবং অফারের জন্য প্রযোজ্য।

offerId

string

অফার আইডি। শুধুমাত্র ছাড়ের অফারগুলোর ক্ষেত্রেই প্রযোজ্য।

স্থগিত আইটেম প্রতিস্থাপন

বিলম্বিত পণ্য প্রতিস্থাপন সম্পর্কিত তথ্য।

JSON উপস্থাপনা
{
  "productId": string
}
ক্ষেত্র
productId

string

নতুন productId-টি বিদ্যমান productId-কে প্রতিস্থাপন করবে।

স্থগিত আইটেম অপসারণ

এই প্রকারে কোনো ক্ষেত্র নেই।

বিলম্বিত পণ্য প্রতিস্থাপন সম্পর্কিত তথ্য।

সাইনআপ প্রচার

এই পণ্যটি কেনার সময় অফারটি প্রযোজ্য ছিল।

JSON উপস্থাপনা
{

  // Union field promotion_type can be only one of the following:
  "oneTimeCode": {
    object (OneTimeCode)
  },
  "vanityCode": {
    object (VanityCode)
  }
  // End of list of possible types for union field promotion_type.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড promotion_type । আইটেমটিতে প্রযোজ্য প্রমোশনের ধরন। promotion_type নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
oneTimeCode

object ( OneTimeCode )

একটি এককালীন কোড প্রয়োগ করা হয়েছিল।

vanityCode

object ( VanityCode )

একটি ভ্যানিটি কোড প্রয়োগ করা হয়েছিল।

ওয়ানটাইমকোড

এই প্রকারে কোনো ক্ষেত্র নেই।

একবার ব্যবহারযোগ্য একটি প্রচার কোড।

ভ্যানিটিকোড

একাধিকবার ব্যবহারযোগ্য, পূর্বনির্ধারিত একটি প্রচার কোড।

JSON উপস্থাপনা
{
  "promotionCode": string
}
ক্ষেত্র
promotionCode

string

প্রচার কোড।

আইটেম প্রতিস্থাপন

একটি সাবস্ক্রিপশন লাইন আইটেম প্রতিস্থাপন করা হচ্ছে, সে সম্পর্কিত বিবরণ।

JSON উপস্থাপনা
{
  "productId": string,
  "replacementMode": enum (ReplacementMode),
  "basePlanId": string,
  "offerId": string
}
ক্ষেত্র
productId

string

যে সাবস্ক্রিপশন লাইন আইটেমটি প্রতিস্থাপন করা হচ্ছে, তার প্রোডাক্ট আইডি।

replacementMode

enum ( ReplacementMode )

ক্রয়ের সময় প্রতিস্থাপন মোড প্রয়োগ করা হয়েছিল।

basePlanId

string

যে সাবস্ক্রিপশন লাইন আইটেমটি প্রতিস্থাপন করা হচ্ছে, তার বেস প্ল্যান আইডি।

offerId

string

প্রতিস্থাপিত হতে থাকা সাবস্ক্রিপশন লাইন আইটেমটির অফার আইডি, যদি প্রযোজ্য হয়।

প্রতিস্থাপন মোড

সাবস্ক্রিপশনের বিকল্প পদ্ধতি।

এনাম
REPLACEMENT_MODE_UNSPECIFIED অনির্দিষ্ট প্রতিস্থাপন মোড।
WITH_TIME_PRORATION নতুন প্ল্যানটি আনুপাতিক হারে গণনা করে পুরোনো প্ল্যান থেকে জমা করা হবে।
CHARGE_PRORATED_PRICE নতুন প্ল্যানটির জন্য ব্যবহারকারীকে আনুপাতিক হারে মূল্য পরিশোধ করতে হবে।
WITHOUT_PRORATION নতুন পরিকল্পনাটি সময় আনুপাতিক হারে গণনা না করেই পুরানোটিকে প্রতিস্থাপন করবে।
CHARGE_FULL_PRICE নতুন প্ল্যানটির জন্য ব্যবহারকারীকে সম্পূর্ণ মূল্য পরিশোধ করতে হবে।
DEFERRED পুরানো প্ল্যানটি বাতিল করা হবে এবং সেটির মেয়াদ শেষ হওয়ার পর নতুন প্ল্যানটি কার্যকর হবে।
KEEP_EXISTING এই প্রতিস্থাপনের পরেও পরিকল্পনাটি অপরিবর্তিত থাকবে।

অফার ফেজ

অফার পর্বের বিবরণ।

JSON উপস্থাপনা
{

  // Union field offer_phase can be only one of the following:
  "prorationPeriod": {
    object (ProrationPeriodOfferPhase)
  },
  "freeTrial": {
    object (FreeTrialOfferPhase)
  },
  "introductoryPrice": {
    object (IntroductoryPriceOfferPhase)
  },
  "basePrice": {
    object (BasePriceOfferPhase)
  }
  // End of list of possible types for union field offer_phase.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড offer_phase । এটি অফার পর্যায়ের বিস্তারিত তথ্য। offer_phase নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
prorationPeriod

object ( ProrationPeriodOfferPhase )

অফার পর্বটি যখন একটি আনুপাতিক বন্টন সময়কাল হয়, তখন এটি সেট করা হয়।

freeTrial

object ( FreeTrialOfferPhase )

অফার পর্বটি যখন ফ্রি ট্রায়াল থাকে তখন সেট করা হয়।

introductoryPrice

object ( IntroductoryPriceOfferPhase )

অফার পর্বটি যখন একটি প্রারম্ভিক মূল্য অফার পর্ব হয়, তখন এটি সেট করা হয়।

basePrice

object ( BasePriceOfferPhase )

অফার পর্যায়টি যখন বেস প্ল্যান প্রাইসিং পর্যায় হয়, তখন এটি সেট করা হয়।

আনুপাতিক সময়কাল অফার পর্যায়

আনুপাতিক বন্টন সময়কাল অফার পর্ব সম্পর্কে বিস্তারিত তথ্য।

JSON উপস্থাপনা
{
  "originalOfferPhaseType": enum (OriginalOfferPhaseType)
}
ক্ষেত্র
originalOfferPhaseType

enum ( OriginalOfferPhaseType )

প্রোরেশন পিরিয়ডের আগের মূল অফার ফেজ টাইপ। শুধুমাত্র তখনই সেট করা হয় যখন একটি বিদ্যমান অফার ফেজ থেকে প্রোরেশন পিরিয়ড আপডেট করা হয়।

মূল অফারের পর্যায় প্রকার

অফার পেমেন্টের মূল অফার পর্যায়, যদি অফার পেমেন্টটি একটি আনুপাতিক পেমেন্ট হয়।

এনাম
ORIGINAL_OFFER_PHASE_TYPE_UNSPECIFIED অনির্দিষ্ট মূল প্রস্তাব পর্যায়ের ধরণ।
BASE সাবস্ক্রিপশনটি বেস প্রাইসিং পর্যায়ে রয়েছে (যেমন সম্পূর্ণ মূল্য)।
INTRODUCTORY সাবস্ক্রিপশনটি একটি প্রারম্ভিক মূল্য পর্যায়ে রয়েছে।
FREE_TRIAL সাবস্ক্রিপশনটি একটি ফ্রি ট্রায়ালে রয়েছে।

বিনামূল্যে ট্রায়াল অফার পর্যায়

এই প্রকারে কোনো ক্ষেত্র নেই।

ফ্রি ট্রায়াল অফার পর্ব সম্পর্কে বিস্তারিত।

প্রারম্ভিক মূল্যের অফার পর্যায়

এই প্রকারে কোনো ক্ষেত্র নেই।

প্রারম্ভিক মূল্য অফার পর্বের বিবরণ।

বেসপ্রাইসঅফারফেজ

এই প্রকারে কোনো ক্ষেত্র নেই।

ভিত্তিমূল্য প্রস্তাব পর্ব সম্পর্কে বিস্তারিত।

আউটঅফঅ্যাপপারচেজকনটেক্সট

অ্যাপের বাইরের কেনাকাটা সম্পর্কিত নির্দিষ্ট তথ্য।

JSON উপস্থাপনা
{
  "expiredExternalAccountIdentifiers": {
    object (ExternalAccountIdentifiers)
  },
  "expiredPurchaseToken": string
}
ক্ষেত্র
expiredExternalAccountIdentifiers

object ( ExternalAccountIdentifiers )

এই SKU-এর জন্য সর্বশেষ মেয়াদোত্তীর্ণ সাবস্ক্রিপশন থেকে প্রাপ্ত ব্যবহারকারী অ্যাকাউন্ট শনাক্তকারী।

expiredPurchaseToken

string

সর্বশেষ মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের পারচেজ টোকেন। এই পারচেজ টোকেনটি শুধুমাত্র ব্যবহারকারীকে শনাক্ত করতে ব্যবহার করা যাবে, যদি পারচেজ টোকেন এবং ব্যবহারকারীর মধ্যে সংযোগটি আপনার ডেটাবেসে সংরক্ষিত থাকে। মেয়াদ শেষ হওয়ার পর ৬০ দিনের বেশি হয়ে গেলে এটি গুগল ডেভেলপার এপিআই (Google Developer API) কল করার জন্য ব্যবহার করা যাবে না।

OnHoldStateContext

ON_HOLD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত প্রাসঙ্গিক তথ্য।

JSON উপস্থাপনা
{

  // Union field on_hold_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field on_hold_reason.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড on_hold_reason । সাবস্ক্রিপশনটি ON_HOLD অবস্থায় থাকার কারণ। on_hold_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
renewalDeclined

object ( RenewalDeclinedContext )

ঐচ্ছিক। নবায়নের জন্য অর্থপ্রদান প্রত্যাখ্যান করা হয়েছে।

পুনর্নবীকরণ প্রত্যাখ্যানের প্রেক্ষাপট

নবায়ন প্রত্যাখ্যানের পরিস্থিতি সম্পর্কিত প্রেক্ষাপট।

JSON উপস্থাপনা
{
  "pendingOrderId": string
}
ক্ষেত্র
pendingOrderId

string

প্রয়োজনীয়। বিচারাধীন বা ব্যর্থ হওয়া আদেশের আইডি, যা রাষ্ট্রের জন্য সমস্যা সৃষ্টি করছে।

InGracePeriodStateContext

IN_GRACE_PERIOD অবস্থায় থাকা সাবস্ক্রিপশন সম্পর্কিত অতিরিক্ত প্রাসঙ্গিক তথ্য।

JSON উপস্থাপনা
{

  // Union field grace_period_reason can be only one of the following:
  "renewalDeclined": {
    object (RenewalDeclinedContext)
  }
  // End of list of possible types for union field grace_period_reason.
}
ক্ষেত্র
ইউনিয়ন ফিল্ড grace_period_reason । সাবস্ক্রিপশনটি IN_GRACE_PERIOD অবস্থায় থাকার কারণ। grace_period_reason নিম্নলিখিতগুলির মধ্যে কেবল একটি হতে পারে:
renewalDeclined

object ( RenewalDeclinedContext )

ঐচ্ছিক। নবায়নের জন্য অর্থপ্রদান প্রত্যাখ্যান করা হয়েছে।

পদ্ধতি

cancel

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

defer

সাবস্ক্রিপশনের নবায়ন স্থগিত করে।

get

একটি সাবস্ক্রিপশন সম্পর্কে মেটাডেটা পান

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 গুগল প্লে সার্ভারে সাধারণ ত্রুটি। আপনার অনুরোধটি পুনরায় চেষ্টা করুন।

সমস্যাটি অব্যাহত থাকলে আপনার গুগল প্লে অ্যাকাউন্ট ম্যানেজারের সাথে যোগাযোগ করুন অথবা একটি সাপোর্ট রিকোয়েস্ট জমা দিন। কোনো জ্ঞাত বিভ্রাটের জন্য প্লে স্ট্যাটাস ড্যাশবোর্ডটি পরীক্ষা করে দেখতে পারেন।