सदस्यताओं के बारे में जानकारी

इस विषय में बताया गया है कि सदस्यता के लाइफ़साइकल इवेंट को कैसे मैनेज किया जाए, जैसे कि रिन्यूअल और समयसीमा खत्म हो सकती है. इसमें सदस्यता से जुड़ी अतिरिक्त सुविधाओं के बारे में भी बताया गया है जैसे, प्रमोशन उपलब्ध कराना और उपयोगकर्ताओं को उन्हें मैनेज करने की अनुमति देना सदस्यताएं.

अगर आपने अपने ऐप्लिकेशन के लिए शुल्क लेकर सदस्यता देने वाले प्रॉडक्ट कॉन्फ़िगर नहीं किए हैं, तो देखें अपने प्रॉडक्ट बनाएं और उन्हें कॉन्फ़िगर करें.

सदस्यता अवलोकन

सदस्यता से, ऐसे फ़ायदों का पता चलता है जिन्हें उपयोगकर्ता हासिल कर सकते हैं किसी तय समयावधि में. उदाहरण के लिए, अगर किसी उपयोगकर्ता ने सदस्यता ली है, तो किसी संगीत स्ट्रीमिंग सेवा को ऐक्सेस करने के लिए.

आपके पास एक ही ऐप्लिकेशन में कई सदस्यताएं हो सकती हैं, जैसे कि फ़ायदों के अलग-अलग सेट या एक ही टियर के अलग-अलग लेवल की जानकारी देते हों फ़ायदों का सेट (उदाहरण के लिए, "सिल्वर" और "गोल्ड" लेवल).

बुनियादी प्लान और ऑफ़र की मदद से, कई कॉन्फ़िगरेशन बनाए जा सकते हैं एक ही सदस्यता प्रॉडक्ट के लिए. उदाहरण के लिए, आप उन लोगों के लिए शुरुआती ऑफ़र जिन्होंने आपके ऐप्लिकेशन की सदस्यता कभी नहीं ली है. इसी तरह, तो पहले से सदस्य बन चुके उपयोगकर्ताओं के लिए अपग्रेड ऑफ़र बनाया जा सकता है.

शुल्क लेकर सदस्यता देने वाले प्रॉडक्ट, बुनियादी प्लान, और ऑफ़र की ज़्यादा जानकारी पाने के लिए, में दस्तावेज़ देखें Play Console सहायता केंद्र.

प्रीपेड प्लान का इंटिग्रेशन

प्रीपेड प्लान की समयसीमा खत्म होने पर, वे अपने-आप रिन्यू नहीं होते. अपने संगठन की बिना किसी रुकावट के सदस्यता के फ़ायदों का इस्तेमाल करने के लिए, उपयोगकर्ता को टॉप-अप a प्रीपेड प्लान बना रहे हैं.

टॉप-अप के लिए, बिलिंग फ़्लो को ठीक वैसे ही लॉन्च करें जैसे आप मूल टॉप-अप के लिए करते हैं खरीदारी. आपको यह बताने की ज़रूरत नहीं है कि खरीदारी को टॉप-अप किया गया है.

प्रीपेड प्लान के टॉप-अप, हमेशा CHARGE_FULL_PRICE का इस्तेमाल करते हैं आपको इस मोड को अलग से सेट करने की ज़रूरत नहीं है. उपयोगकर्ता से तुरंत पूरी बिलिंग अवधि का शुल्क लिया जाता है, साथ ही, उनकी सदस्यता को टॉप-अप में बताई गई अवधि तक बढ़ा दिया जाता है.

टॉप-अप के बाद, नीचे दिए गए फ़ील्ड Purchase नतीजे वाले ऑब्जेक्ट को अपडेट किया जाता है, ताकि हाल ही में की गई टॉप-अप खरीदारी को दिखाया जा सके:

  • आदेश आईडी
  • खरीदारी का समय
  • हस्ताक्षर
  • खरीदी टोकन
  • स्वीकृत

इन Purchase फ़ील्ड में हमेशा वही डेटा होता है जो ओरिजनल खरीदारी:

  • पैकेज का नाम
  • खरीदारी की स्थिति
  • प्रॉडक्ट
  • अपने-आप रिन्यू होने वाला प्लान

प्रीपेड खरीदारी की पुष्टि

अपने-आप रिन्यू होने वाली सदस्यताओं की तरह ही, आपको प्रीपेड प्लान स्वीकार करने होंगे नहीं मिलेगा. शुरुआती खरीदारी और कोई टॉप-अप, दोनों स्वीकार किया गया. ज़्यादा जानकारी के लिए, यह देखें खरीदारी प्रोसेस करना.

प्रीपेड प्लान की अवधि कम हो सकती है. इसलिए, यह ज़रूरी है कि खरीदारी को जल्द से जल्द स्वीकार करें.

एक हफ़्ते या उससे ज़्यादा समय वाले प्रीपेड प्लान स्वीकार करने ज़रूरी हैं तीन दिन के अंदर.

एक हफ़्ते से कम समय के प्रीपेड प्लान स्वीकार करना ज़रूरी है 50% से कम समय में. उदाहरण के लिए, डेवलपर के पास तीन दिन के प्रीपेड प्लान को स्वीकार करें.

किस्त वाली सदस्यताओं का इंटिग्रेशन

किस्त वाली सदस्यता ऐसी सदस्यता है जिसके लिए उपयोगकर्ता पैसे चुकाते हैं पेमेंट करने के बजाय, एक तय समयसीमा में कई किस्तों में सदस्यता का ऑफ़र देना सदस्यता के लिए पूरा शुल्क चुकाना होगा.

किस्त वाली सदस्यताओं के लिए कुछ और ज़रूरी बातें:

  • इन देशों में उपलब्ध है: किस्तों में सदस्यताएं लेने की सुविधा सिर्फ़ इन देशों में उपलब्ध है ब्राज़ील, फ़्रांस, इटली, और स्पेन में (नई उपलब्धता के लिए Console देखें).
  • कीमत सेट करना: किस्तों में पैसे चुकाने की सुविधा के लिए कीमत सेट करते समय पर क्लिक करते हैं, तो मूल्य मासिक भुगतान राशि को दिखाता है. यह, प्लान की तय अवधि के साथ कुल रेवेन्यू जनरेट करने से, देखें.
  • तय की गई अवधि: शुरुआती सदस्यता की कुल अवधि तय करती है, जिसके दौरान महीने के हिसाब से पैसे चुकाने होते हैं. उदाहरण के लिए, अगर बुनियादी प्लान की अवधि 15 महीनों है और उपयोगकर्ता को हर महीने 15 महीने मिलेंगे इस अवधि में किए गए पेमेंट.
  • रिन्यूअल: किस्त वाली सदस्यताओं के मामले में, "रिन्यूअल" इसका चिह्न सदस्यता की अवधि के खत्म होने पर, या फिर शुरुआती अवधि में या सदस्यता की अवधि को कम नहीं किया जाएगा. पहली बार साइन अप करने के बाद, पहला रिन्यूअल होगा तय की गई शुरुआती अवधि पूरी होने पर, यह कार्रवाई की जाएगी. बाद का रिन्यूअल, सदस्यता की हर अवधि पूरी होने के बाद होगा. कॉन्टेंट बनाने किस्त की सदस्यताओं के लिए, रिन्यूअल के टाइप "हर महीने अपने-आप रिन्यू होता है" हो सकते हैं या "एक जैसी अवधि के लिए अपने-आप रिन्यू होता है". "हर महीने अपने-आप रिन्यू होने वाला" के लिए, और प्लान, हर महीने की सदस्यता की तरह काम करता है. हर महीने के सदस्यता शुल्क में रिन्यूअल होता है.
  • बिलिंग अवधि: किस्त वाली सदस्यताओं के मामले में, इसका मतलब यह है तय समय के दौरान, बार-बार अलग-अलग पेमेंट करने पर शामिल हैं.
  • प्लान में बदलाव बनाम कीमत में बदलाव के व्यवहार: कीमत में होने वाले बदलावों और रद्द करना जारी रखता है, तो प्रतिबद्धता दृढ़ है. इसका मतलब है कि अगर कोई उपयोगकर्ता रद्द करते हैं या कोई डेवलपर कीमत बदलना चाहता है, तो बदलाव सदस्यता की अवधि खत्म होती है. प्लान में किए गए बदलावों के लिए, तय की गई कीमत पक्के तौर पर नहीं होती. इसका मतलब है कि प्लान बदलने की समयसीमा के खत्म होने तक वह अवधि पूरी हो जाती है, तो वह तुरंत या अगले पेमेंट के बाद लागू हो जाएगी सेट रिप्लेसमेंट मोड के आधार पर तारीख.
  • समान सदस्यता वाले प्लान में बदलाव: किस्तों में पैसे चुकाने की योजना के बुनियादी प्लान को बदलना उसी प्रॉडक्ट या सेवा के लिए, बिना किस्तों में पैसे चुकाने की सुविधा वाले बुनियादी प्लान के साथ काम नहीं करता अनुमति है.
  • डेवलपर से जुड़ी रीयल-टाइम सूचनाएं (आरटीडीएन): A SUBSCRIPTION_CANCELLATION_SCHEDULED आरटीडीएन को तुरंत भेज दिया जाता है तय की गई अवधि में पेमेंट रहने पर, उपयोगकर्ता ने सदस्यता रद्द करने की प्रोसेस शुरू की. रद्द करना लंबित है और केवल इस तारीख के अंत में प्रभावी होगा तय अवधि तक. इसके बाद, अगर उपयोगकर्ता इसे वापस नहीं देता है, तो SUBSCRIPTION_CANCELED और SUBSCRIPTION_EXPIRED आरटीडीएन, तय अवधि के खत्म होने पर भेजे जाते हैं.

  • पेआउट / रेवेन्यू का पता: डेवलपर पेआउट, उपयोगकर्ताओं के रेवेन्यू के हिसाब से ही प्रोसेस किए जाएंगे इस पर अन्य सभी सदस्यताओं की शर्तें लागू होंगी. जब उपयोगकर्ता किस्त के लिए साइन अप करता है, तो डेवलपर को पहले ही पैसे नहीं चुकाए जाते हैं की सदस्यता लें.

  • छूटे हुए पेमेंट का कलेक्शन: अगर कोई उपयोगकर्ता किसी किस्त में पेमेंट नहीं करता है सदस्यता के लिए किए गए पेमेंट के बारे में, Google या डेवलपर में से कोई भी जानकारी इकट्ठा करने की कोशिश नहीं करेगा उपयोगकर्ता से कोई ऐसा बकाया या बकाया भुगतान, जिसे छोड़कर Google किसी भी लागू ग्रेस पीरियड के दौरान पेमेंट करने की फिर से कोशिश करें या पेमेंट के लिए फिर से कोशिश करने की सामान्य प्रक्रिया के हिसाब से, खाते पर रोक लगने की अवधि. बकाया पेमेंट के लिए, Google ज़िम्मेदार नहीं होगा किस्तों में पेमेंट करें.

  • Play Billing Library की उपलब्धता: installmentDetails फ़ील्ड सिर्फ़ PBL 7 या उसके बाद के वर्शन के लिए उपलब्ध है. PBL 5 और उसके बाद के वर्शन के लिए, किस्त सदस्यता queryProductDetails() का इस्तेमाल करके लौटाए जाते हैं, लेकिन सदस्यता किस्त की पूरी जानकारी शामिल नहीं होगी, जैसे कि तय किए गए पेमेंट की संख्या योजना के बारे में बताया गया है.

