ऐड-ऑन वाली सदस्यता

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

ज़रूरी बातें

ऐड-ऑन के साथ सदस्यता लेने की सुविधा का इस्तेमाल करते समय, इन बातों का ध्यान रखें:

  • ऐड-ऑन के साथ सदस्यता लेने की सुविधा, सिर्फ़ अपने-आप रिन्यू होने वाले बुनियादी प्लान के लिए उपलब्ध है.

  • खरीदारी में शामिल सभी आइटम के लिए, बार-बार होने वाली बिलिंग की अवधि एक ही होनी चाहिए. उदाहरण के लिए, सालाना बिलिंग वाली सदस्यता के साथ, हर महीने बिल किए जाने वाले ऐड-ऑन नहीं जोड़े जा सकते.

  • ऐड-ऑन खरीदने की सुविधा के साथ, किसी सदस्यता में ज़्यादा से ज़्यादा 50 आइटम हो सकते हैं.

  • यह सुविधा भारत (IN) और दक्षिण कोरिया (KR) में उपलब्ध नहीं है.

Play Billing Library के साथ इंटिग्रेट करना

इस सेक्शन में, Play Billing Library (पीबीएल) में, ऐड-ऑन के साथ सदस्यता लेने की सुविधा को इंटिग्रेट करने का तरीका बताया गया है. यह माना जाता है कि आपको पीबीएल के इंटिग्रेशन के शुरुआती चरणों के बारे में पता है. जैसे, अपने ऐप्लिकेशन में पीबीएल डिपेंडेंसी जोड़ना, BillingClient को शुरू करना, और Google Play से कनेक्ट करना. इस सेक्शन में, ऐड-ऑन के साथ सदस्यता लेने के लिए ज़रूरी पीबीएल इंटिग्रेशन के पहलुओं पर फ़ोकस किया गया है.

खरीदारी का फ़्लो लॉन्च करना

ऐड-ऑन के साथ सदस्यता के लिए खरीदारी का फ़्लो लॉन्च करने के लिए, यह तरीका अपनाएं:

  1. BillingClient.queryProductDetailsAsync तरीके का इस्तेमाल करके, सदस्यता वाले सभी आइटम फ़ेच करें.

  2. हर आइटम के लिए, ProductDetailsParams ऑब्जेक्ट सेट करें.

    ProductDetailsParams ऑब्जेक्ट से दिखाए गए आइटम में, ProductDetails और offerToken दोनों शामिल होते हैं. ProductDetails से सदस्यता वाले आइटम का पता चलता है, जबकि offerToken से किसी खास सदस्यता base plan या offer को चुनने का पता चलता है.

  3. BillingFlowParams.Builder.setProductDetailsParamsList तरीके का इस्तेमाल करके, आइटम की जानकारी दें. BillingFlowParams क्लास, खरीदारी के फ़्लो की जानकारी देती है.

    यहां दिए गए सैंपल में, एक से ज़्यादा आइटम के साथ सदस्यता खरीदने के लिए, बिलिंग फ़्लो लॉन्च करने का तरीका बताया गया है:

    Java

       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 एपीआई को कॉल करना होगा. साथ ही, यह पक्का करना होगा कि:

  • मौजूदा सदस्यता की खरीदारी के टोकन के साथ, हमेशा setOldPurchaseToken को कॉल करें.
  • किसी आइटम को अपग्रेड, डाउनग्रेड या क्रॉसग्रेड करने के लिए, SubscriptionProductReplacementParams.setReplacementMode को कॉल करें. इससे यह तय किया जा सकेगा कि खरीदे गए पुराने और नए आइटम के बीच प्लान में बदलाव कैसे किया जाए. अगर ऐसा नहीं है, तो इस पैरामीटर को सेट करने की ज़रूरत नहीं है.
  • अगर बेस आइटम में बदलाव नहीं किया जाता है, तो भी SubscriptionProductReplacementParams.setSubscriptionReplacementMode को कॉल करके, किसी खास आइटम को बदलने का तरीका लागू किया जा सकता है. इस मामले में लागू होने वाले नियमों के लिए, एक ही सदस्यता के लिए फिर से रजिस्टर करना या प्लान बदलना लेख पढ़ें.
  • नए ऐड-ऑन तुरंत लागू हो जाएंगे. साथ ही, आपसे इस्तेमाल के हिसाब से शुल्क लिया जाएगा, ताकि इसे रिन्यूअल की अगली तारीख को सदस्यता में शामिल बुनियादी आइटम के साथ अलाइन किया जा सके.
  • हटाए गए ऐड-ऑन, अपनी मौजूदा बिलिंग अवधि के खत्म होने पर बंद हो जाएंगे.
  • बिलिंग फ़्लो लॉन्च करते समय, आपको ऐड-ऑन वाली सदस्यता में मौजूद सभी चालू आइटम के बारे में बताना होगा. इनमें वे आइटम शामिल नहीं होने चाहिए जिन्हें हटाना है. साथ ही, आपको नए ऐड-ऑन के बारे में भी बताना होगा.

