सदस्यता का लाइफ़साइकल

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

अपने-आप रिन्यू होने वाली सदस्यताओं के लिए लाइफ़साइकल मैनेज करना

जब किसी उपयोगकर्ता की सदस्यता की स्थिति बदलती है, तो आपके बैकएंड सर्वर को SubscriptionNotification मैसेज

पहली इमेज. इनके लिए लाइफ़साइकल की स्थितियां और ट्रांज़िशन इवेंट अपने-आप रिन्यू होने वाली सदस्यता की खरीदारी.

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

खरीदारी टोकन, सदस्यता के लिए साइन अप करने के बाद से 60 दिनों तक मान्य है खत्म होने की तारीख. इस तारीख के बाद, खरीदारी टोकन का इस्तेमाल इन कामों के लिए नहीं किया जा सकेगा Google Play Developer API पर कॉल करें.

अपने-आप रिन्यू होने वाली नई सदस्यता की खरीदारी

जब कोई उपयोगकर्ता सदस्यता खरीदता है, तो SubscriptionNotification का मैसेज टाइप SUBSCRIPTION_PURCHASED, आपके आरटीडीएन क्लाइंट को भेजा जाता है. आपको इनाम मिलता है या नहीं या आप ऐप्लिकेशन के ज़रिए नई खरीदारी के लिए रजिस्टर करते हैं PurchasesUpdatedListener या मैन्युअल तरीके से खरीदारी की जानकारी फ़ेच करना onResume() विधि का उपयोग कर रहे हैं, तो आपको अपनी सुरक्षा बैकएंड. ऐसा करने के लिए, इन चरणों का अनुसरण करें:

  1. क्वेरी purchases.subscriptionsv2.get सदस्यता पाने के लिए एंडपॉइंट संसाधन जिसमें सदस्यता की हाल की स्थिति मौजूद हो.
  2. पक्का करें कि subscriptionState फ़ील्ड SUBSCRIPTION_STATE_ACTIVE है.
  3. खरीदारी की पुष्टि करें.
  4. उपयोगकर्ता को कॉन्टेंट का ऐक्सेस दें. इससे संबद्ध उपयोगकर्ता खाता इस्तेमाल, ExternalAccountIdentifiers अगर आइडेंटिफ़ायर को खरीदारी के समय सेट किया गया था, तो सदस्यता के संसाधन से ऑब्जेक्ट सबमिट करना CANNOT TRANSLATE setObfuscatedAccountId और setObfuscatedProfileId.

Play Billing Library में, सदस्यता स्वीकार करने का एक तरीका भी शामिल है, acknowledgePurchase() और सहमति की स्थिति की जांच करने का एक तरीका है. isAcknowledged(). हालांकि, हमारा सुझाव है कि आप बेहतर सुरक्षा.

नई खरीदारी के लिए सदस्यता का संसाधन, इन विकल्पों से मिलता-जुलता है उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  "startTime": "2022-04-22T18:39:58.270Z",
  "regionCode": "US",
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  "latestOrderId": "GPA.3333-4137-0319-36762",
  "acknowledgementState": "ACKNOWLEDGEMENT_STATE_PENDING", // need to acknowledge new purchases
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": next_renewal_date,
      "autoRenewingPlan": {
        "autoRenewEnabled": true
      }
    }
  ],
}

सदस्यता रिन्यू करना

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

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  "startTime": "2022-04-22T18:39:58.270Z",
  "regionCode": "US",
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  "latestOrderId": "GPA.3333-4137-0319-36762",
  "acknowledgementState": "ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED",
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": next_renewal_date,
      "autoRenewingPlan": {
        "autoRenewEnabled": true
      }
    }
  ]
}

आपको सदस्यता के रिन्यूअल को स्वीकार करने की ज़रूरत नहीं है.

ग्रेस पीरियड

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

कॉन्टेंट बनाने queryPurchasesAsync() का तरीका ग्रेस पीरियड में होने वाली खरीदारी को वापस लौटाना जारी रखेगा. अगर आपका ऐप्लिकेशन सिर्फ़ queryPurchasesAsync का इस्तेमाल करके पता लगाता है कि किसी व्यक्ति के पास तो आपके ऐप्लिकेशन को ग्रेस पीरियड अपने-आप मैनेज कर लेना चाहिए, क्योंकि Play Billing Library से, इन सदस्यताओं को 'चालू है' के तौर पर दिखाया जाता है.