डीप लिंक का इस्तेमाल करके, उपयोगकर्ताओं को सदस्यता मैनेज करने की अनुमति दें

आपके ऐप्लिकेशन में सेटिंग या प्राथमिकताएं स्क्रीन पर ऐसा लिंक होना चाहिए जो सदस्यता को मैनेज करने के लिए, लोग उसे इस्तेमाल कर सकते हैं. इन्हें अपने ऐप्लिकेशन में शामिल किया जा सकता है प्राकृतिक दृश्य और अनुभव.

आपके पास अपने ऐप्लिकेशन से, Google Play की सदस्यताओं में डीप लिंक शामिल करने का विकल्प होता है जिस सदस्यता की समयसीमा खत्म नहीं हुई है उसके लिए केंद्र देखें. इसे सदस्यता के संसाधन का subscriptionState फ़ील्ड. इसके आधार पर, ऐसे कई तरीके हैं जिनकी मदद से Play में डीप लिंक किया जा सकता है स्टोर का सदस्यता केंद्र.

उपयोगकर्ताओं को उस पेज पर ले जाने के लिए नीचे दिए गए यूआरएल का इस्तेमाल करें जिस पर उनकी सभी पहले और दूसरी इमेज में दिखाए गए तरीके के मुताबिक सदस्यताएं:

https://play.google.com/store/account/subscriptions
Play Store पर सदस्यताओं की स्क्रीन पर, Google Play से बिल की गई सभी सदस्यताओं की स्थिति दिखती है.
पहली इमेज. Play Store पर सदस्यताओं की स्क्रीन पर, Google Play से बिल की गई सभी सदस्यताओं की स्थिति दिखती है.


ज़्यादा जानकारी देखने के लिए, सदस्यता पर टैप करें.
दूसरी इमेज. ज़्यादा जानकारी के लिए, किसी सदस्यता पर टैप करें जानकारी देखें.

इस डीप लिंक से, उपयोगकर्ता को रद्द की गई सदस्यता को वापस लाने में मदद मिल सकती है के सदस्यता केंद्र से खरीदे जा सकते हैं.

किसी ऐसी सदस्यता के लिए सीधे तौर पर मैनेजमेंट पेज से लिंक करने के लिए, जिसकी समयसीमा खत्म नहीं हुई है खरीदी गई सदस्यता से जुड़े पैकेज का नाम और productId. यहां की यात्रा पर हूं किसी मौजूदा सदस्यता के लिए, productId को प्रोग्राम के हिसाब से तय करें. इसके लिए क्वेरी सूची देखने के लिए, अपने ऐप्लिकेशन का बैकएंड या BillingClient.queryPurchasesAsync() पर कॉल करें किसी उपयोगकर्ता से जुड़ी सदस्यताओं की संख्या. हर सदस्यता में ये चीज़ें शामिल हैं सदस्यता की स्थिति की जानकारी के हिस्से के तौर पर संबंधित productId. हर SubscriptionPurchaseLineItem ऑब्जेक्ट, सदस्यता की खरीदारी में,productId वह सदस्यता जिसे उपयोगकर्ता ने उस लाइन आइटम में खरीदा था.

उपयोगकर्ताओं को किसी खास सदस्यता मैनेजमेंट पर भेजने के लिए, इस यूआरएल का इस्तेमाल करें वह स्क्रीन, "your-sub-product-id" की जगह ले रही है और "आपका ऐप्लिकेशन-पैकेज" के साथ productId और ऐप्लिकेशन पैकेज का नाम:

https://play.google.com/store/account/subscriptions?sku=your-sub-product-id&package=your-app-package

इसके बाद, उपयोगकर्ता अपने पेमेंट के तरीकों और सुविधाओं को ऐक्सेस कर सकता है जैसे, रद्द करना, फिर से सदस्यता लेना, और उसे रोकना.

उपयोगकर्ताओं को अपनी सदस्यता अपग्रेड, डाउनग्रेड करने या उसमें बदलाव करने की अनुमति दें

आप मौजूदा सदस्यों को उनकी सदस्यता की अवधि बदलने के लिए, उनकी ज़रूरतों को बेहतर ढंग से पूरा करने के लिए सदस्यता प्लान:

  • अगर सदस्यता के एक से ज़्यादा टीयर बेचे जाते हैं, जैसे कि "बेसिक" और "प्रीमियम" की सदस्यता ले सकते हैं, तो आप उपयोगकर्ताओं को सदस्यता के बुनियादी प्लान या ऑफ़र के बारे में बताएं.
  • उपयोगकर्ताओं को उनकी मौजूदा बिलिंग अवधि बदलने की अनुमति दी जा सकती है, जैसे कि स्विच करना मासिक प्लान से लेकर सालाना प्लान तक.
  • उपयोगकर्ताओं को अपने-आप रिन्यू होने वाले और प्रीपेड प्लान के बीच स्विच करने की अनुमति भी दी जा सकती है.

इनमें से किसी भी बदलाव को बढ़ावा देने के लिए, इन पर सदस्यता के ऑफ़र दिए जा सकते हैं: ज़रूरी शर्तें पूरी करने वाले उपयोगकर्ताओं को छूट दें. उदाहरण के लिए, आपके पास एक ऑफ़र बनाने का विकल्प है महीने के हिसाब से स्विच करने पर, पहले साल में 50% की छूट सालाना प्लान का इस्तेमाल करें. साथ ही, इस ऑफ़र को सिर्फ़ उन लोगों के लिए उपलब्ध कराएं जिन्होंने महीने के हिसाब से सदस्यता ली है यह ऑफ़र उन लोगों के लिए है जिन्होंने यह ऑफ़र नहीं खरीदा है. ऑफ़र की ज़रूरी शर्तों के बारे में ज़्यादा जानकारी नियम और शर्तें सहायता केंद्र पर उपलब्ध हैं

इमेज 3 में, तीन अलग-अलग प्लान वाला उदाहरण के तौर पर एक ऐप्लिकेशन दिखाया गया है:

इस ऐप्लिकेशन में सदस्यता के तीन टियर हैं..
तीसरी इमेज. इस ऐप्लिकेशन में सदस्यता के तीन टियर हैं.

आपका ऐप्लिकेशन, तीसरी इमेज से मिलती-जुलती स्क्रीन दिखा सकता है. इससे उपयोगकर्ताओं को बदलाव करने के विकल्प मिलते हैं उनकी सदस्यता. सभी मामलों में, उपयोगकर्ताओं को यह साफ़ तौर पर बताया जाना चाहिए कि और इसे बदलने के लिए उनके पास कौनसे विकल्प हैं.

जब उपयोगकर्ता अपनी सदस्यता को अपग्रेड, डाउनग्रेड या बदलने का फ़ैसला लेते हैं, तो आपको एक रीप्लेसमेंट मोड तय करें, जो तय करता है कि मौजूदा बिलिंग अवधि लागू होती है और एनटाइटलमेंट में कोई बदलाव होने पर भी.

बैटरी बदलने के मोड

यहां दी गई टेबल में, बदलाव के लिए उपलब्ध मोड और उनके इस्तेमाल के उदाहरण दिए गए हैं. और उन पेमेंट की संख्या जिनकी जानकारी को 'चुका दिया गया है' कहा जाता है.

रीप्लेसमेंट मोड

ब्यौरा

इस्तेमाल का उदाहरण

तय किए गए पेमेंट को, 'पैसे चुकाए गए' के तौर पर रिकॉर्ड किया गया (किस्तों वाली सदस्यता बदलने के लिए)

WITH_TIME_PRORATION

सदस्यता को तुरंत अपग्रेड या डाउनग्रेड किया जाता है. बची हुई अवधि, कीमत में आने वाले अंतर के हिसाब से कम या ज़्यादा हो जाती है. साथ ही, इसे अगली बिलिंग तारीख को आगे बढ़ाकर नई सदस्यता में क्रेडिट कर दिया जाता है. यह डिफ़ॉल्ट व्यवहार है.

बिना किसी अतिरिक्त पेमेंट के, ज़्यादा महंगे टीयर पर अपग्रेड करें.

0

CHARGE_PRORATED_PRICE