यहां दिए गए सैंपल में, ऐड-ऑन के साथ सदस्यता की मौजूदा खरीदारी में बदलाव करते समय, launchBillingFlow API को कॉल करने का तरीका बताया गया है:

Java

BillingClient billingClient = ;

int replacementMode =;

// ProductDetails obtained from queryProductDetailsAsync().
ProductDetailsParams productDetails1 = ...;
ProductDetailsParams productDetails2 = ...;
ProductDetailsParams productDetails3 = ...;

ArrayList newProductDetailsList = 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 का इस्तेमाल करें)
  • आइटम B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • आइटम A को बनाए रखा जाता है.
  • सदस्यों को आइटम A के लिए मौजूदा कीमत चुकानी होगी. साथ ही, उन्हें साइन अप के समय मिले शुरुआती पेमेंट का बचा हुआ हिस्सा भी चुकाना होगा.
A A (बेस आइटम), B हां (A के लिए KEEP_EXISTING का इस्तेमाल करें)
  • आइटम B को तुरंत जोड़ दिया जाता है और इसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.
  • आइटम A को बनाए रखा जाता है.
  • सदस्यों को आइटम A के लिए मौजूदा कीमत चुकानी होगी. साथ ही, उन्हें साइन अप के समय मिले शुरुआती पेमेंट का बचा हुआ हिस्सा भी चुकाना होगा.
A (बेस आइटम), B A (बेस आइटम), C हां (A के लिए KEEP_EXISTING का इस्तेमाल करें)
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • C को तुरंत जोड़ दिया जाता है और इसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.
  • आइटम A को बनाए रखा जाता है.
  • सदस्यों को आइटम A के लिए मौजूदा कीमत चुकानी होगी. साथ ही, उन्हें साइन अप के समय मिले शुरुआती पेमेंट का बचा हुआ हिस्सा भी चुकाना होगा.
A (बेस आइटम), B B (बेस आइटम) नहीं A को हटाने के लिए शेड्यूल किया गया है.
A (बेस आइटम), B C (बेस आइटम) हां
  • A -> C को बदलने की प्रोसेस, SubscriptionProductReplacementParams replacementMode पर निर्भर करती है
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
A (बेस आइटम), B C (बेस आइटम), B हां
  • A -> C के लिए, SubscriptionProductReplacementParams replacementMode पर निर्भर करता है.
  • आइटम B को पहले जैसा बनाए रखने के लिए, उसके बदलने के मोड को KEEP_EXISTING के तौर पर सेट करें. इसके अलावा, डिफ़ॉल्ट रूप से रिप्लेसमेंट मोड IMMEDIATE_WITHOUT_PRORATION होता है.
A (बेस आइटम), B C (बेस आइटम), D हां
  • A -> C के लिए, SubscriptionProductReplacementParams replacementMode पर निर्भर करता है.
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • D को तुरंत जोड़ दिया जाता है और उसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.
A (बेस आइटम), B A (बेस आइटम), C हां
  • A -> A और B -> C के लिए, बदलाव करने का तरीका SubscriptionProductReplacementParams replacementMode में दिए गए बदलाव करने के तरीके पर निर्भर करता है. यह तरीका, हर ProductDetailsParams में दिया गया होता है.
  • आइटम A में कोई बदलाव न करने के लिए, उसके बदलने का मोड KEEP_EXISTING के तौर पर सेट करें.
