অ্যাড-অন সহ সাবস্ক্রিপশন আপনাকে একাধিক সাবস্ক্রিপশন প্রোডাক্ট একসাথে বান্ডেল করতে দেয় যা একসাথে কেনা, বিল করা এবং ম্যানেজ করা যায়। আপনার আগে থেকে থাকা প্রোডাক্ট ক্যাটালগ সাবস্ক্রিপশন কোনও আগাম স্পেসিফিকেশন বা অতিরিক্ত কনফিগারেশন ছাড়াই অ্যাড-অন হিসেবে নির্বিঘ্নে অফার করা যেতে পারে। আপনি আগে থেকে থাকা একাধিক সাবস্ক্রিপশন প্রোডাক্টের সাথে পারচেজ ফ্লো লঞ্চ করতে এবং অ্যাড-অন হিসেবে সেগুলি বিক্রি করতে পারবেন।
বিবেচ্য বিষয়
অ্যাড-অন ফিচারের সাথে সাবস্ক্রিপশন ব্যবহার করার সময় নিম্নলিখিত বিষয়গুলি বিবেচনা করুন:
অ্যাড-অন সহ সাবস্ক্রিপশন শুধুমাত্র অটোমেটিক রিনিউ হওয়া বেস প্ল্যানের জন্য কাজ করে।
কেনাকাটার সব আইটেমের জন্য একই নিজে থেকে রিনিউ হওয়া বিলিংয়ের মেয়াদ থাকতে হবে। যেমন, বার্ষিক বিলিং সাবস্ক্রিপশনের সাথে মাসিক বিলিং অ্যাড-অন ব্যবহার করতে পারবেন না।
অ্যাড-অন কেনাকাটার সাথে সাবস্ক্রিপশনে আপনার সর্বাধিক ৫০টি আইটেম থাকতে পারে।
এই ফিচার দক্ষিণ কোরিয়াতে (KR) উপলভ্য নেই।
Play Billing Library-এর সাথে ইন্টিগ্রেট করা
এই বিভাগে, Play Billing Library (PBL)-এর সাথে অ্যাড-অন ফিচার সহ সাবস্ক্রিপশন কীভাবে ইন্টিগ্রেট করতে হয় তা বর্ণনা করা হয়েছে। এটি ধরে নেয় যে আপনি প্রাথমিক PBL ইন্টিগ্রেশন ধাপগুলির সাথে পরিচিত যেমন, আপনার অ্যাপে PBL ডিপেন্ডেন্সি যোগ করা, BillingClient শুরু করা, এবং Google Play-তে কানেক্ট করা। এই বিভাগে PBL ইন্টিগ্রেশনের সেইসব দিক নিয়ে আলোচনা করা হয়েছে যা অ্যাড-অন সহ সাবস্ক্রিপশনের ক্ষেত্রে প্রযোজ্য।
পারচেজ ফ্লো লঞ্চ করা
অ্যাড-অন সহ সাবস্ক্রিপশনের জন্য পারচেজ ফ্লো চালু করতে, নিম্নলিখিত ধাপগুলি অনুসরণ করুন:
BillingClient.queryProductDetailsAsyncপদ্ধতি ব্যবহার করে আপনার সাবস্ক্রিপশনের সব আইটেম নিয়ে আসুন।প্রতিটি আইটেমের জন্য
ProductDetailsParamsঅবজেক্ট সেট করুন।ProductDetailsParamsঅবজেক্টের মাধ্যমে দেখানো আইটেম, সাবস্ক্রিপশন আইটেম নির্দেশকারীProductDetailsএবং নির্দিষ্ট সাবস্ক্রিপশনbase planবাofferবেছে নেওয়াofferToken, উভয়কেই নির্দিষ্ট করে।BillingFlowParams.Builder.setProductDetailsParamsListপদ্ধতিতে আইটেমের বিবরণ উল্লেখ করুন।BillingFlowParamsক্লাসটি কেনাকাটার ফ্লোয়ের বিবরণ নির্দিষ্ট করে।একাধিক আইটেম সহ সাবস্ক্রিপশন কেনাকাটার জন্য কীভাবে বিলিং ফ্লো লঞ্চ করতে হয় তা নিম্নলিখিত স্যাম্পেলে দেখানো হয়েছে:
জাভা
BillingClient billingClient = …; // ProductDetails obtained from queryProductDetailsAsync(). ProductDetailsParams productDetails1 = ...; ProductDetailsParams productDetails2 = ...; ArrayList
productDetailsList = new ArrayList<>(); productDetailsList.add(productDetails1); productDetailsList.add(productDetails2); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
কেনাকাটার আইটেমের ক্ষেত্রে প্রযোজ্য নিয়ম
- অ্যাড-অন রিনিউ করার তারিখ যাতে বেস আইটেমের সাথে মিলে যায় তা নিশ্চিত করতে, Google Play যেকোনও ট্রায়াল বা শুরুর দিকের দামের ফেজের পরে আনুপাতিক চার্জ যোগ করতে পারে।
- প্রতিটি আইটেমের জন্য আলাদাভাবে অফারের উপযুক্ততা মূল্যায়ন করা হবে।
কেনাকাটা প্রসেস করুন
অ্যাড-অন সহ সাবস্ক্রিপশন প্রসেস করা এবং
আপনার অ্যাপে Google Play Billing Library ইন্টিগ্রেট করুন লিঙ্কে বর্ণিত
একটি সাবস্ক্রিপশন কেনা প্রসেস করা একই ব্যাপার। একমাত্র
পার্থক্য হল, ব্যবহারকারী একটি কেনাকাটার মাধ্যমে একাধিক
এনটাইটেলমেন্ট পেতে পারেন। অ্যাড-অন সহ সাবস্ক্রিপশন কিনলে
একাধিক আইটেম পাওয়া যায় যা Google Play Billing Library-তে
Purchase.getProducts() এবং তারপরে Google Play Developer API-এর
purchases.subscriptionsv2.get-এ lineItems তালিকা ব্যবহার করে
ফেরত পাওয়া যায়।
অ্যাড-অনের মাধ্যমে সাবস্ক্রিপশন পরিবর্তন করা
অ্যাড-অন সহ আপনার সাবস্ক্রিপশনে কোনও পরিবর্তন করলে, তা আপগ্রেড বা ডাউনগ্রেড হিসেবে বিবেচিত হয়। আরও তথ্যের জন্য, সাবস্ক্রিপশন আপগ্রেড বা ডাউনগ্রেড করুন।
আপনার অ্যাপে অ্যাড-অন সহ সাবস্ক্রিপশনের আগে থেকে থাকা কেনাকাটা পরিবর্তন বা রিস্টোর করতে, আপনাকে অতিরিক্ত প্যারামিটার সহ launchBillingFlow API কল করতে হবে এবং নিম্নলিখিত বিষয়গুলি নিশ্চিত করতে হবে:
- বর্তমান সাবস্ক্রিপশন কেনাকাটার টোকেন সহ সবসময়
setOldPurchaseToken-এ কল করুন। - কোনও আইটেম আপগ্রেড, ডাউনগ্রেড বা ক্রসগ্রেড করতে,
SubscriptionProductReplacementParams.setReplacementModeকল করুন যাতে পুরনো ও নতুন কেনা আইটেমের মধ্যে প্ল্যান পরিবর্তন কীভাবে ম্যানেজ করা উচিত তা নির্দিষ্ট করা যায়। অন্যথায়,SubscriptionProductReplacementParamsসেট করার প্রয়োজন নেই। - বেস আইটেম পরিবর্তন না করা হলেও, নির্দিষ্ট রিপ্লেসমেন্ট আচরণ প্রয়োগ করতে
আপনি এখনও
SubscriptionProductReplacementParams.setSubscriptionReplacementModeকল করতে পারবেন। এই ক্ষেত্রে প্রযোজ্য নিয়ম সম্পর্কে জানতে, একই সাবস্ক্রিপশনের মধ্যে আবার সাবস্ক্রাইব করা বা প্ল্যান পরিবর্তন করা দেখুন। - নতুন অ্যাড-অন অবিলম্বে আনুপাতিক চার্জ সহ প্রযোজ্য হবে যাতে পরবর্তী রিনিউ করার তারিখ সাবস্ক্রিপশনের মূল আইটেমের সাথে সামঞ্জস্যপূর্ণ হয়।
- সরিয়ে দেওয়া অ্যাড-অনের মেয়াদ বর্তমান বিলিংয়ের মেয়াদ শেষ হওয়ার পরে শেষ হয়ে যাবে।
- বিলিং ফ্লো চালু করার সময়, আপনাকে সাবস্ক্রিপশনে থাকা সব অ্যাক্টিভ আইটেম অ্যাড-অন সহ উল্লেখ করতে হবে, তবে যেগুলি সরিয়ে দেওয়া হবে সেগুলি বাদ দিতে হবে এবং নতুন অ্যাড-অন যোগ করতে হবে।
অ্যাড-অন সহ সাবস্ক্রিপশনের আগে থেকে থাকা কেনাকাটা পরিবর্তন করার সময়
launchBillingFlow API কীভাবে কল করতে হয় তা নিম্নলিখিত স্যাম্পেল থেকে দেখানো হয়েছে:
জাভা
BillingClient billingClient = …; int replacementMode =…; // ProductDetails obtained from queryProductDetailsAsync(). ProductDetailsParams productDetails1 = ...; ProductDetailsParams productDetails2 = ...; ProductDetailsParams productDetails3 = ...; ArrayListnewProductDetailsList = new ArrayList<>(); newProductDetailsList.add(productDetails1); newProductDetailsList.add(productDetails1); newProductDetailsList.add(productDetails1); BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder() .setSubscriptionUpdateParams( SubscriptionUpdateParams.newBuilder() .setOldPurchaseToken(purchaseTokenOfExistingSubscription) // No need to set if change does not affect the base item. .setSubscriptionReplacementMode(replacementMode) .build()) .setProductDetailsParamsList(productDetailsList) .build(); billingClient.launchBillingFlow(billingFlowParams);
সাবস্ক্রিপশন পরিবর্তন করার পরিস্থিতি
নিম্নলিখিত সারণীতে অ্যাড-অন সহ সাবস্ক্রিপশনের বিভিন্ন পরিবর্তনের পরিস্থিতি এবং সংশ্লিষ্ট আচরণ তালিকাভুক্ত করা হয়েছে।
SubscriptionProductReplacementParams ব্যবহার করার সময়
| আগে থেকে থাকা আইটেম | পরিবর্তিত আইটেম | SubscriptionProductReplacementParams-এ কি আপনাকে রিপ্লেসমেন্ট মোড সেট করতে হবে? | আচরণ |
|---|---|---|---|
| A (বেস আইটেম), B | A (বেস আইটেম) | হ্যাঁ (KEEP_EXISTING ব্যবহার করুন) |
|
| এ | A (বেস আইটেম), B | হ্যাঁ (A-এর জন্য KEEP_EXISTING ব্যবহার করুন) |
|
| A (বেস আইটেম), B | A (বেস আইটেম), C | হ্যাঁ (A-এর জন্য KEEP_EXISTING ব্যবহার করুন) |
|
| A (বেস আইটেম), B | B (বেস আইটেম) | না | A-কে পরে সরিয়ে দেওয়ার জন্য শিডিউল করা হয়েছে। |
| A (বেস আইটেম), B | C (বেস আইটেম) | হ্যাঁ |
|
| A (বেস আইটেম), B | C (বেস আইটেম), B | হ্যাঁ |
|
| A (বেস আইটেম), B | C (বেস আইটেম), D | হ্যাঁ |
|
| A (বেস আইটেম), B | A (বেস আইটেম), C | হ্যাঁ |
|
| A (বেস আইটেম), B, C | D (বেস আইটেম), B, C | হ্যাঁ |
|
SubscriptionUpdateParams ব্যবহার করার সময়
| আগে থেকে থাকা আইটেম | পরিবর্তিত আইটেম | আপনাকে কি রিপ্লেসমেন্ট সংক্রান্ত তথ্য সেট করতে হবে? | আচরণ |
|---|---|---|---|
| A (বেস আইটেম), B | A (বেস আইটেম) | না |
|
| এ | A (বেস আইটেম), B | না |
|
| A (বেস আইটেম), B | A (বেস আইটেম), C | না |
|
| A (বেস আইটেম), B | B (বেস আইটেম) | না | A-কে পরে সরিয়ে দেওয়ার জন্য শিডিউল করা হয়েছে। |
| A (বেস আইটেম), B | C (বেস আইটেম) | হ্যাঁ |
|
| A (বেস আইটেম), B | C (বেস আইটেম), B | হ্যাঁ | A -> C-এর রিপ্লেসমেন্ট
setSubscriptionReplacementMode-এর উপর নির্ভর করে (PBL 8.1-এ বন্ধ করা হয়েছে)। |
| A (বেস আইটেম), B | C (বেস আইটেম), D | হ্যাঁ |
|
রিয়েল-টাইম ডেভেলপার সম্পর্কিত বিজ্ঞপ্তি
অ্যাড-অন সহ সাবস্ক্রিপশন কেনার জন্য RTDN-এ subscriptionId ফিল্ড প্রদান করা হয়নি, এতে একাধিক আইটেম এনটাইটেলমেন্ট রয়েছে।
পরিবর্তে, আপনি Play Developer API ব্যবহার করে কেনাকাটা করতে এবং
সংশ্লিষ্ট আইটেমের এনটাইটেলমেন্ট দেখতে পারবেন।
আগে থেকে থাকা সাবস্ক্রাইবারদের জন্য দামের পরিবর্তন
অ্যাড-অন কেনা সহ সাবস্ক্রিপশনের বর্তমান সাবস্ক্রাইবারদের জন্য সাবস্ক্রিপশনের দাম পরিবর্তন করা সাবস্ক্রিপশনের দাম পরিবর্তন করুন-এ বর্ণিত একক সাবস্ক্রিপশনের দাম পরিবর্তন করার মতোই। তবে, এই বিভাগে যেমন বর্ণনা করা হয়েছে, কিছু সীমাবদ্ধতা এবং কার্যকারিতা সংক্রান্ত পার্থক্য রয়েছে।
পুরনো দামের কোহর্ট শেষ করা
পুরনো কোহর্ট শেষ করা অ্যাড-অন কেনাকাটার সাথে সাবস্ক্রিপশনকেও প্রভাবিত করে। নিম্নলিখিত নিয়ম প্রযোজ্য:
সব বকেয়া অপ্ট-ইন মূল্য বৃদ্ধির ক্ষেত্রে নতুন মূল্যের সাথে একই রিনিউ করার সময় থাকতে হবে। অ্যাড-অন কেনাকাটা সহ সাবস্ক্রিপশনের কোনও আইটেমের দাম বাড়ার জন্য ব্যবহারকারী এখনও সম্মতি না দিলে, কেনাকাটার অন্যান্য আইটেমের দাম বাড়ার জন্য নতুন কোনও সম্মতি উপেক্ষা করা হবে, যদি না এর ফলে নতুন দামের রিনিউ করার সময় বাকি স্ট্যাটাসে থাকা বর্তমান দাম বাড়ার সময়ের মতোই হয়। ব্যবহারকারী দাম বৃদ্ধির বিষয়টি কনফার্ম করলে, দামের যেকোনও নতুন পরিবর্তন রেজিস্টার করা হবে। এবং ব্যবহারকারীরা শুধুমাত্র একবারেই সমস্ত কনফার্ম না করা চালু করলে মূল্য বাড়বে সংক্রান্ত বিষয় গ্রহণ করতে পারবেন।
উদাহরণ:
- ধরা যাক, অ্যাড-অন (আইটেম ক এবং খ) সহ একটি সাবস্ক্রিপশন, প্রতি মাসের ৭ তারিখে রিনিউ হয়।
- আইটেম A-এর দাম $৭ থেকে $১০-এ পরিবর্তন করা হচ্ছে এবং দাম বৃদ্ধির এই পরিবর্তন ৭ জুলাই থেকে প্রযোজ্য হবে বলে আশা করা হচ্ছে।
- আইটেম B-এর জন্য ২ জুন থেকে $৫ থেকে $৬-এ নতুন দাম মাইগ্রেশন শুরু হয়। যেহেতু মাইগ্রেশনের ৩৭ দিন পরে চালু করলে মূল্য বাড়বে, তাই আইটেম B-এর জন্য মূল্য বৃদ্ধি ৭ আগস্ট থেকে শুরু হবে।
এই পরিস্থিতিতে, ব্যবহারকারী আইটেম A-এর জন্য দামের পরিবর্তন গ্রহণ না করা পর্যন্ত (যতক্ষণ না এটি CONFIRMED অবস্থায় থাকে), আইটেম B-এর জন্য দামের পরিবর্তন এই সাবস্ক্রিপশন কেনাকাটার জন্য রেজিস্টার করা হয় না, এবং SubscriptionPurchaseV2 আইটেম B-এর জন্য দামের পরিবর্তনের বিবরণ ফেরত দেয় না। ব্যবহারকারী আইটেম A-এর দাম পরিবর্তন কনফার্ম করার পরে, আইটেম B-এর দাম পরিবর্তন শুরু হয়। ব্যবহারকারী আইটেম A-এর জন্য চালু করলে মূল্য বাড়বে বিকল্প গ্রহণ করার পরেই আইটেম B-এর জন্য চালু করলে মূল্য বাড়বে বিকল্প গ্রহণ করতে পারবেন।
Google Play-এর ইমেলে এমন সব আইটেমের তালিকা থাকে যেগুলির দাম একই দিনে বেড়েছে বা কমেছে।
অ্যাড-অন সহ সাবস্ক্রিপশন বাতিল করুন
ব্যবহারকারীরা Play সাবস্ক্রিপশন সেন্টারে অ্যাড-অন সহ সাবস্ক্রিপশনের সম্পূর্ণ কেনাকাটা বাতিল করতে পারেন এবং আপনি শুধুমাত্র Google Play Developer API ব্যবহার করে অ্যাড-অন সহ সাবস্ক্রিপশনের সম্পূর্ণ কেনাকাটা বাতিল করতে পারেন।
সাবস্ক্রিপশন প্রত্যাহার না করে বাতিল করা হলে, কেনা আইটেমগুলির কোনওটিই অটোমেটিক রিনিউ হবে না, তবে ব্যবহারকারী সংশ্লিষ্ট বিলিংয়ের মেয়াদ শেষ না হওয়া পর্যন্ত ফ্রি ট্রায়াল সহ এনটাইটেল করা আইটেমগুলি অ্যাক্সেস করতে পারবেন।
অ্যাড-অন সহ সাবস্ক্রিপশন প্রত্যাহার ও রিফান্ড করা
সাবস্ক্রিপশন প্রত্যাহার ও রিফান্ড করার কিছু নির্দেশিকা নিচে দেওয়া হল:
সাবস্ক্রিপশনের অ্যাক্সেস প্রত্যাহার না করে নির্দিষ্ট অর্ডারের জন্য পরিমাণ-ভিত্তিক রিফান্ড ইস্যু করতে Play Console ব্যবহার করুন।
সাবস্ক্রিপশনের অ্যাক্সেস প্রত্যাহার না করেই ব্যবহারকারীর করা নির্দিষ্ট সাবস্ক্রিপশন পেমেন্ট সম্পূর্ণ রিফান্ড করতে
orders.refund-এ কল করুন।সব সাবস্ক্রিপশন আইটেমের অ্যাক্সেস অবিলম্বে তুলে নিতে
purchases.subscriptionsv2.revokeনম্বরে কল করুন। এই API-এর সাহায্যে আপনি:সব আইটেমের অ্যাক্সেস প্রত্যাহার করে নেওয়া এবং প্রো-রেটা রিফান্ড প্রদান করা।
প্রোরেটার হিসেবে রিফান্ড ব্যবহার করে অ্যাড-অন সহ সাবস্ক্রিপশন প্রত্যাহার করার সময়, পরবর্তী রিনিউয়াল পর্যন্ত বাকি সময়ের উপর ভিত্তি করে প্রোরেটার হিসেবে পরিমাণ সহ প্রতিটি আইটেমের লেটেস্ট অর্ডারের জন্য রিফান্ড ইস্যু করা হবে।
সব আইটেমের অ্যাক্সেস তুলে নিন এবং সম্পূর্ণ রিফান্ড করুন।
আইটেমের জন্য সম্পূর্ণ রিফান্ড সহ স্বতন্ত্র আইটেমের অ্যাক্সেস প্রত্যাহার করুন।
অ্যাড-অন সহ সাবস্ক্রিপশনে স্বতন্ত্র আইটেম প্রত্যাহার করা
সম্পূর্ণ কেনাকাটা প্রত্যাহার না করে অ্যাড-অন সহ সাবস্ক্রিপশনে
ব্যক্তিগত সাবস্ক্রিপশন আইটেম প্রত্যাহার করতে, RevocationContext-এ সেট করা ItemBasedRefund ফিল্ড সহ
purchases.subscriptionsv2.revoke কল করুন। যে আইটেমের productId তুলে নেওয়া ও রিফান্ড করা উচিত,
সেটি ItemBasedRefund ফিল্ডে সেট করা যেতে পারে।
এক বা একাধিক অটোমেটিক রিনিউ হওয়া সাবস্ক্রিপশন আইটেম কেনাকাটার জন্য ItemBasedRefund ফিল্ড সেট করা যেতে পারে।
ItemBasedRefund-এ উল্লেখ করা আইটেম তুলে নেওয়ার পরেও সাবস্ক্রিপশন কেনাকাটায় এখনও অ্যাক্টিভ আইটেম থাকলে, শুধু আইটেমটি তুলে নেওয়া হবে এবং সাবস্ক্রিপশন স্ট্যাটাসে কোনও বাধা না দিয়ে সম্পূর্ণ রিফান্ড করা হবে।ItemBasedRefund-এ উল্লেখ করা আইটেমটি তুলে নেওয়ার পরে সাবস্ক্রিপশন কেনাকাটায় কোনও অ্যাক্টিভ আইটেম না থাকলে, আইটেমটি তুলে নেওয়া হয়, সম্পূর্ণ রিফান্ড করা হয় এবং সাবস্ক্রিপশন বাতিল করা হয়।
বিবেচ্য বিষয়
ItemBasedRefundব্যবহার করার সময়, একবারে শুধুমাত্র একটি আইটেম তুলে নেওয়া যাবে। বিভিন্ন আইটেম প্রত্যাহার করার প্রয়োজন হলে, অনুরোধটি একাধিকবার কল করা যেতে পারে।- সাবস্ক্রিপশন কেনার সময় পেমেন্ট বাতিল করা হলে অথবা
ItemBasedRefund-এ উল্লেখ করা আইটেমটি আপনার মালিকানাধীন না হলে বা মেয়াদ শেষ হয়ে গেলে, আইটেম বাতিল করা ব্লক করা হয়। - প্রিপেড সাবস্ক্রিপশনে আইটেম টার্ন ডাউন কাজ করে না।
বিলিং পিছিয়ে দিন
আপনি Purchases.subscriptionsv2:defer পদ্ধতি ব্যবহার করে অ্যাড-অন সহ সাবস্ক্রিপশনের জন্য পরবর্তী বিলিং তারিখ এগিয়ে আনতে পারেন।
অ্যাড-অন সহ কোনও সাবস্ক্রিপশন স্থগিত করলে, সাবস্ক্রিপশনের সব আইটেম একই সময়ের জন্য স্থগিত করা হয়। বিলম্বিত পেমেন্টের সময়সীমা চলাকালীন, ব্যবহারকারী সব আইটেম অ্যাক্সেস করতে পারবেন, তবে তার জন্য কোনও চার্জ করা হবে না। সব আইটেমের রিনিউ করার তারিখ নতুন তারিখে আপডেট করা হয়েছে।
এটি প্রচার বা গ্রাহকের সাথে সুসম্পর্ক বজায় রাখার জন্য উপযোগী হতে পারে। প্রতি API কলে বিলিং কমপক্ষে এক দিন থেকে সর্বাধিক এক বছর পর্যন্ত পিছিয়ে দেওয়া যেতে পারে। নতুন বিলিং তারিখ আসার আগে বিলিং স্থগিত রাখার সময়সীমা বাড়াতে আপনি একাধিকবার API কল করতে পারেন।
এই অ্যাকশন নেওয়া হলে, SUBSCRIPTION_DEFERRED রিয়েল-টাইম ডেভেলপার বিজ্ঞপ্তি ট্রিগার করা হয়।
পেমেন্ট প্রত্যাখ্যান করার সময় আইটেমের মেয়াদ শেষ হয়ে যাওয়া
অ্যাড-অন সহ সাবস্ক্রিপশন কেনার ক্ষেত্রে, নির্দিষ্ট কিছু রিনিউয়ালের জন্য শুধুমাত্র আইটেম এনটাইটেলমেন্টের সাবসেট বাড়ানোর প্রয়োজন হতে পারে, যাতে ভবিষ্যতের মেয়াদ শেষ হওয়ার তারিখ সহ আইটেমগুলি প্রভাবিত না হয়।
রিনিউয়ালের সাথে কোন আইটেম যুক্ত আছে তা নির্বিশেষে, রিনিউয়ালের পেমেন্ট প্রত্যাখ্যান করা হলে, সামগ্রিক সাবস্ক্রিপশন কেনাকাটা অতিরিক্ত সময়কাল এবং অ্যাকাউন্ট হোল্ডে প্রবেশ করবে যেমনটি নিম্নলিখিত ডকুমেন্টেশনে বর্ণনা করা হয়েছে।
রিকভারির সময়সীমা বেছে নেওয়া
যেহেতু অতিরিক্ত সময়কাল ব্যবহারকারীকে এনটাইটেলমেন্ট প্রদান করে, তাই অ্যাড-অন সহ সাবস্ক্রিপশন কেনার পরে, রিনিউ করার পেমেন্ট বাতিল করা হলে, সমস্ত অ্যাক্টিভ আইটেমের মধ্যে ন্যূনতম অতিরিক্ত সময়কাল সহ আইটেমটি বেছে নেওয়া হয় এবং এই রিনিউ করার জন্য রিকভারি পিরিয়ড হিসেবে এর অতিরিক্ত সময়কাল এবং অ্যাকাউন্ট হোল্ড পিরিয়ড প্রয়োগ করা হয়।
অ্যাক্টিভ আইটেমের মধ্যে সেইসব আইটেম অন্তর্ভুক্ত থাকে যেগুলি রিনিউ করার ঠিক আগে অ্যাড-অন সহ সাবস্ক্রিপশন কেনার সময় অ্যাক্টিভ ছিল, নতুন যোগ করা কোনও আইটেম বাদ দেওয়া হয় (যা রিকভার না করা পর্যন্ত অ্যাক্টিভ হবে না) এবং সরিয়ে দেওয়া বা বন্ধ করার কারণে আর অ্যাক্টিভ নেই এমন কোনও আইটেম বাদ দেওয়া হয়।
ন্যূনতম অতিরিক্ত সময়কাল বেছে নেওয়া আইটেমের অ্যাকাউন্ট হোল্ডে রাখার সেটিং প্রয়োগ করা হয়। ন্যূনতম অতিরিক্ত সময়কাল সহ একাধিক আইটেম থাকলে, কিন্তু অ্যাকাউন্ট হোল্ডে রাখার সময়কাল আলাদা হলে, অ্যাকাউন্ট হোল্ডে রাখার সবচেয়ে দীর্ঘ সময়কাল প্রযোজ্য হয়।
অতিরিক্ত সময়কাল
সাবস্ক্রিপশন রিনিউ করার পেমেন্ট বাতিল করা হলে, সাবস্ক্রিপশন কেনাকাটা অতিরিক্ত সময়কালের স্ট্যাটাসে প্রবেশ করবে। অতিরিক্ত সময়কালে, ব্যবহারকারী আগের রিনিউয়াল সময়কালের সমস্ত অ্যাক্টিভ আইটেম অ্যাক্সেস করা চালিয়ে যেতে পারবেন। অতিরিক্ত সময়কালের পরেও পেমেন্ট পদ্ধতি ঠিক করা না হলে, সম্পূর্ণ সাবস্ক্রিপশন কেনাকাটা অ্যাকাউন্ট হোল্ডে চলে যায়। অতিরিক্ত সময়কালের মধ্যে অন্য কোনও আইটেমের রিনিউ করার তারিখ এসে গেলে, পেমেন্ট প্রত্যাখ্যানের সমস্যা থেকে সাবস্ক্রিপশন রিকভার করার পরে সেইসব আইটেমের জন্য আবার চার্জ করার চেষ্টা করা হবে।
অ্যাকাউন্ট হোল্ডে রাখা আছে
সাবস্ক্রিপশন কেনাকাটা অ্যাকাউন্ট হোল্ডে থাকাকালীন, পেমেন্ট রিকভার না হওয়া পর্যন্ত সমস্ত সাবস্ক্রিপশন আইটেমের অ্যাক্সেস সাসপেন্ড করা হয়।
অ্যাকাউন্ট হোল্ডে থাকা সাবস্ক্রিপশনটি পুনরুদ্ধার করা হলে, সাবস্ক্রিপশন কেনা আগের মতোই চলতে থাকে। সাবস্ক্রিপশনটি পুনরুদ্ধার না করা হলে, পেমেন্ট প্রত্যাখ্যানের আইটেমগুলির মেয়াদ শেষ হয়ে যাবে এবং বাকি বিলিং পিরিয়ডের জন্য অন্যান্য আইটেমগুলিতে অ্যাক্সেস আবার শুরু হবে।
উদাহরণ:
একজন ব্যবহারকারীর আমার Base Plan সাবস্ক্রিপশন আছে যা প্রতি মাসের ১ তারিখে রিনিউ হয়, তারপর ১৫ আগস্ট, তিনি সাত দিনের ফ্রি ট্রায়াল সহ প্রতি মাসে $১০ মূল্যের অ্যাড-অন প্ল্যান যোগ করেন। কোনও আইটেমের জন্যই অতিরিক্ত সময়কাল সেট করা নেই এবং দুটির জন্যই ৩০ দিনের অ্যাকাউন্ট হোল্ডের সময়সীমা রয়েছে।
২২ আগস্ট, ব্যবহারকারীকে ৩১ আগস্ট পর্যন্ত আনুপাতিক হারে $২.৯০ (১০*৯/৩১) চার্জ করা হয়, কিন্তু তার আগেই ব্যবহারকারীর পেমেন্ট পদ্ধতির মেয়াদ শেষ হয়ে যায় এবং ২২ আগস্ট পেমেন্ট প্রত্যাখ্যানের কারণে সাবস্ক্রিপশন বন্ধ হয়ে যায়।
পেমেন্ট বাতিল হওয়ার কারণে সাবস্ক্রিপশন অ্যাকাউন্ট হোল্ডে রাখা হলে, ব্যবহারকারী অ্যাড-অন সহ সাবস্ক্রিপশনের কোনও আইটেম অ্যাক্সেস করতে পারবেন না। যেসব আইটেম রিনিউ করা হচ্ছে না সেগুলির জন্য বাকি সময় ব্যবহারকারীকে ফেরত দেওয়া হবে যখন সাবস্ক্রিপশন অ্যাকাউন্ট হোল্ড থেকে বেরিয়ে আসবে, হয় পেমেন্ট রিকভার করা হয়েছে অথবা বাতিল করা হয়েছে বলে।
আগের উদাহরণে, ২২ আগস্ট সাবস্ক্রিপশন অ্যাকাউন্ট হোল্ডে রাখা হয়েছে।
যদি অ্যাকাউন্টটি ২৫ আগস্ট রিকভার করা হয়, ১ সেপ্টেম্বরের রিনিউ করার তারিখের আগে, ব্যবহারকারী একই দিনে আমার Base Plan এবং অ্যাড-অন প্ল্যান উভয়ের অ্যাক্সেস ফিরে পাবেন। পরবর্তী বিলিংয়ের তারিখ পরিবর্তন করে ৪ সেপ্টেম্বর করা হয়েছে।
৩০ দিন পরেও অ্যাকাউন্ট ফিরিয়ে আনা না হলে, ২১ সেপ্টেম্বর সাবস্ক্রিপশন বাতিল করা হয় এবং ব্যবহারকারী অ্যাড-অন প্ল্যান-এর অ্যাক্সেস হারান এবং ৩০ সেপ্টেম্বর পর্যন্ত আমার বেস প্ল্যান-এর অ্যাক্সেস আবার চালু হয়।
এই উদাহরণে, আপনাকে অবশ্যই অ্যাড-অন সহ সাবস্ক্রিপশনের সব আইটেমের জন্য আপডেট করা expiryTime পেতে হবে, কারণ কিছু আইটেম গ্রেস পিরিয়ড এবং অ্যাকাউন্ট হোল্ডের পরে তাদের এনটাইটেলমেন্ট আবার শুরু করতে পারে।
ফাইন্যান্সিয়াল রিপোর্টিং ও রিকনসিলিয়েশন
Play-তে ট্রানজ্যাকশনের সাথে আপনার অ্যাক্টিভ সাবস্ক্রিপশন রিকনসাইল করতে উপার্জন রিপোর্ট ব্যবহার করুন। প্রতিটি ট্রানজ্যাকশন লাইন আইটেমে একটি অর্ডার আইডি থাকে। একাধিক আইটেম কেনা হলে, উপার্জন ও আনুমানিক বিক্রি রিপোর্টে প্রতিটি ট্রানজ্যাকশনের জন্য আলাদা সারি থাকবে, যেমন চার্জ, ফি, ট্যাক্স এবং রিফান্ড, প্রতিটি আইটেমের জন্য।
Play Console-এ ড্যাশবোর্ডের জন্য:
কনসোলের ফাইন্যান্সিয়াল রিপোর্টিং বিভাগে দেখানো উপার্জনের পরিসংখ্যান আইটেম অনুযায়ী আলাদা করে দেখানো হয়।
অর্ডার ম্যানেজমেন্টে অ্যাড-অন সহ সাবস্ক্রিপশন কেনার তথ্য এবং কেনা আইটেমের তালিকা দেখা যায়। অর্ডার ম্যানেজমেন্ট থেকে, আপনি ব্যবহারকারীর কেনাকাটা বাতিল বা রিফান্ড করতে পারবেন।