सदस्यता तुरंत अपग्रेड कर दी जाती है और बिलिंग साइकल में कोई बदलाव नहीं होता है. इसके बाद, बची हुई अवधि के लिए कीमत में अंतर का शुल्क उपयोगकर्ता से लिया जाता है.

ध्यान दें: यह विकल्प सिर्फ़ सदस्यता अपग्रेड करने पर, जिसमें समय की प्रति इकाई कीमत बढ़ जाता है.

बिलिंग की तारीख बदले बिना, ज़्यादा महंगे टीयर पर अपग्रेड करें.

1

CHARGE_FULL_PRICE

सदस्यता तुरंत अपग्रेड या डाउनग्रेड हो जाती है और उपयोगकर्ता नए एनटाइटलमेंट के लिए, पूरा शुल्क तुरंत ले लिया जाएगा. शेष मान को या तो उसी के लिए एनटाइटलमेंट या किसी दूसरे एनटाइटलमेंट पर स्विच करने के समय के हिसाब से उसका इस्तेमाल किया जा सकता है.

ध्यान दें: अगर नई सदस्यता को मुफ़्त में आज़माने की सुविधा चालू है या शुरुआती ऑफ़र के तहत, उपयोगकर्ता से 0 डॉलर या शुरुआती कीमत ली जाती है ऑफ़र को अपग्रेड या डाउनग्रेड करते समय जो भी लागू हो.

कम अवधि से लंबी बिलिंग अवधि में अपग्रेड करें.

1 (ध्यान दें: अगर नई सदस्यता में, बिना शुल्क के आज़माने की सुविधा उपलब्ध है, तो यह 0 दिखेगा.)

WITHOUT_PRORATION

सदस्यता तुरंत अपग्रेड या डाउनग्रेड हो जाती है. साथ ही, सदस्यता रिन्यू होने पर नई कीमत ले ली जाती है. बिलिंग साइकल में कोई बदलाव नहीं होगा.

सदस्यता के लिए बची हुई किसी अवधि को जारी रखते हुए, पैसे चुकाकर ली जाने वाली सदस्यता के ऊंचे टीयर पर अपग्रेड करें.

0

DEFERRED

सदस्यता के रिन्यू होने पर ही सदस्यता को अपग्रेड या डाउनग्रेड किया जाता है. हालांकि, नई खरीदारी को तुरंत जारी कर दिया जाता है और नए एनटाइटलमेंट के लिए, शुरू होने की तारीख आगे की होती है. इसका मतलब है कि डेवलपर, उपयोगकर्ताओं को अपनी ज़रूरत के हिसाब से अन्य बदलाव करने की अनुमति दे सकता है. उदाहरण के लिए, वे ओरिजनल प्लान पर वापस जा सकते हैं या स्थगित प्लान में बदलाव करने की नई प्रोसेस शुरू कर सकते हैं. ध्यान दें: किस्तों में पैसे चुकाने की सुविधा वाली सदस्यताओं के लिए, प्लान में बदलाव पेमेंट की अगली तारीख की शुरुआत में लागू हो जाता है.

कम खर्च वाले टीयर में डाउनग्रेड करना.

1

इसके अलग-अलग अपसेल और विनबैक ऐप्लिकेशन के बारे में ज़्यादा जानने के लिए ऑफ़र को अपग्रेड या डाउनग्रेड करने के लिए, ऑफ़र और प्रमोशन गाइड पढ़ें.

खरीदारी के लिए रिप्लेसमेंट मोड सेट करना

अलग-अलग तरह की सदस्यताओं के लिए, अलग-अलग मोड का इस्तेमाल किया जा सकता है आपकी प्राथमिकताओं और कारोबार के लॉजिक के आधार पर ट्रांज़िशन. इस सेक्शन में, सदस्यता में बदलाव के लिए, रीप्लेसमेंट मोड कैसे सेट करें और इसकी सीमाएं जो लागू होते हैं.

उसी सदस्यता में फिर से सदस्यता लेना या प्लान बदलना

Google Play Console में, डिवाइस बदलने का डिफ़ॉल्ट मोड तय किया जा सकता है. यह इस सेटिंग की मदद से, यह चुना जा सकता है कि मौजूदा सदस्यों से सदस्यता खरीदने पर, उन्हें कब शुल्क देना है उसी सदस्यता के लिए कोई दूसरा बुनियादी प्लान या ऑफ़र या फिर रद्द करने की प्रक्रिया. उपलब्ध विकल्प हैं: तुरंत चार्ज करें. CHARGE_FULL_PRICE और बिलिंग की अगली तारीख पर शुल्क लें. इसके बराबर की रकम WITHOUT_PRORATION. बदलाव करने के सिर्फ़ ये मोड ही काम के हैं, उसी सदस्यता में बुनियादी प्लान स्विच करना.

उदाहरण के लिए, अगर आप उपयोगकर्ता रद्द करता है, लेकिन सदस्यता खत्म होने से पहले, नई खरीदारी को प्रोसेस किया जा सकता है में कोई भी वैल्यू दिए बिना, सामान्य खरीदारी के तौर पर SubscriptionUpdateParams. सिस्टम आपके डिवाइस के डिफ़ॉल्ट रीप्लेसमेंट मोड का इस्तेमाल करता है सदस्यता में कॉन्फ़िगर किया जाता है और प्लान के ट्रांज़िशन को अपने-आप मैनेज किया जाता है पुरानी खरीदारी से लेकर नई खरीदारी तक.

अलग-अलग सदस्यताओं के लिए एक से दूसरे प्लान पर स्विच करना या डिफ़ॉल्ट तौर पर सेट किए गए बदलाव मोड को बदलना

अगर उपयोगकर्ता सदस्यता के प्रॉडक्ट—खरीदारी को बदल रहा है, तो वह अलग सदस्यता—या अगर आपको किसी की वजह, आप परचेज़ फ़्लो के हिस्से के तौर पर रनटाइम के दौरान, प्रोरेशन रेट तय करते हैं पैरामीटर का इस्तेमाल करें.

रनटाइम के दौरान की जाने वाली खरीदारी के हिस्से के तौर पर, SubscriptionUpdateParams की जानकारी सही तरीके से देने के लिए फ़्लो कॉन्फ़िगरेशन के लिए, इन पाबंदियों पर ध्यान दें:

  • एक ही सदस्यता को अपग्रेड, डाउनग्रेड या शुरू करते समय, इस पर स्विच करें प्रीपेड प्लान , जिसमें प्रीपेड प्लान, अपने-आप रिन्यू होने वाला प्लान या किस्तों में पैसे चुकाने की सुविधा हो. बदलने की अनुमति वाला मोड CHARGE_FULL_PRICE है. अगर आपने किसी अन्य मोड बदलने के बाद, खरीदारी पूरी नहीं हो पाती है और उपयोगकर्ता को एक गड़बड़ी दिखती है.
  • एक ही सदस्यता में मौजूद प्लान को अपने-आप रिन्यू होने वाले प्लान पर स्विच करना पहले से प्रीपेड प्लान या अपने-आप रिन्यू होने वाले प्लान में, मान्य प्रोरेशन मोड में उपलब्ध CHARGE_FULL_PRICE और WITHOUT_PRORATION हैं. अगर आपने किसी अन्य प्रोरेशन मोड का इस्तेमाल करने पर, खरीदारी पूरी नहीं होती और उपयोगकर्ता को कोई गड़बड़ी दिखती है.
  • किस्तों में पैसे चुकाने की सुविधा के आधार पर, शुल्क लेकर सदस्यता देने वाले एक ही प्रॉडक्ट के लिए प्लान बदलना बिना किस्तों वाले बुनियादी प्लान की अनुमति नहीं है.

आइटम बदलने के उदाहरण और व्यवहार

हर प्रोरेशन मोड के काम करने के तरीके को समझने के लिए, नीचे दी गई स्थिति देखें:

Samwis के पास कंट्री गार्डनर ऐप की ऑनलाइन सामग्री की सदस्यता है. वह के पास कॉन्टेंट के टियर 1 वर्शन के लिए हर महीने की सदस्यता होती है, जो केवल टेक्स्ट है. इस सदस्यता के लिए, उन्हें हर महीने दो डॉलर चुकाने होंगे और यह रिन्यू हो जाएगा महीने की पहली तारीख को.

15 अप्रैल को, Samsung ने Tier 2 के सालाना वर्शन में अपग्रेड करने का फ़ैसला किया सदस्यता, जिसमें वीडियो अपडेट और $36 प्रति वर्ष की लागत शामिल है.

सदस्यता को अपग्रेड करते समय, डेवलपर प्रोरेशन मोड को चुनता है. कॉन्टेंट बनाने नीचे दी गई सूची में बताया गया है कि हर प्रोरेशन मोड, Samwise की सदस्यता पर कैसे असर डालता है:

WITH_TIME_PRORATION

Samwis की टियर 1 सदस्यता तुरंत खत्म हो जाएगी. ऐसा इसलिए हुआ, क्योंकि उन्होंने (1 से 30 अप्रैल तक) है, लेकिन सदस्यता की अवधि के बीच में अपग्रेड हुआ. उनकी नई सदस्यता पर हर महीने की सदस्यता ($1) लागू हो जाएगी. हालांकि, क्योंकि उस नई सदस्यता की लागत सालाना 36 डॉलर है, जबकि 1 डॉलर का क्रेडिट बैलेंस सिर्फ़ 10 डॉलर के लिए चुकाता है दिन (16 से 25 अप्रैल); इसलिए, 26 अप्रैल से उनसे नई सदस्यता के लिए 36 डॉलर का शुल्क लिया जाएगा और और हर साल 26 अप्रैल को 36 डॉलर चुकाने होंगे.