A (बेस आइटम), B, C D (बेस आइटम), B, C हां
  • A->D और B->B, C->C के लिए, बदलने का तरीका SubscriptionProductReplacementParams replacementMode में दिए गए बदलने के तरीके पर निर्भर करता है.ProductDetailsParams
  • आइटम B और C में कोई बदलाव न करने के लिए, उनके लिए बदलने का मोड KEEP_EXISTING के तौर पर सेट करें.

SubscriptionUpdateParams का इस्तेमाल करते समय

मौजूदा आइटम बदलाव किए गए आइटम क्या आपको बदलने वाले प्रॉडक्ट की जानकारी सेट करनी है? व्यवहार
A (बेस आइटम), B A (बेस आइटम) नहीं
  • आइटम B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • आइटम A का व्यवहार, बुनियादी प्लान की बुनियादी प्लान और ऑफ़र में हुए बदलाव सेटिंग पर निर्भर करता है.
  • प्रॉडक्ट A की कीमत को अपडेट करके नई कीमत कर दिया जाता है. साथ ही, उपयोगकर्ताओं को साइन अप के दौरान मिली शुरुआती कीमत का फ़ायदा नहीं मिलता. ऐसा इसलिए होता है, क्योंकि वे ऑफ़र की ज़रूरी शर्तों को पूरा नहीं करते.
A A (बेस आइटम), B नहीं
  • आइटम B को तुरंत जोड़ दिया जाता है और इसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.
  • आइटम A का व्यवहार, बुनियादी प्लान की बुनियादी प्लान और ऑफ़र में हुए बदलाव सेटिंग पर निर्भर करता है.
  • आइटम A की कीमत को अपडेट करके नई कीमत कर दिया जाता है. साथ ही, ऐसा हो सकता है कि उपयोगकर्ताओं को साइन अप के दौरान, ऑफ़र की ज़रूरी शर्तों के आधार पर मिली शुरुआती कीमत का फ़ायदा न मिले.
A (बेस आइटम), B A (बेस आइटम), C नहीं
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • C को तुरंत जोड़ दिया जाता है और इसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.
  • आइटम A का व्यवहार, बुनियादी प्लान की बुनियादी प्लान और ऑफ़र में हुए बदलाव सेटिंग पर निर्भर करता है.
A (बेस आइटम), B B (बेस आइटम) नहीं A को हटाने के लिए शेड्यूल किया गया है.
A (बेस आइटम), B C (बेस आइटम) हां
  • A -> C को बदलने की सुविधा, setSubscriptionReplacementMode पर निर्भर करती है. यह सुविधा PBL 8.1 में काम नहीं करती.
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
A (बेस आइटम), B C (बेस आइटम), B हां A -> C को बदलने की सुविधा, setSubscriptionReplacementMode पर निर्भर करती है. यह सुविधा PBL 8.1 में काम नहीं करती.
A (बेस आइटम), B C (बेस आइटम), D हां
  • A -> C को बदलने की सुविधा, setSubscriptionReplacementMode पर निर्भर करती है. यह सुविधा PBL 8.1 में काम नहीं करती.
  • B को कुछ समय बाद हटाने के लिए शेड्यूल किया गया है.
  • D को तुरंत जोड़ दिया जाता है और उसके लिए, अनुपात के हिसाब से शुल्क लिया जाता है.

रीयल-टाइम डेवलपर सूचनाएं

आरटीडीएन में, ऐड-ऑन के साथ सदस्यता खरीदने के लिए subscriptionId फ़ील्ड उपलब्ध नहीं है. इसमें एक से ज़्यादा आइटम के एनटाइटलमेंट शामिल होते हैं. इसके बजाय, खरीदारी की जानकारी पाने और उससे जुड़े आइटम के एनटाइटलमेंट देखने के लिए, Play Developer API का इस्तेमाल किया जा सकता है.

मौजूदा सदस्यों के लिए कीमत में बदलाव

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

पुरानी कीमत पर सदस्यता लेने वाले लोगों के ग्रुप को खत्म करना