अपने बैकएंड के साथ सदस्यता की स्थिति को सिंक करने से, आपको ज़्यादा जानकारी मिलती है पेमेंट अस्वीकार किए जाते हैं और आपको ज़्यादा जानकारी मिलती है, ताकि आपको अनचाहे तरीके से चर्न आउट. इसे सुनें SubscriptionNotification मैसेज उपयोगकर्ता के डिवाइस के अंदर जाने पर, इसकी सूचना SUBSCRIPTION_IN_GRACE_PERIOD टाइप के साथ दी जाएगी ग्रेस पीरियड. जब उपयोगकर्ता ग्रेस पीरियड में होता है, तब सदस्यता संसाधन autoRenewEnabled = true शामिल है. Google Play, उपयोगकर्ताओं की पहुंच बढ़ाने के लिए, एनटाइटलमेंट की वजह से, ग्रेस पीरियड खत्म होने से पहले expiryTime वैल्यू यह तब तक बना रहना चाहिए, जब तक उपयोगकर्ता सदस्यता को रद्द नहीं कर देता या ग्रेस पीरियड, अधिकतम लंबाई. इस अवधि के दौरान subscriptionState फ़ील्ड की वैल्यू यह है SUBSCRIPTION_STATE_IN_GRACE_PERIOD. सदस्यता का संसाधन ऐसा दिखता है नीचे दिया गया उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_IN_GRACE_PERIOD",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": timestamp_in_future,
      "autoRenewingPlan": {
        "autoRenewEnabled": true
      }
    }
  ],
}

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

जैसे ही उपयोगकर्ता अपने पेमेंट का तरीका ठीक करता है, वैसे ही सदस्यता रिन्यू हो जाती है रिन्यूअल की मूल तारीख होती है और आपके पास रिन्यूअल.

अगर उपयोगकर्ता ग्रेस पीरियड के दौरान पेमेंट का तरीका ठीक नहीं करता है, तो किसी सदस्यता के लिए, खाते पर रोक लग गई की स्थिति शुरू हो जाती है और उसके पास सदस्यता का ऐक्सेस नहीं रहता.

ग्रेस पीरियड का ऐक्सेस और रिकवरी

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

दूसरी इमेज. ग्रेस पीरियड शुरू होने वाली सदस्यता की टाइमलाइन पीरियड और इसके खत्म होने से पहले ही ठीक हो जाता है.

इन बातों को याद रखना ज़रूरी है:

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

साइलेंट ग्रेस पीरियड

आपके पास 0 दिन का ग्रेस पीरियड सेट करने का विकल्प है. हालांकि, Play को कम से कम एक दिन का इंतज़ार करना होगा पक्का करें कि पेमेंट की कोशिशों के लिए काफ़ी समय हो. इस साइलेंट ग्रेस पीरियड में आपको पेमेंट प्रोसेस करने के लिए सुरक्षा जाल. इस 24-घंटे के दौरान सदस्यता तब तक बनी रहती है, ACTIVE राज्य.

सदस्यता की स्थिति में होने वाले बदलावों के साथ जुड़े रहने का सबसे अच्छा तरीका यह है कि डेवलपर से जुड़ी रीयल-टाइम सूचनाओं (आरटीडीएन) को सुनें और उन पर प्रतिक्रिया दें. कॉल करें purchases.subscriptionsv2.get() ज़्यादा सटीक जानकारी पाने के लिए, कृपया समयसीमा खत्म होने के समय के बजाय आरटीडीएन पर सेट करें. सदस्यता की स्थिति.

24 घंटे वाला साइलेंट ग्रेस पीरियड खत्म होने के बाद, सदस्यता की स्थिति के हिसाब से अवधि के लिए, आपको नीचे दी गई सूचनाओं में से कोई एक सूचना मिलनी चाहिए:

  • SUBSCRIPTION_ON_HOLD (अगर चालू है)
  • SUBSCRIPTION_CANCELED (अगर रद्द किया गया है)
  • SUBSCRIPTION_EXPIRED (अगर समयसीमा खत्म हो गई है)
  • SUBSCRIPTION_RENEWED (अगर रिन्यू किया गया)