आपको अपने ऐप्लिकेशन के PurchasesUpdatedListener पर तुरंत कॉल करना चाहिए खरीद सफल होती है और आप queryPurchasesAsync() कॉल. आपके बैकएंड को तुरंत मिल जाता है SUBSCRIPTION_PURCHASED डेवलपर से जुड़ी रीयल-टाइम सूचना.

CHARGE_PRORATED_PRICE

इस मोड का इस्तेमाल इसलिए किया जा सकता है, क्योंकि हर बार इकाई के हिसाब से टियर 2 की सदस्यता का शुल्क (36 डॉलर/साल = 3 डॉलर/महीना) हर बार के हिसाब से, टियर 1 की सदस्यता के शुल्क से ज़्यादा है यूनिट (2 डॉलर/महीना). Samwis की टियर 1 सदस्यता तुरंत खत्म हो जाएगी. क्योंकि वह पूरे महीने के लिए पैसे चुकाए, लेकिन उसका सिर्फ़ आधा हिस्सा इस्तेमाल किया और महीने का आधा हिस्सा इस्तेमाल किया उनकी नई सदस्यता पर ($1) लागू होगा. हालांकि, ऐसा इसलिए, क्योंकि 36 डॉलर/साल की लागत आती है. बाकी 15 दिनों की लागत 1.50 डॉलर है; इसलिए, उस पर शुल्क लगाया जाता है सदस्यता शुल्क 0.50 डॉलर का है. 1 मई को, Samwise का शुल्क 36 डॉलर है और 36 डॉलर का शुल्क चुकाना होगा.

आपको अपने ऐप्लिकेशन के PurchasesUpdatedListener पर तुरंत कॉल करना चाहिए खरीद सफल होती है और आप एक queryPurchasesAsync() कॉल. आपके बैकएंड को तुरंत मिल जाता है SUBSCRIPTION_PURCHASED डेवलपर से जुड़ी रीयल-टाइम सूचना.

WITHOUT_PRORATION

Samwis की टियर 1 सदस्यता को तुरंत टियर 2 में अपग्रेड कर दिया गया. वह अलग से शुल्क लेगा और 1 मई को उससे नए सदस्यता टियर के लिए 36 डॉलर का शुल्क लिया जाएगा और और 36 डॉलर हर साल 1 मई को देने होंगे.

आपको अपने ऐप्लिकेशन के PurchasesUpdatedListener पर तुरंत कॉल करना चाहिए खरीद सफल होती है और आप एक queryPurchasesAsync() कॉल. आपके बैकएंड को तुरंत मिल जाता है SUBSCRIPTION_PURCHASED डेवलपर से जुड़ी रीयल-टाइम सूचना.

DEFERRED

Samwis की टियर 1 सदस्यता तब तक जारी रहेगी, जब तक कि इसकी समयसीमा 30 अप्रैल को खत्म नहीं हो जाती. मई को पहला, टियर 2 सदस्यता लागू होगी और उसकी सदस्यता का नया टियर.

आपको अपने ऐप्लिकेशन के PurchasesUpdatedListener पर तुरंत कॉल करना चाहिए खरीद सफल होती है और आप एक queryPurchasesAsync() कॉल. आपके बैकएंड को तुरंत मिल जाता है SUBSCRIPTION_PURCHASED डेवलपर से जुड़ी रीयल-टाइम सूचना. आपको ऐसा करना चाहिए ठीक उसी तरह खरीदारी को प्रोसेस करना जैसे आप किसी अन्य नई खरीदारी को प्रोसेस करते हैं उस समय. खास तौर पर, पक्का करें कि आपने नई खरीदारी की जानकारी स्वीकार कर ली हो. नोट जोड़ें नई सदस्यता के startTime में अपने-आप जानकारी भर जाती है जब वह बदलाव प्रभावी होता है, तो पुराना सदस्यता खत्म होने की तारीख. इसके बाद, आपको SUBSCRIPTION_RENEWED मिलेगा नए सदस्यता प्लान के लिए आरटीडीएन. यहां दी गई, इसमें ReplacementMode.DEFERRED व्यवहार स्थगित बदलाव को मैनेज करना.

CHARGE_FULL_PRICE

Samwis की टियर 1 सदस्यता तुरंत खत्म हो जाएगी. उनकी टियर 2 सदस्यता आज से शुरू होता है और उससे $36 का शुल्क लिया जाता है. क्योंकि उन्होंने पूरे महीने पैसे चुकाए थे लेकिन उसका आधा ही हिस्सा, महीने की सदस्यता का आधा हिस्सा ($1) उस पर लागू होता है की सदस्यता लें. उस नई सदस्यता की कीमत हर साल 36 डॉलर है. इसलिए, उसे उसकी सदस्यता की अवधि (~10 दिन) में एक साल जोड़ी गई. इसलिए, सैमवाइज़ का अगला शुल्क 36 डॉलर के लिए, 1 साल और आज से 10 दिन बाद का होगा. इसके बाद, वह उसके बाद हर साल 36 डॉलर का शुल्क लिया जाएगा.

प्रोरेशन मोड चुनते समय, हमारी डिवाइस को बदलने के सुझाव.

ऐप्लिकेशन में, सदस्यता में हुए बदलाव ट्रिगर करें

