প্রতিদিনের ব্যবসার অংশ হিসেবে সাবস্ক্রিপশন বা এককালীন কেনাকাটার বিষয়ে আপনাকে ব্যবস্থাপনার পদক্ষেপ নিতে হতে পারে। উদাহরণস্বরূপ, আপনার গ্রাহক পরিষেবা ব্যবহারকারীদের জন্য মোট বা আংশিক ফেরত প্রদান করতে হতে পারে, অথবা আপনাকে কিছু ক্ষেত্রে এনটাইটেলমেন্ট প্রত্যাহার করতে হতে পারে। আপনি প্লে কনসোল থেকে অর্ডারগুলি পরিচালনা করতে পারেন, অথবা আপনি যদি সেগুলিকে আপনার নিজস্ব সিস্টেম থেকে পরিচালনা করতে চান তবে আপনি Google Play বিকাশকারী API ব্যবহার করে তা করতে পারেন৷
সদস্যতা বাতিল করুন
সাবস্ক্রিপশন বাতিলকরণ ব্যবহারকারী বা বিকাশকারীদের দ্বারা শুরু করা যেতে পারে।
ব্যবহারকারী বাতিলকরণ শুরু করেছেন
ব্যবহারকারীরা প্লে স্টোর ব্যবহার করে যে কোনো সময় Google Play সাবস্ক্রিপশন বাতিল করতে পারেন। প্রযোজ্য হলে, আপনাকে অবশ্যই ব্যবহারকারীদের আপনার অ্যাপে এবং আপনার ওয়েবসাইটে তাদের সদস্যতা বাতিল করার জন্য একটি বিকল্প প্রদান করতে হবে।
ব্যবহারকারীদের স্বেচ্ছায় বাতিল করতে সক্ষম করার সবচেয়ে সহজ উপায় হল Play Store-এ আপনার অ্যাপে গভীর লিঙ্ক প্রদান করা , যেখানে তারা তাদের সদস্যতা দেখতে এবং পরিচালনা করতে পারে।
বিকাশকারী বাতিলকরণ শুরু করেছে৷
একজন বিকাশকারী হিসাবে, আপনাকে আপনার ব্যাকএন্ড থেকে বাতিলকরণ ট্রিগার করতে হতে পারে। purchases.subscriptions.cancel
API আপনাকে সাবস্ক্রিপশন ক্রয় বাতিল করতে দেয়। উদাহরণস্বরূপ, আপনি একটি উত্তরাধিকার পরিষেবা বন্ধ করতে এই পদ্ধতিটি ব্যবহার করতে পারেন। একটি সাবস্ক্রিপশন বাতিল করা অর্থ ফেরত জারি করে না এবং ব্যবহারকারী তাদের বর্তমান বিলিং সময়কাল শেষ না হওয়া পর্যন্ত অ্যাক্সেস বজায় রাখে।
এই পদ্ধতিটি আপনাকে cancellationType
রিকোয়েস্ট বডি প্যারামিটারে নিম্নলিখিত ধরনের বাতিলকরণ নির্দিষ্ট করতে দেয়:
USER_REQUESTED_STOP_RENEWALS : সদস্যতা বাতিল করে যেন ব্যবহারকারীরা প্লে স্টোর থেকে বাতিল করেছে। বর্তমান প্রতিশ্রুতি সময়ের অবশিষ্ট সময়ের জন্য যেকোনো কিস্তির অর্থপ্রদান অব্যাহত থাকবে। প্লে স্টোর থেকে, ব্যবহারকারীরা সাবস্ক্রিপশনের মেয়াদ শেষ হওয়ার আগে পুনরুদ্ধার করতে পারেন, অথবা বেস প্ল্যানের জন্য সক্রিয় থাকলে মেয়াদ শেষ হওয়ার পরে পুনরায় সদস্যতা নিতে পারেন।
DEVELOPER_REQUESTED_STOP_PAYMENTS : সদস্যতা বাতিল করে এবং আর কোনো অর্থপ্রদানকে বাধা দেয়। ব্যবহারকারীরা প্লে স্টোর থেকে সাবস্ক্রিপশন পুনরুদ্ধার করতে বা পুনরায় সদস্যতা নিতে পারবেন না, তবে আপনি তাদের আপনার অ্যাপের মধ্যে আবার সদস্যতা নিতে সক্ষম করতে পারেন।
মেয়াদ শেষ না হওয়া সদস্যতা পুনরুদ্ধার করতে ব্যবহারকারীদের সক্ষম করুন
কিছু পরিস্থিতিতে, আপনি বিকাশকারী হিসাবে বাতিলকরণ ট্রিগার করার পরে ব্যবহারকারীদের Play সাবস্ক্রিপশন কেন্দ্র থেকে মেয়াদ শেষ না হওয়া সাবস্ক্রিপশনগুলি পুনরুদ্ধার করার অনুমতি দেওয়া আপনার পক্ষে কার্যকর বলে মনে হতে পারে। উদাহরণস্বরূপ, আপনি একটি কাস্টমাইজড ইন-অ্যাপ বাতিলকরণ প্রবাহ প্রদান করতে চাইতে পারেন। আপনার ব্যবসায়িক যুক্তির উপর ভিত্তি করে, আপনি সিদ্ধান্ত নিতে পারেন যে আপনার ব্যাকএন্ড থেকে কোন বাতিলকরণগুলি ব্যবহারকারীদের দ্বারা পুনরুদ্ধারযোগ্য।
একজন ব্যবহারকারী বাতিলকরণ পুনরুদ্ধার করতে পারে তা নির্দেশ করার জন্য, purchases.subscriptions.cancel
API এ একটি POST অনুরোধ জারি করুন এবং cancellationType
অনুরোধের প্যারামিটারটিকে USER_REQUESTED_STOP_RENEWAL
মানতে সেট করুন৷
উদাহরণ:
- সদস্যতা
1a2b3c4d5e6f7g8h9i0j
ক্রয় টোকেন - অ্যাপ্লিকেশন প্যাকেজের নাম
com.your.app
- সাবস্ক্রিপশন আইডি
your-subscription-product
HTTP POST অনুরোধ:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptions/your-subscription-product/tokens/1a2b3c4d5e6f7g8h9i0j:cancel
অনুরোধ বডি:
{
"cancellationType": "USER_REQUESTED_STOP_RENEWAL"
}
মেয়াদোত্তীর্ণ সাবস্ক্রিপশন পুনরায় সদস্যতা নিতে ব্যবহারকারীদের সক্ষম করুন
মেয়াদোত্তীর্ণ সাবস্ক্রিপশনের পুনঃসাবস্ক্রিপশনের অনুমতি দেওয়ার জন্য, আপনাকে অবশ্যই সাবস্ক্রিপশনের বেস প্ল্যানে রিসাবস্ক্রাইব বিকল্পটি সক্রিয় করতে হবে এবং তারপর USER_REQUESTED_STOP_RENEWAL
মানতে cancellationType
প্যারামিটার সেট করে সদস্যতা বাতিল করতে হবে।
ব্যবহারকারীদের শুধুমাত্র আপনার অ্যাপ্লিকেশনে পুনরায় সদস্যতা নিতে সক্ষম করুন
আপনি যদি cancellationType
প্যারামিটারটি DEVELOPER_REQUESTED_STOP _PAYMENTS
এ সেট করে থাকেন বা cancellationType
প্যারামিটার সেট না করে থাকেন, তাহলে ব্যবহারকারীরা Play সাবস্ক্রিপশন কেন্দ্র থেকে তাদের সদস্যতা পুনরুদ্ধার করতে পারবেন না। যাইহোক, প্রয়োজনে ব্যবহারকারীরা আপনার অ্যাপের মাধ্যমে সাবস্ক্রিপশনের জন্য আবার সাইন আপ করতে পারেন।
এই পদক্ষেপটি গ্রহণ করা একটি SUBSCRIPTION_CANCELED
রিয়েল-টাইম বিকাশকারী বিজ্ঞপ্তি ট্রিগার করে৷ বাতিলকরণে বর্ণিত এই বাতিলকরণগুলি পরিচালনা করুন৷
বিলিং বিলম্বিত করুন
সাবস্ক্রিপশনের জন্য এনটাইটেলমেন্টের মেয়াদ বাড়ানোর জন্য subscriptions.defer
ব্যবহার করুন। বিলম্বিত সময়কালে, ব্যবহারকারী আপনার সামগ্রীতে সদস্যতা অবলম্বন করে থাকে যদিও অতিরিক্ত সময়ের জন্য চার্জ করা হয় না। আপনি যখন সাবস্ক্রিপশনের জন্য বিলিং স্থগিত করেন, তখন স্ট্যাটাস তথ্য সেই অনুযায়ী আপডেট করা হয় এবং আপনি ক্রয় স্ট্যাটাস তথ্যের expiryTime
ক্ষেত্রে এটি প্রতিফলিত দেখতে পান:
- সক্রিয় পুনরাবৃত্ত সদস্যতার জন্য, বিলম্বিত বিলিং পরবর্তী পুনর্নবীকরণের তারিখ বাড়িয়ে দেয়।
- প্রিপেইড প্ল্যানের জন্য, বিলম্বিত বিলিং মেয়াদ শেষ হওয়ার সময় বাড়িয়ে দেয়।
আপনি কিভাবে বিলম্বিত বিলিং ব্যবহার করতে পারেন তার কিছু উদাহরণ হল:
- ব্যবহারকারীদের একটি বিশেষ অফার হিসাবে বিনা খরচে অ্যাক্সেস দিন, যেমন একটি প্রতিক্রিয়া সমীক্ষা পূরণের জন্য বিদ্যমান গ্রাহকদের এক সপ্তাহ বিনামূল্যে দেওয়া।
- কাস্টমার-কেয়ার অ্যাকশন হিসাবে গ্রাহকদের বিনা খরচে অ্যাক্সেস দিন, উদাহরণস্বরূপ একটি বর্ধিত বিভ্রাটের পরে যা তাদের আপনার পরিষেবা ব্যবহার করার ক্ষমতাকে প্রভাবিত করতে পারে।
বিলিং প্রতি API কলে এক দিন এবং এক বছর পর্যন্ত পিছিয়ে দেওয়া যেতে পারে। এনটাইটেলমেন্টের সমাপ্তি আরও পিছিয়ে দিতে, নতুন মেয়াদ শেষ হওয়ার তারিখ আসার আগে API-কে আবার কল করুন।
এই পদক্ষেপটি গ্রহণ করা একটি SUBSCRIPTION_DEFERRED
রিয়েল-টাইম বিকাশকারী বিজ্ঞপ্তি ট্রিগার করে৷ এই ইভেন্টগুলি কীভাবে পরিচালনা করতে হয় তা জানতে সদস্যতার সম্পর্কে সাবস্ক্রিপশনে একজন গ্রাহকের জন্য বিলিং বিলম্বিত দেখুন।
উদাহরণ:
FitnessGoals স্ট্রিমিং পরিষেবা ফেব্রুয়ারিতে নিয়মিত ব্যায়ামকে উত্সাহিত করার জন্য একটি প্রচার চালাতে চায়।
তারা ফেব্রুয়ারী মাসে অন্তত 10 বার FitnessGoals নিয়ে অনুশীলন করে এমন যেকোনো গ্রাহককে অতিরিক্ত এক মাসের পরিষেবা দেওয়ার সিদ্ধান্ত নেয়।
তারা চ্যালেঞ্জের ফলাফলগুলি ট্র্যাক করে এবং 1লা মার্চ, তারা ফেব্রুয়ারিতে চ্যালেঞ্জ পূরণকারী ব্যবহারকারীদের অন্তর্গত প্রতিটি সক্রিয় সাবস্ক্রিপশন ক্রয়ের জন্য
subscriptions.defer
API কল করে৷এই ব্যবহারকারীরা বিনা খরচে একটি অতিরিক্ত পুরো মাসের নিয়মিত ব্যায়ামের ভিডিওর সুবিধা পান এবং ব্যবহারকারীরা তাদের সমস্ত বন্ধুদের জানান যে কীভাবে FitnessGoals তাদের সুস্থ থাকতে সাহায্য করে!
রিফান্ড এবং প্রত্যাহার ইস্যু করুন
এমন অনেক পরিস্থিতি রয়েছে যেখানে আপনি একটি সাবস্ক্রিপশন বা এককালীন কেনাকাটার জন্য একটি রিফান্ড ইস্যু করতে বা অ্যাক্সেস প্রত্যাহার করতে চাইতে পারেন।
অর্ডার আইডি দ্বারা সম্পূর্ণরূপে একটি অর্ডার ফেরত
orders.refund
API-এর মাধ্যমে, আপনি ক্রয়ের তিন বছরের মধ্যে যেকোনো অর্ডারের জন্য সম্পূর্ণ অর্থ ফেরত ইস্যু করতে পারেন। orders.refund
পদ্ধতিটি রিফান্ড প্রদানের পাশাপাশি অ্যাক্সেস প্রত্যাহার করা উচিত কিনা তা নির্দেশ করে একটি প্রত্যাহার প্যারামিটার পায়।
আপনি সাবস্ক্রিপশন ক্রয়ের জন্য রিফান্ড কলের সাথে একটি প্রত্যাহার ইস্যু করলে, সদস্যতা অবিলম্বে বন্ধ হয়ে যায় এবং এটি একটি SUBSCRIPTION_REVOKED
রিয়েল টাইম বিকাশকারী বিজ্ঞপ্তি ট্রিগার করে৷ এই ইভেন্টগুলি কীভাবে পরিচালনা করতে হয় তা জানতে সাবস্ক্রিপশন লাইফসাইকেল ম্যানেজমেন্ট গাইড প্রত্যাহার বিভাগটি পড়ুন।
উদাহরণ:
নতুন বিশ্বকাপের সূচনা উদযাপন করতে, ই-স্পোর্টস অ্যাপ Football-Not-Soccer প্রথম 24 ঘন্টার মধ্যে নতুন টিম কিট কেনা সমস্ত ব্যবহারকারীদের জন্য বিনামূল্যে ভার্চুয়াল জার্সি বন্ধ করার সিদ্ধান্ত নিয়েছে৷
ফুটবল-নট-সকার বিজয়ীদের জার্সি কেনাকাটা ফেরত দিতে একটি প্রত্যাহার প্যারামিটার পাস না করে
orders.refund
API ব্যবহার করে।
ক্রয় টোকেন দ্বারা একটি সদস্যতা প্রত্যাহার করুন এবং ফেরত দিন
নির্দিষ্ট ব্যবহারের ক্ষেত্রে আপনাকে একজন ব্যবহারকারীর সদস্যতার অ্যাক্সেস প্রত্যাহার করতে হবে এবং একটি ফেরত প্রদান করতে হতে পারে। প্লে বিলিং subscriptionsv2.revoke
API-এর মাধ্যমে সম্পূর্ণ অর্থ ফেরত এবং যথাক্রমে ফেরত সহ প্রত্যাহার পদ্ধতি অফার করে। এই শেষপয়েন্টের সাহায্যে, কিভাবে ফেরত গণনা করা হয় তা নির্ধারণ করতে আপনি revocationContext
নির্দিষ্ট করতে পারেন।
এই পদক্ষেপটি গ্রহণ করা একটি SUBSCRIPTION_REVOKED
রিয়েল টাইম বিকাশকারী বিজ্ঞপ্তি ট্রিগার করে৷ প্রত্যাহারে বর্ণিত হিসাবে আপনার অ্যাপের এই বাতিলকরণগুলি পরিচালনা করা উচিত।
উদাহরণ:
- ক্রয় টোকেন
1a2b3c4d5e6f7g8h9i0j
দিয়ে কিনুন - প্যাকেজের নাম
com.your.app
সহ আবেদন - আনুপাতিক অর্থ ফেরত প্রদানের অভিপ্রায়
HTTP POST অনুরোধ:
https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke
অনুরোধ বডি:
{
"revocationContext": {
"proratedRefund": {}
}
}
সম্পূর্ণ ফেরত
আপনার যদি সাবস্ক্রিপশন বন্ধ করতে হয় এবং বর্তমান বিলিং সময়ের পুরো টাকা ফেরত দিতে হয়, তাহলে সম্পূর্ণ অর্থ ফেরত ইস্যু করুন। purchases.subscriptionsv2.revoke
ফাংশন ব্যবহার করুন, এবং "fullRefund": {}
রিফান্ডের ধরন হিসাবে।
উদাহরণ:
সুপারমুভিস স্ট্রিমিং মাসিক প্ল্যানে মারিয়ার একটি স্বয়ংক্রিয় পুনর্নবীকরণের 30-দিনের সদস্যতা রয়েছে। মারিয়া কিছু প্রযুক্তিগত সমস্যার সম্মুখীন হয়েছে যা তাকে বিষয়বস্তু অ্যাক্সেস করতে বাধা দেয়। তিনি তার বিলিং চক্রের 3 তম দিনে গ্রাহক পরিষেবার সাথে যোগাযোগ করেন যে তিনি কখনই সাবস্ক্রিপশনে অ্যাক্সেস পাননি৷
গ্রাহক পরিষেবা তাদের সিস্টেমে মারিয়ার সাবস্ক্রিপশন ক্রয়ের বিশদ সনাক্ত করে এবং একটি সম্পূর্ণ অর্থ ফেরতের অনুরোধ করে
purchases.subscriptionsv2.revoke
এ একটি কল ট্রিগার করে।গ্রাহক পরিষেবা মারিয়াকে বলে যে তার সাবস্ক্রিপশন মূল্যের 100% ফেরত পাওয়া উচিত এবং সে আর প্ল্যানে সদস্যতা নিচ্ছে না।
প্ররেট রিফান্ড
আপনার যদি সাবস্ক্রিপশন বন্ধ করতে হয় এবং অবশিষ্ট এনটাইটেলমেন্টের সময় আংশিকভাবে ফেরত দিতে হয়, তাহলে যথাক্রমে ফেরত প্রদান করুন। purchases.subscriptionsv2.revoke
ফাংশন ব্যবহার করুন, এবং "proratedRefund": {}
রিফান্ডের ধরন হিসাবে সেট করুন।
উদাহরণ:
সুপারমুভিস স্ট্রিমিং মাসিক প্ল্যানে মারিয়ার একটি স্বয়ংক্রিয় পুনর্নবীকরণের 30-দিনের সদস্যতা রয়েছে। তিনি আনন্দের সাথে কিছু সময়ের জন্য পরিষেবাটি ব্যবহার করেছেন। মারিয়া তার বিলিং চক্রের 15 তম দিনে গ্রাহক পরিষেবার সাথে যোগাযোগ করে যে তিনি বিদেশে চলে যাচ্ছেন এবং পরের দিন থেকে আর পরিষেবাটি ব্যবহার করতে পারবেন না৷
গ্রাহক পরিষেবা তাদের সিস্টেমে মারিয়ার সাবস্ক্রিপশন ক্রয়ের বিশদ সনাক্ত করে এবং যথাযোগ্য অর্থ ফেরতের অনুরোধ করে
purchases.subscriptionsv2.revoke
এ একটি কল ট্রিগার করে।গ্রাহক পরিষেবা মারিয়াকে বলে যে তার সাবস্ক্রিপশন মূল্যের প্রায় 50% ফেরত দেওয়া উচিত এবং পরিষেবাটির অ্যাক্সেস অবিলম্বে বন্ধ করা উচিত।