लेगसी कोहॉर्ट को खत्म करने का असर, ऐड-ऑन वाली सदस्यता खरीदने पर भी पड़ता है. ये नियम लागू होते हैं:

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

    उदाहरण:

    • मान लें कि आपने ऐड-ऑन (आइटम A और B) के साथ सदस्यता ली है. यह हर महीने की 7 तारीख को रिन्यू होती है.
    • आइटम A की कीमत में बदलाव हो रहा है. यह 7 डॉलर से बढ़कर 10 डॉलर हो जाएगी. कीमत में बढ़ोतरी 7 जुलाई से लागू हो सकती है.
    • आइटम B के लिए, कीमत माइग्रेट करने की नई प्रोसेस 2 जून से शुरू हो रही है. इसमें कीमत 5 डॉलर से 6 डॉलर हो जाएगी. ऑप्ट-इन करने की कीमत में बढ़ोतरी, माइग्रेट करने के 37 दिन बाद से लागू होती है. इसलिए, आइटम B की कीमत में सबसे पहले 7 अगस्त को बढ़ोतरी होगी.

    इस स्थिति में, जब तक उपयोगकर्ता आइटम A के लिए कीमत में हुए बदलाव को स्वीकार नहीं करता (जब तक यह CONFIRMED स्थिति में है), तब तक इस सदस्यता की खरीदारी के लिए आइटम B की कीमत में हुए बदलाव को रजिस्टर नहीं किया जाता. साथ ही, SubscriptionPurchaseV2, आइटम B के लिए कीमत में हुए बदलाव की जानकारी नहीं दिखाता. जब उपयोगकर्ता, प्रॉडक्ट A की कीमत में हुए बदलाव की पुष्टि कर देता है, तब प्रॉडक्ट B की कीमत में हुए बदलाव की प्रोसेस शुरू होती है. उपयोगकर्ता को आइटम B के लिए, ऑप्ट-इन करने के साथ कीमत में हुई बढ़ोतरी की सूचना सिर्फ़ तब मिलती है, जब वह आइटम A के लिए ऑप्ट-इन करने के साथ कीमत में हुई बढ़ोतरी को स्वीकार कर लेता है.

  • Google Play के ईमेल में, उन सभी आइटम की सूची होती है जिनकी कीमत में एक ही दिन बढ़ोतरी या कमी हुई है.

ऐड-ऑन वाली सदस्यता रद्द करना

उपयोगकर्ता, Play के सदस्यता केंद्र पर जाकर, ऐड-ऑन के साथ सदस्यता की पूरी खरीदारी को रद्द कर सकते हैं. हालांकि, Google Play Developer API का इस्तेमाल करके, ऐड-ऑन के साथ सदस्यता की पूरी खरीदारी को सिर्फ़ डेवलपर रद्द कर सकता है.

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

ऐड-ऑन वाली सदस्यताओं को रद्द करना और उनका रिफ़ंड देना

सदस्यता रद्द करने और रिफ़ंड करने के बारे में यहां कुछ दिशा-निर्देश दिए गए हैं:

  • Play Console का इस्तेमाल करके, किसी खास ऑर्डर के लिए तय रकम का रिफ़ंड जारी करें. इससे सदस्यता का ऐक्सेस रद्द नहीं होगा.

  • सदस्यता का ऐक्सेस रद्द किए बिना, सदस्यता के लिए किए गए कुछ खास पेमेंट का पूरा रिफ़ंड देने के लिए, orders.refund को कॉल करें.

  • सभी सदस्यता आइटम का ऐक्सेस तुरंत रद्द करने के लिए, purchases.subscriptionsv2.revoke को कॉल करें. इस एपीआई की मदद से, ये काम किए जा सकते हैं:

    • सभी आइटम का ऐक्सेस रद्द कर दें और प्रोरेटेड रिफ़ंड दें.

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

    • सभी आइटम का ऐक्सेस रद्द करें और FullRefund उपलब्ध कराएं.

    • किसी आइटम का ऐक्सेस रद्द करें और उस आइटम के लिए पूरा रिफ़ंड दें.

ऐड-ऑन वाली सदस्यता में किसी आइटम का ऐक्सेस रद्द करना