आपका ऐप्लिकेशन, उपयोगकर्ताओं को अपग्रेड या डाउनग्रेड करने का ऑफ़र दे सकता है. इसके लिए, उन्हें नीचे दिया गया तरीका अपनाना होगा परचेज़ फ़्लो लॉन्च करना. हालांकि, अपग्रेड या डाउनग्रेड करते समय, मौजूदा सदस्यता, आने वाले समय में (अपग्रेड किया गया या और रिप्लेसमेंट मोड का इस्तेमाल करें, जैसा कि नीचे दिया गया उदाहरण:

Kotlin

val offerToken = productDetails
        .getSubscriptionOfferDetails(selectedOfferIndex)
        .getOfferToken()

val billingParams = BillingFlowParams.newBuilder().setProductDetailsParamsList(
       listOf(
           BillingFlowParams.ProductDetailsParams.newBuilder()
               .setProductDetails(productDetails)
               .setOfferToken(offerToken)
               .build()
       )
       ).setSubscriptionUpdateParams(
           BillingFlowParams.SubscriptionUpdateParams.newBuilder()
               .setOldPurchaseToken("old_purchase_token")
               .setSubscriptionReplacementMode(
                 BillingFlowParams.ReplacementMode.CHARGE_FULL_PRICE
               )
               .build()
       ).build()

billingClient.launchBillingFlow(
    activity,
    billingParams
   )
// ...

Java

String offerToken = productDetails
    .getSubscriptionOfferDetails(selectedOfferIndex)
    .getOfferToken();

BillingFlowParams billingFlowParams = BillingFlowParams.newBuilder()
    .setProductDetailsParamsList(
        ImmuableList.of(
            ProductDetailsParams.newBuilder()
                // fetched via queryProductDetailsAsync
                .setProductDetails(productDetails)
                // offerToken can be found in
                // ProductDetails=>SubscriptionOfferDetails
                .setOfferToken(offerToken)
                .build()))
    .setSubscriptionUpdateParams(
        SubscriptionUpdateParams.newBuilder()
            // purchaseToken can be found in Purchase#getPurchaseToken
            .setOldPurchaseToken("old_purchase_token")
            .setSubscriptionReplacementMode(ReplacementMode.CHARGE_FULL_PRICE)
            .build())
    .build();

BillingResult billingResult = billingClient.launchBillingFlow(activity, billingFlowParams);
// ...

बैटरी बदलने के सुझाव

इस टेबल में, प्रोरेशन की अलग-अलग स्थितियों के साथ-साथ यह बताया गया है कि हर स्थिति के लिए सुझाव दें:

स्थिति सुझाया गया रीप्लेसमेंट मोड नतीजा
ज़्यादा महंगा टियर पर अपग्रेड करना CHARGE_PRORATED_PRICE बिलिंग में बदलाव किए बिना, उपयोगकर्ता को तुरंत ऐक्सेस मिल जाता है अवधि के लिए मान्य है.
कम खर्च वाले टियर में डाउनग्रेड करना DEFERRED उपयोगकर्ता ने ज़्यादा महंगे टियर के लिए पहले ही पैसे चुका दिए हैं, इसलिए वे अगली बिलिंग तारीख तक ऐक्सेस दें.
बिना शुल्क के आज़माने की अवधि के दौरान अपग्रेड करना, बिना किसी शुल्क के सदस्यता आज़माने की अवधि को बनाए रखना WITHOUT_PRORATION उपयोगकर्ता के पास मुफ़्त में आज़माने की सुविधा का ऐक्सेस रहता है, लेकिन वह सदस्यता के मामले में अगले टीयर पर अपग्रेड करता है बाकी बचे पैसे.
बिना शुल्क के आज़माने की अवधि के दौरान अपग्रेड करना - बिना किसी शुल्क के आज़माने वाले ऑफ़र का ऐक्सेस खत्म करना CHARGE_PRORATED_PRICE उपयोगकर्ता को नए टियर का ऐक्सेस तुरंत मिल जाता है, लेकिन अब नहीं को मुफ़्त में आज़माने की सुविधा मिलती है.

सदस्यता में बदलाव से जुड़ी खरीदारी मैनेज करना

प्लान में होने वाले बदलाव, सभी शर्तों और मकसद के लिए नई खरीदारी हैं. यह ज़रूरी है कि बिलिंग फ़्लो पूरा होने के बाद प्रोसेस किया जाता है और स्वीकार किया जाता है का इस्तेमाल किया जा सकता है. नई खरीदारी को सही तरीके से प्रोसेस करने के अलावा, बदली जा रही खरीदारी को रिटायर करना होगा.

इन-ऐप्लिकेशन व्यवहार, किसी भी नई खरीदारी की तरह ही होता है. आपका ऐप्लिकेशन PurchasesUpdatedListener में नई खरीदारी का नतीजा और नई खरीदारी queryPurchasesAsync में उपलब्ध है.

Google Play डेवलपर एपीआई, कन्वर्ज़न विंडो के आखिर में linkedPurchaseToken जब कोई खरीदारी किसी मौजूदा सदस्यता की जगह लागू होती है, तो सदस्यता संसाधन एक. यह काम करने के लिए, linkedPurchaseToken में दिए गए टोकन को अमान्य करना न भूलें यह पक्का करें कि पुराने टोकन का इस्तेमाल, आपकी सेवाओं का ऐक्सेस पाने के लिए न किया गया हो. यहां जाएं: अपग्रेड मैनेज करने के बारे में जानकारी के लिए अपग्रेड, डाउनग्रेड, और फिर से साइनअप करना और खरीदारी को डाउनग्रेड करने का विकल्प होता है.

नया खरीदारी का टोकन मिलने पर, पुष्टि करने की वही प्रक्रिया अपनाएं जो यह करता है: खरीदारी के नए टोकन की पुष्टि करने के लिए. इन शर्तों को स्वीकार करना न भूलें Google Play से BillingClient.acknowledgePurchase() से की गई खरीदारी Play Billing लाइब्रेरी या Purchases.subscriptions:acknowledge की ओर से तो Google Play Developer API.

हैंडल के लिए डिफ़र्ड रीप्लेसमेंट की सुविधा

स्थगित बदले जाने वाले मोड की मदद से, उपयोगकर्ता बाकी बची जगह का इस्तेमाल कर सकता है सदस्यता लेने से पहले, उसे अपने पुराने प्लान में शामिल करने की ज़रूरत नहीं होती.

जब आप नई खरीदारी के लिए REPLACEmentMode.DEFERRED का इस्तेमाल करते हैं, तो खरीदारी के बाद, queryPurchasesAsync() खरीदारी का नया टोकन दिखाता है नया फ़्लो जो तब तक पुराने प्रॉडक्ट से जुड़ा रहता है, जब तक कि बदले जाने के अनुरोध को टाला नहीं जाता रिन्यूअल की अगली तारीख पर होता है, जिसके बाद नया प्रॉडक्ट वापस किया गया.

पहले आप बंद की गई सुविधा के साथ इस उपयोगकर्ता अनुभव को पा सकते थे ProrationMode.DEFERRED, लेकिन Play पर ProrationMode.DEFERRED के इस्तेमाल पर रोक लगा दी गई है 'Play Billing लाइब्रेरी' 6. यह समझने के लिए नीचे दी गई टेबल देखें कि अलग हो:

समय

ProरेशनMode.DEFERRED (अब सेवा में नहीं है)

प्रतिस्थापनमोड.DEFERRED

परचेज़ फ़्लो पूरा होने के तुरंत बाद (ऐप्लिकेशन)

खरीदारी के बाद, PurchasesUpdatedListener को शुरू किया जाता है. साथ ही, इस बात की जानकारी दी जाती है कि अपग्रेड पूरा हुआ या नहीं.

पुराने प्लान के फ़ायदे, रिन्यूअल की अगली तारीख तक जारी रहेंगे. यह पक्का करने के लिए कि ऐप्लिकेशन सही एनटाइटलमेंट देता है, queryPurchasesAsync() नया एनटाइटलमेंट होने तक, परचेज़ ऑब्जेक्ट को ओरिजनल परचेज़ टोकन और ओरिजनल एनटाइटलमेंट के साथ दिखाता है.

नया खरीदारी टोकन नहीं दिखाया जा रहा है. इसलिए, इसे अभी प्रोसेस नहीं किया जा सकता.

खरीदारी के बाद, PurchasesUpdatedListener का अनुरोध किया जाता है. इससे यह पता चलता है कि अपग्रेड या डाउनग्रेड हो गया है या नहीं.

queryPurchasesAsync(), नए खरीदारी टोकन और उससे जुड़े ओरिजनल एनटाइटलमेंट के साथ, खरीदारी का डेटा दिखाता है.

लोगों को खरीदारी का नया टोकन दिखता है. इसलिए, बदलाव करते समय इसका ध्यान रखते हुए, इसे प्रोसेस किया जाना चाहिए.

परचेज़ फ़्लो पूरा होने के तुरंत बाद (बैकएंड)

खरीदारी की प्रक्रिया पूरी होने के बाद, SUBSCRIPTION_PURCHASED RTDN नहीं भेजा जाता. बैकएंड को अभी तक नई खरीदारी की जानकारी नहीं दी गई है.

पुराने product_id के साथ SUBSCRIPTION_PURCHASED RTDN, नए खरीदारी टोकन के लिए खरीदारी फ़्लो के तुरंत बाद भेजा जाता है.

नए खरीदारी टोकन के साथ purchases.subscriptionsv2.get तरीके को कॉल करने से, 'startTime' वाली खरीदारी के बारे में पता चलता है दो लाइन आइटम के साथ खरीदारी का समय दिखाता है:

  • एक कार्ड, पुराने एनटाइटलमेंट के बारे में बताता है और इसमें 'समयसीमा खत्म होने का समय' होता है आने वाले समय में. पुराने एनटाइटलमेंट को रिन्यू नहीं किया जाएगा. साथ ही, इसमें स्थगित आइटम बदले जाने की सुविधा होगी, जिसमें नए एनटाइटलमेंट का प्रॉडक्ट मौजूद होगा. इससे पता चलता है कि पुराने एनटाइटलमेंट की समयसीमा खत्म होने के बाद, उसकी जगह दूसरी सदस्यता को बदला जाना बाकी है.
  • एक सेक्शन, हाल ही में खरीदे गए एनटाइटलमेंट की जानकारी देता है. 'expirationTime' के लिए कोई वैल्यू सेट नहीं की गई है.

पुराने खरीदारी टोकन के लिए SUBSCRIPTION_EXPIRED भेजा गया. purchases.subscriptionsv2.get तरीके को पुराने खरीदारी टोकन से कॉल करने पर, पता चलता है कि इसकी समयसीमा खत्म हो गई है (पुराने प्लान का एनटाइटलमेंट, बचे हुए समय के लिए नई खरीदारी पर ट्रांसफ़र कर दिया जाता है).

डिवाइस बदलने पर - परचेज़ फ़्लो के बाद पहली बार रिन्यूअल के लिए (ऐप्लिकेशन)

queryPurchasesAsync(), नए खरीदारी टोकन और एनटाइटलमेंट के साथ नया परचेज़ ऑब्जेक्ट दिखाता है.

खरीदारी का नया टोकन अब दिखता है. इसलिए, इसे प्रोसेस किया गया हो.

queryPurchasesAsync(), नए खरीदारी टोकन और उससे जुड़े नए एनटाइटलमेंट के साथ, खरीदारी का डेटा दिखाता है.

ज़रूरी है कि नई खरीदारी, परचेज़ फ़्लो के पूरा होने के बाद ही प्रोसेस हो गई हो. इसलिए, ऐप्लिकेशन को यह पक्का करने के अलावा कोई और खास कार्रवाई नहीं करनी चाहिए कि सही एनटाइटलमेंट दिया गया है.

बदले जाने पर - परचेज़ फ़्लो के बाद पहली बार रिन्यूअल (बैकएंड)

नई खरीदारी को अब पहली बार SUBSCRIPTION_renewED RTDN भेजे जाने पर प्रोसेस और स्वीकार किया जा सकता है.

सदस्यता के संसाधन में मौजूद linkedPurchaseToken का इस्तेमाल, यह तय करने के लिए किया जा सकता है कि आपकी सदस्यता के बैकएंड में किस उपयोगकर्ता के लिए नए एनटाइटलमेंट की जानकारी अपडेट की जानी चाहिए (अगर लागू हो).

नए खरीदारी टोकन के लिए SUBSCRIPTION_PURCHASED RTDN भेजे जाने पर, नई खरीदारी को प्रोसेस और स्वीकार किया गया. साथ ही, इसे 'startTime' के तौर पर रिकॉर्ड किया गया.

InsertmentMode.DEFERRED का इस्तेमाल करने पर, पहले रिन्यूअल के लिए किसी अन्य रिन्यूअल की प्रोसेस का पालन किया जाता है. साथ ही, जब यह इवेंट होता है, तो इसे बदलने के लिए आपको किसी खास लॉजिक को हैंडल करने की ज़रूरत नहीं होती.

खरीदारी के नए टोकन का इस्तेमाल करके, purchases.subscriptionsv2.get तरीके का इस्तेमाल करने पर, दो लाइन आइटम के साथ खरीदारी मिलती है:

  • यह पुराने एनटाइटलमेंट के बारे में बताता है. इसमें पहले `खत्म होने का समय` दिया गया है और स्थगित आइटम बदले जाने के लिए कोई वैल्यू सेट नहीं है.
  • एक समय नए एनटाइटलमेंट के बारे में बताता है, जिसमें `खत्म होने का समय` आने वाला है और अपने-आप होने वाले_रिन्यू करने की सुविधा वाला फ़्लैग चालू है.

प्रतिस्थापन मोड.DEFERRED का इस्तेमाल अब से काम नहीं करने वाले बटन के बजाय किया जाना चाहिए ProationMode.DEFERRED, क्योंकि यह एनटाइटलमेंट के मामले में एक जैसा तरीका दिखाता है बदलाव करता है, लेकिन उस खरीदारी को मैनेज करने का ऐसा तरीका पेश करता है जो अन्य नई खरीदारी का व्यवहार.

कस्टमर मैनेजमेंट

डेवलपर से जुड़ी रीयल-टाइम सूचनाओं का इस्तेमाल करके, रीयल टाइम में यह पता लगाया जा सकता है कि जब उपयोगकर्ता सदस्यता रद्द करता है. जब कोई उपयोगकर्ता सदस्यता रद्द करता है, लेकिन अपनी सदस्यता से पहले समयसीमा खत्म हो गई है, तो उन्हें पुश नोटिफ़िकेशन या ऐप्लिकेशन में मैसेज भेजकर पूछा जा सकता है उन्हें फिर से सदस्य बनाना चाहते हैं.

किसी उपयोगकर्ता की सदस्यता रद्द करने के बाद, उसे फिर से जीतने की कोशिश की जा सकती है Play Store से या ऐप्लिकेशन में जाकर मिल सकता है. इस टेबल में बताया गया है कि सदस्यता लेने से जुड़ी अलग-अलग स्थितियों के साथ-साथ, आगे बढ़ने से जुड़ी कार्रवाइयों और ज़रूरी शर्तें.

सदस्यता खत्म होने से पहले सदस्यता खत्म होने के बाद
इन-ऐप्लिकेशन Play Store पर इन-ऐप्लिकेशन Play Store पर
Winback सुविधा इन-ऐप्लिकेशन सदस्यता वापस लाएं इन-ऐप्लिकेशन सदस्यता फिर से सदस्यता लें
उपयोगकर्ता ने चेकआउट प्रोसेस को पूरा किया हां नहीं हां हां
उपयोगकर्ता की सदस्यता उसी एसकेयू से जुड़ी रहती है उपयोगकर्ता एक ही या अलग एसकेयू के लिए साइन अप कर सकता है हां उपयोगकर्ता एक ही या अलग एसकेयू के लिए साइन अप कर सकता है हां
नया खरीदारी टोकन बनाता है हां नहीं हां हां
डिफ़ॉल्ट रूप से चालू है नहीं हां, सभी डेवलपर को सहायता पाने की ज़रूरत है नहीं

'Play Billing लाइब्रेरी 2.0+' के बिना ऐप्लिकेशन के लिए: नहीं

बिलिंग लाइब्रेरी 2.0 के बाद के वर्शन वाले ऐप्लिकेशन: हां. डेवलपर, कंसोल में जाकर ऑप्ट-आउट कर सकते हैं.

जब उपयोगकर्ता से शुल्क लिया जाता है

एक ही SKU का इस्तेमाल करने पर: मौजूदा बिलिंग अवधि खत्म होने वाली है.

अगर अलग SKU का इस्तेमाल किया जा रहा है: तो यह प्रोरेशन मोड पर निर्भर करता है.

मौजूदा बिलिंग अवधि खत्म होने पर तुरंत तुरंत
लागू करना ज़रूरी है उपलब्ध कराएं आपके ऐप्लिकेशन में फिर से साइनअप करने के लिए यूज़र इंटरफ़ेस (यूआई)

सदस्यता की स्थिति में हुए बदलाव का पता लगाएं

Play Store का डीप-लिंक

अपने ऐप्लिकेशन में री-साइन अप के लिए यूज़र इंटरफ़ेस (यूआई) दें ऐप्लिकेशन के बाहर होने वाली खरीदारी मैनेज करना

सदस्यता खत्म होने से पहले - इन-ऐप्लिकेशन

ऐसी सदस्यताएं जिन्हें रद्द कर दिया गया है, लेकिन उनकी समयसीमा खत्म नहीं हुई है, उनके लिए इस विकल्प का इस्तेमाल करके, सदस्यों को आपके ऐप्लिकेशन में अपनी सदस्यता वापस पाने की अनुमति दें इन-ऐप्लिकेशन प्रॉडक्ट परचेज़ फ़्लो का इस्तेमाल करें. अपना यूज़र इंटरफ़ेस (यूआई) पक्का करें यह बताता है कि उपयोगकर्ता के पास सदस्यता है. उदाहरण के लिए, आपके पास उपयोगकर्ता की मौजूदा समयसीमा खत्म होने की तारीख और बार-बार होने वाली कीमत फिर से चालू करें बटन.

ज़्यादातर मामलों में, आप लोगों को वही कीमत और SKU ऑफ़र करना चाहेंगे पहले से सदस्य थे, जिनकी उन्होंने सदस्यता ली थी, जैसे:

  • उसी एसकेयू के साथ नई सदस्यता खरीदना शुरू करें.
  • नई सदस्यता, पुरानी सदस्यता की जगह ले लेगी और उसी खत्म होने पर रिन्यू होगी तारीख. पुरानी सदस्यता को तुरंत, 'खत्म हो गई' के तौर पर मार्क कर दिया जाता है.
  • उदाहरण के लिए, Acilles के पास Example Music ऐप्लिकेशन की सदस्यता है और सदस्यता 1 अगस्त को खत्म होगी. 10 जुलाई को, वह इसके फिर से सदस्य बन जाता है: एक महीने की सदस्यता का भुगतान करना होगा. नई सदस्यता के बचे हुए क्रेडिट के साथ, इस्तेमाल किया जा सकता है. साथ ही, यह तुरंत चालू हो जाता है सदस्यता, 1 अगस्त को रिन्यू होगी.

अगर आपको कोई अलग कीमत ऑफ़र करनी है, तो उदाहरण के तौर पर नया मुफ़्त में आज़माने का ऑफ़र या विनबैक छूट—इसके बजाय, आपके पास उपयोगकर्ता को कोई दूसरा SKU ऑफ़र करने का विकल्प होता है:

  • अलग-अलग एसकेयू का इस्तेमाल करके, अपग्रेड या डाउनग्रेड करना रिप्लेसमेंट मोड WITHOUT_PRORATION का इस्तेमाल करके.
  • नई सदस्यता, पुरानी सदस्यता की जगह ले लेगी और उसी खत्म होने पर रिन्यू होगी तारीख. उपयोगकर्ता से नए SKU का शुल्क लिया जाता है. इसमें SKU की कीमत भी शामिल होती है समयसीमा खत्म होने की मूल तारीख पर शुरुआती कीमतें. अगर पुरानी सदस्यता को एक अस्पष्ट खाता आईडी का उपयोग करके बनाया गया था, तो वही आईडी पास की जानी चाहिए BillingFlowParams में अपग्रेड और डाउनग्रेड करने के लिए.
  • उदाहरण के लिए, Acilles के पास Example Music ऐप्लिकेशन की सदस्यता है और सदस्यता 1 अगस्त को खत्म होगी. 10 जुलाई को, वह इसके फिर से सदस्य बन जाता है: शुरुआती कीमत पर सालाना सदस्यता लेना. नई सदस्यता तुरंत चालू हो और उपयोगकर्ता से 1 अगस्त.
  • अगर आपको विनबैक एसकेयू में, मुफ़्त में आज़माने की सुविधा या शुरुआती कीमत शामिल करनी है, तो Google Play Console में हर ऐप्लिकेशन के लिए एक बार मुफ़्त में आज़माने की अनुमति दें बॉक्स उपयोगकर्ता को हर ऐप्लिकेशन को मुफ़्त में आज़माने की सुविधा देने पर पाबंदी लगाता है.

खरीदारी का टोकन मिलने पर, खरीदारी को प्रोसेस करें. कोई नई सदस्यता लेनी होगी. इसके अलावा, Google Play Developer API सदस्यता के संसाधन में linkedPurchaseToken दिखाता है. कृपया दिए गए टोकन को अमान्य करें ताकि पुराने टोकन का इस्तेमाल इन कामों के लिए न किया जाएlinkedPurchaseToken आपकी सेवाओं को ऐक्सेस करना.

सदस्यता खत्म होने से पहले - Play Store में

सदस्यता रद्द होने के बाद भी चालू रहने के दौरान, उपयोगकर्ता पर जाकर सदस्यता चालू करें. फिर से सदस्यता लें (पहले इसे वापस लाएं कहा जाता था). इससे सदस्यता में कोई बदलाव नहीं होगा और खरीद टोकन.

Google Play Store ऐप्लिकेशन के सदस्यता सेक्शन में
            'फिर से सदस्यता लें' बटन के साथ रद्द की गई सदस्यता
आठवीं इमेज. खाता > सदस्यताएं सेक्शन में इस इमेज में दिखाया गया है कि Google Play Store ऐप्लिकेशन पर फिर से सदस्यता लें बटन.

सदस्यताओं को वापस लाने के बारे में ज़्यादा जानकारी के लिए, वापस पाना देखें.

सदस्यता खत्म होने के बाद - इन-ऐप्लिकेशन

जिन सदस्यों की समयसीमा खत्म हो गई है उन्हें ऐप्लिकेशन में फिर से सदस्यता लेने की अनुमति दी जा सकती है. इसके लिए, आपको आवेदन करना होगा इन-ऐप्लिकेशन प्रॉडक्ट परचेज़ फ़्लो का इस्तेमाल करें. ध्यान दें: फ़ॉलो किया जा रहा है:

  • उपयोगकर्ताओं को छूट देने के लिए, हो सकता है कि आप आपकी सदस्यता के लिए खास कीमत, जिसे विनबैक SKU भी कहा जाता है. आप अपने ऐप्लिकेशन में, ऑफ़र की जानकारी दे सकते हैं या उपयोगकर्ता को इस बारे में सूचना दे सकते हैं ऐप्लिकेशन के बाहर ऑफ़र किया जा सकता है, जैसे कि ईमेल में.
  • विनबैक सदस्यता शुरू करने के लिए, अपने यहां परचेज़ फ़्लो लॉन्च करें Google Play Billing Library का इस्तेमाल करने वाला Android ऐप्लिकेशन. यह पहले जैसा ही है के लिए एक नया तरीका अपनाया है, लेकिन आपको यह पता चल सकता है कि SKU जो उपयोगकर्ता को उपलब्ध हो.
  • अगर आपने अपने विनबैक में, बिना किसी शुल्क के सदस्यता आज़माने या शुरुआती कीमत को शामिल करने का फ़ैसला लिया है SKU से पुष्टि करें कि Google Play Console में हर ऐप्लिकेशन के लिए एक बार मुफ़्त में आज़माने की अनुमति दें बॉक्स उपयोगकर्ता को हर ऐप्लिकेशन को मुफ़्त में आज़माने की सुविधा देने पर पाबंदी लगाता है.
  • अगर उपयोगकर्ता उसी SKU की फिर से सदस्यता लेता है, तो उसे ऑफ़र नहीं किया जा सकता शुरुआती कीमत पर या बिना शुल्क के आज़माने की सुविधा पाएं. पक्का करें कि आपके यूज़र इंटरफ़ेस (यूआई) में यह जानकारी दिखती हो.

खरीदारी का टोकन मिलने पर, खरीदारी को प्रोसेस करें. कोई नई सदस्यता लेनी होगी. आपको linkedPurchaseToken नहीं मिलेगा देखें.

सदस्यता खत्म होने के बाद - Play Store में

इस सेटिंग को चालू करने के बाद, उपयोगकर्ता एक साल तक उसी SKU की सदस्यता फिर से ले सकते हैं Google Play की सदस्यताओं में, फिर से सदस्यता लें पर क्लिक करके सदस्यता खत्म करें बीच में. इससे एक नई सदस्यता और खरीदारी का टोकन जनरेट होता है.

Google Play Store ऐप्लिकेशन के सदस्यता सेक्शन में
            फिर से सदस्यता लें और हटाएं के साथ रद्द की गई और खत्म हो चुकी सदस्यता
            बटन
नौवीं इमेज. खाता > सदस्यताएं Google Play Store ऐप्लिकेशन के सेक्शन में, रद्द की गई और समयसीमा खत्म होने की जानकारी दिख रही है फिर से सदस्यता लें और हटाएं के साथ सदस्यता बटन.

फिर से सदस्यता लेना, ऐप्लिकेशन के बाहर की जाने वाली खरीदारी माना जाता है. इसलिए, यह पक्का करें कि सबसे सही तरीकों का पालन करें, अपने ऐप्लिकेशन के बाहर की गई खरीदारी को मैनेज करना.

अपनी सदस्यता को प्रमोट करें

चुनिंदा उपयोगकर्ताओं को ज़्यादा समय तक मुफ़्त में आज़माने की सुविधा देने के लिए, प्रोमो कोड बनाए जा सकते हैं सबसे अहम है. इस बारे में ज़्यादा जानने के लिए, यह देखें प्रोमो कोड.

बिना किसी शुल्क आज़माने की सुविधा के लिए, Google Play इस बात की पुष्टि करता है कि उपयोगकर्ता के पास पेमेंट का मान्य तरीका मौजूद है या नहीं बिना किसी शुल्क के आज़माएं. कुछ उपयोगकर्ताओं को पुष्टि की यह जानकारी दिख सकती है उनके पेमेंट के तरीके पर कुछ समय के लिए रोक लगा दी जाएगी या शुल्क लिया जाएगा. यह होल्ड या चार्ज है कुछ समय के लिए. साथ ही, बाद में वापस या रिफ़ंड कर दिया जाता है.

मुफ़्त में आज़माने की अवधि खत्म होने के बाद, उपयोगकर्ता के पेमेंट के तरीके से शुल्क लिया जाता है कुल सदस्यता शुल्क देना होगा.

अगर कोई उपयोगकर्ता मुफ़्त में आज़माने की अवधि के दौरान किसी भी समय सदस्यता रद्द करता है, मुफ़्त में आज़माने की अवधि खत्म होने तक सदस्यता चालू रहती है और वे मुफ़्त में आज़माने की अवधि खत्म होने पर शुल्क लिया जाएगा.

रद्द करना, रिफ़ंड पाना या निरस्त करना

Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए Google Play डेवलपर एपीआई से रद्द करें, रिफ़ंड, या निरस्त करें कोई सदस्यता. यह सुविधा इसमें भी उपलब्ध है Google Play Console से हटा दिया जाएगा.

  • रद्द करना: उपयोगकर्ता Google Play पर सदस्यता रद्द कर सकते हैं. आप यह भी कर सकते हैं लोगों को आपके ऐप्लिकेशन या वेबसाइट पर जाकर, सदस्यता रद्द करने का विकल्प दें. आपका ऐप्लिकेशन को बताए गए तरीके से इन रद्द करने की प्रक्रिया को मैनेज करना चाहिए रद्द करना.
  • रिफ़ंड: रिफ़ंड करने पर, उपयोगकर्ता सदस्यता का इस्तेमाल जारी रख सकता है. उदाहरण के लिए, अगर कोई तकनीकी गड़बड़ी हुई हो, तो रिफ़ंड का इस्तेमाल किया जा सकता है उपयोगकर्ता को आपका प्रॉडक्ट ऐक्सेस करने से रोका गया. हालांकि, यह गड़बड़ी समाधान किया गया. ध्यान दें कि हाल ही में किए गए पेमेंट के अलावा, रिफ़ंड के लिए या अगर आपने कुछ हिस्से का रिफ़ंड जारी करने के लिए, आपको Google Play Console का इस्तेमाल करना होगा.
  • निरस्त करना: जब आप रद्द करते हैं, तो उपयोगकर्ता तुरंत की सदस्यता लें. इसका इस्तेमाल तब किया जा सकता है, जब, उदाहरण के लिए, ऐसी गड़बड़ी हुई जिसकी वजह से लोग आपका प्रॉडक्ट ऐक्सेस नहीं कर पाए और उपयोगकर्ता प्रॉडक्ट का इस्तेमाल जारी नहीं रखना चाहता. आपके ऐप्लिकेशन को इन्हें हैंडल करना चाहिए रद्द किए गए दस्तावेज़ सहमति रद्द करना.

नीचे दी गई टेबल में बताया गया है कि सदस्यता रद्द करने, रिफ़ंड देने, और रद्द करें.

रिन्यूअल रोकना पैसे रिफ़ंड करना ऐक्सेस रद्द करना
अभी नहीं हां नहीं नहीं
रिफ़ंड नहीं हां नहीं
रद्द करें हां हां हां

किसी सदस्य के लिए बिलिंग स्थगित करना

अपने-आप रिन्यू होने वाले सदस्य के लिए, अगली बिलिंग तारीख को आगे बढ़ाया जा सकता है. इसके लिए, Purchases.subscriptions:defer को Google Play Developer API से डाउनलोड किया गया. स्थगित अवधि के दौरान, उपयोगकर्ता ने आपके कॉन्टेंट की पूरी ऐक्सेस के साथ सदस्यता ली है, लेकिन आपसे कोई शुल्क नहीं लिया जाएगा. कॉन्टेंट बनाने सदस्यता रिन्यू होने की तारीख को नई तारीख के तौर पर अपडेट किया गया है.

प्रीपेड प्लान की समयसीमा खत्म होने से रोकने के लिए, डेफ़र बिलिंग एपीआई का इस्तेमाल किया जा सकता है समय.

स्थगित बिलिंग की मदद से ये काम किए जा सकते हैं:

  • लोगों को खास ऑफ़र के तौर पर बिना किसी शुल्क के ऐक्सेस दें. उदाहरण के लिए, देखने के लिए किया जा सकता है.
  • अपने ग्राहकों को बिना किसी शुल्क के ऐक्सेस दें.

बिलिंग को कम से कम एक दिन और एक वर्ष तक रोका जा सकता है की तुलना कर रहा है. बिलिंग को और आगे बढ़ाने के लिए, एपीआई को फिर से कॉल किया जा सकता है बिलिंग की नई तारीख आने से पहले.

उदाहरण के लिए, डार्सी ने फ़िशिंग का तिमाही ऐप्लिकेशन. आम तौर पर, हर महीने की पहली तारीख को उन्हें 1.25 डॉलर का बिल मिलता है महीना. मार्च में, उन्होंने ऐप्लिकेशन पब्लिशर के ऑनलाइन सर्वे में हिस्सा लिया. पब्लिशर ने अगले पेमेंट को टालकर, उसे छह हफ़्ते मुफ़्त वाला इनाम दिया है 15 मई तक. यह समयसीमा, उसकी पहले से शेड्यूल की गई बिलिंग तारीख से छह हफ़्ते बाद है 1 अप्रैल से. डार्सी के लिए अप्रैल या मई की शुरुआत में शुल्क नहीं लिया जाता और फिर भी के पास कॉन्टेंट का ऐक्सेस होता है. 15 मई को, उनसे 1.25 पाउंड के बराबर शुल्क लिया जाएगा महीने के लिए सदस्यता शुल्क चुकाएं. उनकी रिन्यूअल की अगली तारीख अब 15 जून है.

टालते समय, हो सकता है कि आप उपयोगकर्ता को ईमेल के ज़रिए या ऐप्लिकेशन में इसकी सूचना देना चाहें ताकि उन्हें सूचित किया जा सके कि उनकी बिलिंग की तारीख बदल गई है.

पेमेंट अस्वीकार होने की समस्याओं को मैनेज करना

अगर सदस्यता रिन्यू करते समय पेमेंट से जुड़ी समस्याएं आती हैं, तो Google सदस्यता को रद्द करने से पहले, उसे कुछ समय के लिए रिन्यू करने की कोशिश करें. खाता वापस पाने की इस अवधि में, ग्रेस पीरियड और उसके बाद खाते पर रोक लगाना शामिल हो सकता है अवधि के लिए मान्य है. इस दौरान, Google उपयोगकर्ता को ईमेल और सूचनाएं भेजता है और पेमेंट का तरीका अपडेट करने के लिए कहें.

पेमेंट अस्वीकार होने पर, सदस्यता के लिए ग्रेस पीरियड शुरू हो जाता है पीरियड, अगर एक कॉन्फ़िगर किया गया. ग्रेस पीरियड के दौरान, आपको यह पक्का करना चाहिए कि उपयोगकर्ता के पास अब भी ऐक्सेस हो के लिए इस्तेमाल किया जा सकता है.

ग्रेस पीरियड खत्म होने के बाद, सदस्यता किसी खाते में जुड़ जाती है होल्ड अवधि सेट करता है. इस दौरान खाते पर रोक लगी है, तो आपको यह पक्का करना चाहिए कि उपयोगकर्ता के पास सदस्यता के एनटाइटलमेंट.

अपने-आप रिन्यू होने वाले हर बुनियादी प्लान के लिए, ग्रेस पीरियड की अवधि तय की जा सकती है. साथ ही, आपके खाते पर रोक लगा दी जाएगी. इससे कम अवधि तय की जा रही है डिफ़ॉल्ट वैल्यू से, पेमेंट करके वापस ली गई सदस्यताओं की संख्या कम हो सकती है अस्वीकार करता है.

पेमेंट अस्वीकार होने के दौरान, सदस्यता वापस पाने की संभावना को ज़्यादा से ज़्यादा बढ़ाने के लिए, उपयोगकर्ता को पेमेंट से जुड़ी किसी समस्या के बारे में बताया जा सकता है और उसे ठीक करने के लिए कहा जा सकता है.

इसे खुद भी किया जा सकता है, जैसा कि ग्रेस पीरियड में बताया गया है पीरियड और खाते पर रोक लग जाएगी सेक्शन में दिख सकते हैं या इन-ऐप्लिकेशन मैसेजिंग एपीआई को लागू कर सकते हैं, जहां Google आपको एक मैसेज भी मिलता है.

इन-ऐप्लिकेशन मैसेज

अगर आपने इनके साथ इन-ऐप्लिकेशन मैसेज की सुविधा चालू की है: InAppMessageCategoryId.TRANSACTIONAL Google Play, ग्रेस पीरियड के दौरान उपयोगकर्ताओं को एक बार मैसेज दिखाएगा. साथ ही, उन्हें खाते पर रोक लगने की जानकारी भी दी जाएगी और उन्हें ऐप्लिकेशन से बाहर निकले बिना, पेमेंट से जुड़ी समस्या हल करने का मौका दें.

पेमेंट से जुड़ी समस्या ठीक करने के लिए, उपयोगकर्ता को सूचना देने वाला स्नैकबार
20 इमेज. उपयोगकर्ता को पेमेंट से जुड़ी समस्या ठीक करने के बारे में बताने वाला स्नैकबार.

हमारा सुझाव है कि जब भी उपयोगकर्ता यह पता लगाने के लिए ऐप्लिकेशन खोले, तब इस एपीआई को कॉल करें कि मैसेज दिखाया जाना चाहिए या नहीं.

अगर उपयोगकर्ता ने अपनी सदस्यता वापस पा ली है, तो आपको SUBSCRIPTION_STATUS_UPDATED साथ ही, टोन भी शामिल करें. इसके बाद, आपको Google Play Developer API में जाकर, अपने ऐप्लिकेशन में सदस्यता की स्थिति को रीफ़्रेश करें.

इन-ऐप्लिकेशन मैसेज की सुविधा इंटिग्रेट करें

उपयोगकर्ता को इन-ऐप्लिकेशन मैसेज दिखाने के लिए, इसका इस्तेमाल करें BillingClient.showInAppMessages().

इन-ऐप्लिकेशन मैसेज फ़्लो को ट्रिगर करने का एक उदाहरण यहां दिया गया है:

Kotlin

val inAppMessageParams = InAppMessageParams.newBuilder()
        .addInAppMessageCategoryToShow(InAppMessageCategoryId.TRANSACTIONAL)
        .build()

billingClient.showInAppMessages(activity,
        inAppMessageParams,
        object : InAppMessageResponseListener() {
            override fun onInAppMessageResponse(inAppMessageResult: InAppMessageResult) {
                if (inAppMessageResult.responseCode == InAppMessageResponseCode.NO_ACTION_NEEDED) {
                    // The flow has finished and there is no action needed from developers.
                } else if (inAppMessageResult.responseCode
                        == InAppMessageResponseCode.SUBSCRIPTION_STATUS_UPDATED) {
                    // The subscription status changed. For example, a subscription
                    // has been recovered from a suspend state. Developers should
                    // expect the purchase token to be returned with this response
                    // code and use the purchase token with the Google Play
                    // Developer API.
                }
            }
        })

Java

InAppMessageParams inAppMessageParams = InAppMessageParams.newBuilder()
        .addInAppMessageCategoryToShow(InAppMessageCategoryId.TRANSACTIONAL)
        .build();

billingClient.showInAppMessages(activity,
        inAppMessageParams,
        new InAppMessageResponseListener() {
            @Override
            public void onInAppMessageResponse(InAppMessageResult inAppMessageResult) {
                if (inAppMessageResult.responseCode
                        == InAppMessageResponseCode.NO_ACTION_NEEDED) {
                    // The flow has finished and there is no action needed from developers.
                } else if (inAppMessageResult.responseCode
                        == InAppMessageResponseCode.SUBSCRIPTION_STATUS_UPDATED) {
                    // The subscription status changed. For example, a subscription
                    // has been recovered from a suspend state. Developers should
                    // expect the purchase token to be returned with this response
                    // code and use the purchase token with the Google Play
                    // Developer API.
                }
            }
        });

सदस्यता के लिए जिन लेन-देन को मंज़ूरी मिलना बाकी है उन्हें मैनेज करना

लेन-देन को मंज़ूरी मिलना बाकी है. ये लेन-देन शुरुआती खरीदारी, टॉप-अप, अपग्रेड या डाउनग्रेड करें. सदस्यता की खरीद इसके साथ प्रारंभ होती है: ट्रांज़िशन से पहले SUBSCRIPTION_STATE_PENDING स्थिति SUBSCRIPTION_STATE_ACTIVE. अगर लेन-देन की समयसीमा खत्म हो गई है या वह उपयोगकर्ता, यह SUBSCRIPTION_STATE_PENDING_PURCHASE_EXPIRED को जाता है. आपको ऐसा ज़रूर करना चाहिए साथ ही, लेन-देन पूरा होने के बाद ही उपयोगकर्ता के एनटाइटलमेंट को अपडेट किया जाना चाहिए पूरा हुआ.

लंबित लेन-देन वाली शुरुआती खरीदारी के लिए सदस्यता की स्थिति का बदलाव है आसान. आपके ऐप्लिकेशन को PENDING की स्थिति के साथ Purchase मिलता है. ऐसा तब होता है, जब उपयोगकर्ता किसी ऐसे लेन-देन को शुरू करता है जिसे मंज़ूरी मिलना बाकी है. लेन-देन पूरा होने पर, ऐप्लिकेशन को Purchase फिर से मिलता है. साथ ही, PURCHASED की स्थिति को अपडेट किया जाता है. ऐप्लिकेशन SUBSCRIPTION_PURCHASED टाइप वाला SubscriptionNotification मैसेज भेजा गया आपके आरटीडीएन क्लाइंट को लिंक करता है. खरीदारी की पुष्टि करने के लिए, सामान्य प्रोसेस का पालन करें. उपयोगकर्ता के पास कॉन्टेंट का ऐक्सेस हो और खरीदारी को स्वीकार किया गया हो. अगर लेन-देन समय सीमा खत्म हो जाती है या रद्द हो जाती है, SubscriptionNotification मैसेज SUBSCRIPTION_PENDING_PURCHASE_CANCELED, आपके आरटीडीएन क्लाइंट को भेजा जाता है. ऐसे में इन मामलों में, उपयोगकर्ता को कभी भी कॉन्टेंट का ऐक्सेस नहीं मिलना चाहिए.

लंबित लेन-देन के साथ टॉप-अप, अपग्रेड या डाउनग्रेड करने के लिए राज्य के बदलाव शामिल हैं पुराने और नई, दोनों तरह की सदस्यताओं के लिए. जब उपयोगकर्ता 'मंज़ूरी बाकी' को शुरू करता है टॉप-अप, अपग्रेड या डाउनग्रेड करने पर, आपके ऐप्लिकेशन कोPurchase PendingPurchaseUpdate ऑब्जेक्ट वाली पुरानी सदस्यता. इस समय, उपयोगकर्ता के पास अब भी पुरानी सदस्यता का मालिकाना हक है और उसे नई सदस्यता नहीं मिली है अभी तक शुरू नहीं किया है. इस नंबर पर getProducts() और getPurchaseToken() को कॉल किया जा रहा है: PendingPurchaseUpdate ऑब्जेक्ट, इसके प्रॉडक्ट आईडी और खरीदारी का टोकन दिखाता है नई सदस्यता का सुझाव दें. लेन-देन पूरा होने पर, आपके ऐप्लिकेशन को Purchase में, नई सदस्यता के लिए टॉप लेवल परचेज़ टोकन सेट किया गया है और राज्य को PURCHASED पर सेट किया गया है. SubscriptionNotification मैसेज, जिसमें यह लिखा हो SUBSCRIPTION_PURCHASED, आपके आरटीडीएन क्लाइंट को भेजा जाता है. सिर्फ़ इस समय, आपको पुराने खरीदारी टोकन की जगह नया खरीदारी टोकन डालना चाहिए और उसे अपडेट करना चाहिए उपयोगकर्ता के पास कॉन्टेंट का ऐक्सेस है. अगर लेन-देन की समयसीमा खत्म हो जाती है या उसे रद्द कर दिया जाता है, तो SubscriptionNotification मैसेज, जिसका टाइप है SUBSCRIPTION_PENDING_PURCHASE_CANCELED, आपके आरटीडीएन क्लाइंट को भेजा जाता है. ऐसे में मामलों में, उपयोगकर्ता के पास अब भी पुरानी सदस्यता के कॉन्टेंट का ऐक्सेस होना चाहिए.