आप इस अवधि के बाद किसी भी समय subscriptionV2.get() तरीके को कॉल कर सकते हैं: सदस्यता की मौजूदा स्थिति जानने के लिए, 24 घंटे का साइलेंट ग्रेस पीरियड.

खाते पर रोक लगने की अवधि

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

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

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

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

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

रीयल-टाइम डेवलपर के साथ सूचनाएं आती हैं, तो आपको SubscriptionNotification मैसेज साथ ही, जब कोई सदस्यता खाते पर रोक लग जाएगी, तो टाइप SUBSCRIPTION_ON_HOLD हो जाएगा. कॉल करें यह purchases.subscriptionsv2.get नई सदस्यता वापस पाने का तरीका जानने के लिए, अपने सुरक्षित बैकएंड सर्वर का इस्तेमाल करें जानकारी. खाते पर रोक लगाने के दौरान, सदस्यता का expiryTime फ़ील्ड चुनें संसाधन पिछले टाइमस्टैंप पर सेट है और subscriptionState फ़ील्ड SUBSCRIPTION_STATE_ON_HOLD:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ON_HOLD",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": timestamp_in_past,
      ...
    }
  ],
}

ऐक्सेस वापस पाने के लिए, उपयोगकर्ताओं को पेमेंट का तरीका ठीक करना होगा. Play, उपयोगकर्ताओं को यह जानकारी देता है: उसके खाते पर रोक लग गई है. साथ ही, आपको उसे समस्या को ठीक करने के लिए बढ़ावा देना चाहिए पैसे चुकाने का तरीका बदल दिया जाएगा.

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

किस्तों में पेमेंट करने की सुविधा के लिए, पेमेंट अस्वीकार हो सकता है और उसकी रकम वापस ली जा सकती है पेमेंट की कोशिश की जा सकती है.

रिकवरी के बाद, Play Billing Library के ज़रिए सदस्यता को फिर से इस ज़रिए लौटाया जा सकता है: queryPurchasesAsync() तरीका. अगर इस तरीके का इस्तेमाल यह तय करने के लिए किया जाता है कि अगर किसी व्यक्ति के पास सदस्यता का एनटाइटलमेंट है, तो आपका ऐप्लिकेशन अपने-आप खाते पर रोक लगने के बाद वापस ली गई सदस्यता.

यह सुनने के लिए SubscriptionNotification मैसेज SUBSCRIPTION_RECOVERED टाइप के साथ सूचना मिलेगी, ताकि सदस्यता होने पर आपको सूचना दी जा सके और उपयोगकर्ता को फिर से ऐक्सेस मिलना चाहिए. अगर सदस्यता के लिए क्वेरी की जाती है यह सूचना मिलने के बाद, expiryTime फ़ील्ड को टाइमस्टैंप पर सेट कर दिया जाता है और subscriptionState फ़ील्ड को SUBSCRIPTION_STATE_ACTIVE फिर से है:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": next_renewal_date,
      ...
    }
  ],
}

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

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_CANCELED",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": timestamp_in_past,
      ...
    }
  ],
}

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

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

खाते पर रोक लगना और उसे वापस पाना

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

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

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

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

इन बातों को याद रखना ज़रूरी है:

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

समय सीमा खत्म होना

सदस्यता खत्म होने के बाद, उपयोगकर्ता सदस्यता का ऐक्सेस खो देगा. ऐप्लिकेशन SUBSCRIPTION_EXPIRED टाइप वाला SubscriptionNotification मैसेज भेजा गया विकल्प मौजूद हैं. यह सूचना मिलने पर, Google Play डेवलपर से क्वेरी करें नई सदस्यता पाने के लिए एपीआई संसाधन. subscriptionState के SUBSCRIPTION_STATE_EXPIRED होने की पुष्टि करने के बाद, एनटाइटलमेंट को हटाएं और खरीदारी की स्थिति को बैकएंड. सदस्यता का संसाधन, नीचे दिए गए उदाहरण की तरह दिखता है:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_EXPIRED",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": expiration_time_in_past,
      ...
    }
  ],
}