ऐड-ऑन वाली सदस्यता में, पूरी खरीदारी को रद्द किए बिना सदस्यता के अलग-अलग आइटम का ऐक्सेस रद्द करने के लिए, purchases.subscriptionsv2.revoke को कॉल करें. साथ ही, RevocationContext में ItemBasedRefund फ़ील्ड सेट करें. ItemBasedRefund फ़ील्ड में, उस सामान की productId सेट की जा सकती है जिसका ऐक्सेस रद्द करना है और जिसके लिए रिफ़ंड देना है.

ItemBasedRefund फ़ील्ड को, अपने-आप रिन्यू होने वाली एक या उससे ज़्यादा सदस्यता वाले आइटम की खरीदारी के लिए सेट किया जा सकता है.

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

ज़रूरी बातें

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

पेमेंट अस्वीकार होने पर आइटम के इस्तेमाल की समयसीमा खत्म होना

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

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

वापस पाने की अवधि चुनना

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

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

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

ग्रेस पीरियड

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

खाते पर रोक लगी है

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

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

उदाहरण:

  • किसी उपयोगकर्ता के पास मेरा बुनियादी प्लान की सदस्यता है, जो हर महीने की पहली तारीख को रिन्यू होती है. इसके बाद, 15 अगस्त को वह ऐड-ऑन प्लान जोड़ता है, जिसके लिए उसे हर महीने 1,000 रुपये चुकाने होंगे. साथ ही, उसे सात दिनों के लिए बिना किसी शुल्क के आज़माने की सुविधा मिलती है. इनमें से किसी भी आइटम के लिए ग्रेस पीरियड सेट नहीं किया गया है. साथ ही, दोनों के लिए खाते पर रोक लगने की अवधि 30 दिन है.

  • उपयोगकर्ता से 22 अगस्त को 2.90 डॉलर (10*9/31) का शुल्क लिया जाता है. यह शुल्क, 31 अगस्त तक के लिए होता है. हालांकि, इससे पहले ही उपयोगकर्ता के पेमेंट के तरीके की समयसीमा खत्म हो जाती है. इसलिए, 22 अगस्त को सदस्यता के लिए पेमेंट अस्वीकार कर दिया जाता है.

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

पिछले उदाहरण में, सदस्यता को 22 अगस्त को खाते को होल्ड करने की स्थिति में रखा गया है.

  • अगर खाते को 25 अगस्त को वापस पा लिया जाता है, तो उपयोगकर्ता को बुनियादी प्लान और ऐड-ऑन प्लान, दोनों का ऐक्सेस उसी दिन मिल जाएगा. ऐसा इसलिए, क्योंकि रिन्यूअल की तारीख 1 सितंबर है. अगली बिलिंग की तारीख बदलकर 4 सितंबर कर दी गई है.

  • अगर 30 दिनों के बाद भी खाता वापस नहीं लाया जाता है, तो 21 सितंबर को सदस्यता रद्द कर दी जाएगी. इसके बाद, उपयोगकर्ता के पास ऐड-ऑन प्लान का ऐक्सेस नहीं रहेगा. हालांकि, उसके पास 30 सितंबर तक मेरे बेस प्लान का ऐक्सेस रहेगा.

इस उदाहरण में, आपको ऐड-ऑन के साथ सदस्यता में शामिल सभी आइटम के लिए, अपडेट किया गया expiryTime पाना होगा. ऐसा इसलिए, क्योंकि कुछ आइटम ग्रेस पीरियड और खाता होल्ड होने के बाद, फिर से एनटाइटलमेंट हासिल कर सकते हैं.

वित्तीय रिपोर्टिंग और समाधान

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

Play Console में डैशबोर्ड के लिए:

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

  • ऑर्डर मैनेजमेंट में, ऐड-ऑन के साथ सदस्यता खरीदने की जानकारी दिखती है. साथ ही, खरीदे गए आइटम की सूची भी दिखती है. ऑर्डर मैनेजमेंट की मदद से, किसी उपयोगकर्ता की खरीदारी को रद्द किया जा सकता है, उसका ऐक्सेस वापस लिया जा सकता है या उसे पूरा रिफ़ंड दिया जा सकता है.