रद्द की गई सदस्यताएं

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

बिना किस्तों वाली और अपने-आप रिन्यू होने वाली सदस्यता को रद्द करने से SUBSCRIPTION_CANCELED सूचना. टास्क कब शुरू होगा तो आपको यह सूचना, सदस्यता, संसाधन Google Play Developer API से मिले नतीजे में subscriptionState फ़ील्ड है SUBSCRIPTION_STATE_CANCELED पर सेट है और expiryTime फ़ील्ड में वह तारीख जब उपयोगकर्ता अपनी सदस्यता को ऐक्सेस नहीं कर पाएगा. अगर वह तारीख बंद है, तो उपयोगकर्ता के पास एनटाइटलमेंट तुरंत बंद हो जाना चाहिए. ऐसा हो सकता है, उदाहरण के लिए, अगर कोई उपयोगकर्ता खाते से सदस्यता रद्द करता है पेमेंट अस्वीकार होने की वजह से कुछ समय के लिए रोक दिया गया है.

रद्द की गई खरीदारी के लिए सदस्यता का संसाधन, नीचे दिए गए विकल्पों जैसा दिखता है उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_CANCELED",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": expiration_time,
      ...
    }
  ],
}

किस्तों में पेमेंट करने की सुविधा वाली सदस्यताओं के लिए, SUBSCRIPTION_CANCELLATION_SCHEDULED पेमेंट की प्रोसेस जारी रहने पर, उपयोगकर्ता की ओर से सदस्यता रद्द करने पर सूचना भेजी जाती है सदस्यता की अवधि के लिए लागू. रद्द करना बाकी है और इस तारीख से लागू होगा वह मौजूदा सदस्यता की अवधि के खत्म होने पर, सदस्यता के लिए ज़रूरी शर्तें पूरी करता है. जब आपको यह सूचना मिलती है, Google Play Developer API से मिले सदस्यता के संसाधन में SubscriptionState फ़ील्ड SUBSCRIPTION_STATE_ACTIVE पर सेट है, क्योंकि सदस्यता की अवधि खत्म होने तक, किस्त की सदस्यता चालू रहेगी. हालांकि, इसमें रद्द करने का वह ऑब्जेक्ट खाली है जिसे मंज़ूरी मिलना बाकी है. SUBSCRIPTION_CANCELED सूचना भेजी जाती है. इसके बाद, प्लान की अवधि खत्म होने पर आपको SUBSCRIPTION_EXPIRED देने होंगे.

किस्तों में सदस्यता की खरीदारी के लिए, ऐसा सदस्यता संसाधन जो नीचे दिए गए उदाहरण की तरह, 'रद्द किया जाना' प्रोसेस को मंज़ूरी मिलना बाकी है:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  ...
  "lineItems": [
    {
      "productId": "sub_plan01",
      "expiryTime": expiration_time,
      "autoRenewingPlan": {
        "autoRenewEnabled": true,
        "recurringPrice": {
          "currencyCode": "USD",
          "units": "1",
          "nanos": 990000000
        },
        "installmentDetails": {
          "initialCommittedPaymentsCount": 6,
          "remainingCommittedPaymentsCount": 5,
          "pendingCancellation": {}
      ...
        }
      }
    }
  ],
}

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

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

सदस्यता रद्द करना

किसी सदस्यता को कई वजहों से रद्द किया जा सकता है. इनमें आपका बैकएंड भी शामिल है इसका इस्तेमाल करके सदस्यता को रद्द करना purchases.subscriptionsv2.revoke या उसका शुल्क वापस लिया जा रहा हो. ऐसी स्थिति में, उपयोगकर्ता की एनटाइटलमेंट तुरंत लागू हो जाएगा. SubscriptionNotification मैसेज, जिसमें यह लिखा हो ऐसा होने पर SUBSCRIPTION_REVOKED भेजा जाता है. आपको यह मैसेज मिलने पर सूचना, सदस्यता संसाधन Google Play Developer API से मिले नतीजे में subscriptionState फ़ील्ड है SUBSCRIPTION_STATE_EXPIRED पर सेट किया गया.

निरस्त की गई खरीदारी के लिए सदस्यता का संसाधन, नीचे दिए गए विकल्पों जैसा दिखता है उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_EXPIRED",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": expiration_time,
      ...
    }
  ]
}

स्थगित सदस्यताएं

आप किसी उपयोगकर्ता की सदस्यता की अवधि बढ़ाने के अधिकार है. उदाहरण के लिए, हो सकता है कि आप उपयोगकर्ताओं को प्रमोशन, जैसे कि फ़िल्म खरीदने के लिए एक हफ़्ता मुफ़्त में देना या बिना किसी शुल्क के और लोगों की भलाई के लिए इस्तेमाल करना चाहिए. Google आपके यूआरएल पैरामीटर को कैसे इस्तेमाल करेगा, यह तय करने के लिए purchases.subscriptions.defer Play Developer API से इस तरह की अगली बिलिंग तारीख आगे बढ़ाने के लिए, अपने-आप रिन्यू होने वाली सदस्यता. ऐसा करने पर, SubscriptionNotification SUBSCRIPTION_DEFERRED टाइप वाला मैसेज भेजा गया. छूट की अवधि के दौरान, उपयोगकर्ता ने आपके कॉन्टेंट की पूरी ऐक्सेस के साथ सदस्यता ली है, लेकिन उससे कोई शुल्क नहीं लिया जाता. कॉन्टेंट बनाने सदस्यता रिन्यू होने की तारीख को नई तारीख के तौर पर अपडेट किया गया है.

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

स्थगित सदस्यता के लिए सदस्यता का संसाधन, नीचे दिया गया उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": timestamp_in_future,
      ...
    }
  ],
}

रोकी गई सदस्यताएं

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

सदस्यता बार-बार होने वाली हर हफ़्ते हर महीने तीन महीने छह महीने सालाना
रोकने की उपलब्ध अवधि* 1 हफ़्ता
2 हफ़्ते
3 हफ़्ते
4 हफ़्ते
1 महीना
2 महीने
3 महीने
1 महीना
2 महीने
3 महीने
1 महीना
2 महीने
3 महीने
लागू नहीं
*किसी भी समय बदलाव किया जा सकता है.

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

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

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

किसी उपयोगकर्ता की सदस्यता को रोकने पर, Play Billing लाइब्रेरी को वापस नहीं लाया जा सकता सदस्यता के लिए, queryPurchasesAsync() तरीका. अगर सदस्यता फिर से शुरू की जाती है, तो queryPurchasesAsync() तरीका इसे फिर से लौटाता है.

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

एक SubscriptionNotification मैसेज जब आपका उपयोगकर्ता इन शर्तों को शुरू करता है, तो SUBSCRIPTION_PAUSE_SCHEDULE_CHANGED टाइप भेजा जाता है उन्हें कुछ समय के लिए रोका जा सकता है. इस दौरान, उपयोगकर्ता को और सदस्यता न लेने पर, संसाधन autoRenewEnabled = true शामिल है. subscriptionState फ़ील्ड की वैल्यू अभी SUBSCRIPTION_STATE_ACTIVE है.

SUBSCRIPTION_PAUSED टाइप वाला SubscriptionNotification मैसेज तब भेजा जाता है, जब रोकने की सुविधा लागू हो जाएगी. ऐसा होने पर, उपयोगकर्ता अपनी है और सदस्यता के संसाधन में autoRenewEnabled = true, और subscriptionState फ़ील्ड को SUBSCRIPTION_STATE_PAUSED पर सेट किया गया हो. आप सदस्यता के फिर से रिन्यू होने की अनुमानित तारीख PausedStateContext ऑब्जेक्ट है.

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

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

फिर से सदस्यता लें

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

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

बटन पर हमेशा फिर से सदस्यता लें का लेबल दिखता है. हालांकि, इसकी सुविधाओं पर निर्भर करता है कि कीमतें तय करें.

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

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

समयसीमा खत्म होने से पहले डेटा वापस लाएं

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

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

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": next_renewal_date
      ...
    }
  ],
}

समयसीमा खत्म होने के बाद, फिर से सदस्यता लें

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

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

अपग्रेड करना, डाउनग्रेड करना, और फिर से सदस्यता लेना

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

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

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

अगर उपयोगकर्ता अपग्रेड, डाउनग्रेड या फिर से सदस्यता खरीद लेता है, तो यह एक नई खरीदारी है, जिसे आपको स्वीकार करना होगा. सुझाया गया तरीका इसके लिए, Google Play Developer API का इस्तेमाल करें. सदस्यता का संसाधन, नीचे दिए गए उदाहरण की तरह दिखता है:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  ...
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  "linkedPurchaseToken": old_purchase_token,
  ...
  "lineItems": [
    {
      "productId": "sub_variant_plan01",
      "expiryTime": next_renewal_date,
      "autoRenewingPlan": {
        "autoRenewEnabled": true
      }
    }
  ],
}

कीमत में बदलाव

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

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

ऑप्ट-इन की सुविधा की कीमत में बदलाव होने की पुष्टि करने वाले उपयोगकर्ता को मैनेज करना

जब कोई उपयोगकर्ता आपकी सदस्यता की कीमत में हुई बढ़ोतरी को स्वीकार करता है, तो आपको SubscriptionNotification मैसेज SUBSCRIPTION_PRICE_CHANGED_CONFIRMED टाइप के साथ. ऑप्ट-आउट कीमत के साथ घटने या सदस्यता की कीमत बढ़ने पर, आपको SUBSCRIPTION_RENEWED टाइप वाला SubscriptionNotification मैसेज. इसे आज़माएं रिन्यूअल की तरह ही अन्य सूचनाएं मिलती हैं.

उन मामलों को हैंडल करना जहां ऑप्ट-इन करने पर कीमत लागू करने की बात स्वीकार नहीं की गई है

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

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

प्रीपेड प्लान के लिए लाइफ़साइकल मैनेज करना

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

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

आठवीं इमेज. इनके लिए लाइफ़साइकल की स्थितियां और ट्रांज़िशन इवेंट सदस्यता की खरीदारी.

एक SubscriptionNotification मैसेज आपके RTDN क्लाइंट को SUBSCRIPTION_PURCHASED टाइप के साथ भेजा जाता है प्रीपेड प्लान की सदस्यता खरीदी जाती है. इसमें हर टॉप-अप शामिल होता है. कॉल करें purchases.subscriptionsv2.get का इस्तेमाल करके, मौजूदा प्रीपेड प्लान की सदस्यता की स्थिति देखी जा सकती है.

टॉप-अप की गई खरीदारी के लिए, एक नया खरीदारी टोकन जारी किया जाता है और आपको नई खरीदारी का टोकन, linkedPurchaseToken फ़ील्ड में सदस्यता खरीदने की स्थिति. खरीदारी टोकन, सदस्यता के लिए मान्य है समयसीमा खत्म होने के 60 दिन बाद तक साइनअप करें. इस तारीख के बाद, खरीदारी टोकन इस ईमेल पते का इस्तेमाल, अब Google Play Developer API को कॉल करने के लिए नहीं किया जा सकेगा.

प्रीपेड प्लान खरीदने के लिए सदस्यता का संसाधन, नीचे दिया गया उदाहरण:

{
  "kind": "androidpublisher#subscriptionPurchaseV2",
  "startTime": "2022-04-22T18:39:58.270Z",
  "regionCode": "US",
  "subscriptionState": "SUBSCRIPTION_STATE_ACTIVE",
  "latestOrderId": "GPA.3333-4137-0319-36762",
  "acknowledgementState": "ACKNOWLEDGEMENT_STATE_ACKNOWLEDGED",
  "lineItems": [
    {
      "productId": "prepaid_plan01",
      "expiryTime": expiry_date,
      "prepaidPlan": {
        "allowExtendAfterTime": timestamp_after_which_topups_are_allowed
      }
    }
  ]
}

expiryTime फ़ील्ड में जाकर देखा जा सकता है कि एनटाइटलमेंट कब खत्म होगा. टॉप-अप खरीदारी के समय, एनटाइटलमेंट के समय में बढ़ोतरी होती है. इसका मतलब है कि अगर उपयोगकर्ता अपने मूल एनटाइटलमेंट के खत्म होने से पहले, टॉप अप करता है. साथ ही, नया समय जोड़ा जाता है भी शामिल कर सकते हैं.

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

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