सदस्यताएं और एक बार में की जाने वाली खरीदारी को मैनेज करें

आपको कारोबार के रोज़मर्रा के काम के तहत, सदस्यताओं या एक बार की जाने वाली खरीदारी को मैनेज करने से जुड़ी कार्रवाइयां करनी पड़ सकती हैं. उदाहरण के लिए, आपकी ग्राहक सेवा टीम को उपयोगकर्ताओं के लिए पूरा या कुछ हिस्सा रिफ़ंड करना पड़ सकता है. इसके अलावा, आपको कुछ मामलों में एनटाइटलमेंट रद्द करने पड़ सकते हैं. Play Console से ऑर्डर मैनेज किए जा सकते हैं. अगर आपको अपने सिस्टम से ऑर्डर मैनेज करने हैं, तो Google Play Developer API का इस्तेमाल करके ऐसा किया जा सकता है.

सदस्यताएं रद्द करें

सदस्यता रद्द करने का अनुरोध, उपयोगकर्ता या डेवलपर कर सकते हैं.

उपयोगकर्ता की ओर से रद्द की गई सदस्यताएं

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

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

डेवलपर की ओर से रद्द किए गए

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

इस तरीके से, cancellationType अनुरोध के मुख्य हिस्से के पैरामीटर में, इन तरह के रद्द करने के अनुरोध किए जा सकते हैं:

  • USER_REQUESTED_STOP_RENEWALS: इससे सदस्यता रद्द हो जाती है. ऐसा तब होता है, जब उपयोगकर्ता Play Store से सदस्यता रद्द करते हैं. किस्तों में किए जाने वाले पेमेंट, मौजूदा कमिटमेंट पीरियड के बाकी समय तक जारी रहेंगे. Play Store से, उपयोगकर्ता सदस्यता की समयसीमा खत्म होने से पहले उसे वापस पा सकते हैं. इसके अलावा, अगर बुनियादी प्लान के लिए यह सुविधा चालू है, तो वे सदस्यता की समयसीमा खत्म होने के बाद फिर से सदस्यता ले सकते हैं.

  • DEVELOPER_REQUESTED_STOP_PAYMENTS: इससे सदस्यता रद्द हो जाती है और आगे होने वाले सभी पेमेंट रुक जाते हैं. उपयोगकर्ता, Play Store से सदस्यता को वापस नहीं ला सकते या फिर से उसकी सदस्यता नहीं ले सकते. हालांकि, आपके पास उन्हें अपने ऐप्लिकेशन में फिर से सदस्यता लेने की सुविधा देने का विकल्प होता है.

को चुना जाता है.

उपयोगकर्ताओं को ऐसी सदस्यताएं वापस पाने की सुविधा देना जिनकी समयसीमा खत्म नहीं हुई है

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

यह बताने के लिए कि कोई उपयोगकर्ता सदस्यता रद्द करने की सुविधा को वापस ला सकता है, purchases.subscriptions.cancel एपीआई को POST अनुरोध जारी करें. साथ ही, cancellationType अनुरोध पैरामीटर को USER_REQUESTED_STOP_RENEWALS वैल्यू पर सेट करें.

उदाहरण:

  • सदस्यता 1a2b3c4d5e6f7g8h9i0j का परचेज़ टोकन
  • ऐप्लिकेशन पैकेज का नाम com.your.app
  • सदस्यता आईडी your-subscription-product

एचटीटीपी पोस्ट अनुरोध:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptions/your-subscription-product/tokens/1a2b3c4d5e6f7g8h9i0j:cancel

अनुरोध का मुख्य हिस्सा:

{
  "cancellationType": "USER_REQUESTED_STOP_RENEWALS"
}

उपयोगकर्ताओं को खत्म हो चुकी सदस्यताएं फिर से खरीदने की सुविधा देना

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

उपयोगकर्ताओं को सिर्फ़ अपने ऐप्लिकेशन में फिर से सदस्यता लेने की अनुमति दें

अगर आपने cancellationType पैरामीटर को DEVELOPER_REQUESTED_STOP_PAYMENTS पर सेट किया है या cancellationType पैरामीटर को सेट नहीं किया है, तो लोग Play के सदस्यता केंद्र से अपनी सदस्यता को वापस नहीं ला सकते. हालांकि, अगर उपयोगकर्ताओं को सदस्यता फिर से लेनी है, तो वे आपके ऐप्लिकेशन के ज़रिए ऐसा कर सकते हैं.

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

बिलिंग को कुछ समय के लिए रोकना

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

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

डिफ़र्ड बिलिंग का इस्तेमाल कैसे किया जा सकता है, इसके कुछ उदाहरण यहां दिए गए हैं:

  • उपयोगकर्ताओं को खास ऑफ़र के तौर पर बिना किसी शुल्क के ऐक्सेस दें. जैसे, मौजूदा सदस्यों को सुझाव/राय देने या शिकायत करने वाले सर्वे को भरने के लिए, एक हफ़्ते तक बिना किसी शुल्क के ऐक्सेस दें.
  • ग्राहक सेवा के तौर पर, खरीदारों को बिना किसी शुल्क के ऐक्सेस दें. उदाहरण के लिए, अगर आपकी सेवा लंबे समय तक बंद रही हो और इससे खरीदारों को आपकी सेवा इस्तेमाल करने में समस्या आई हो, तो उन्हें बिना किसी शुल्क के ऐक्सेस दें.

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

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

उदाहरण:

  1. FitnessGoals स्ट्रीमिंग सेवा को फ़रवरी में नियमित रूप से कसरत करने के लिए लोगों को बढ़ावा देने के लिए, एक प्रमोशन चलाना है.

  2. उन्होंने फ़ैसला किया कि वे फ़रवरी के महीने में कम से कम 10 बार FitnessGoals का इस्तेमाल करने वाले किसी भी सदस्य को एक महीने की अतिरिक्त सेवा देंगे.

  3. ये चैलेंज के नतीजों को ट्रैक करते हैं. साथ ही, 1 मार्च को, subscriptionsv2.defer तरीके को कॉल करते हैं. ऐसा उन उपयोगकर्ताओं की हर चालू सदस्यता की खरीदारी के लिए किया जाता है जिन्होंने फ़रवरी में चैलेंज पूरा किया था.

  4. इन उपयोगकर्ताओं को, बिना किसी शुल्क के एक महीने के लिए नियमित तौर पर कसरत के वीडियो देखने का फ़ायदा मिलता है. साथ ही, ये उपयोगकर्ता अपने सभी दोस्तों को बताते हैं कि FitnessGoals उन्हें सेहतमंद रहने में कैसे मदद करता है!

रिफ़ंड जारी करना और सदस्यता रद्द करना

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

ऑर्डर आईडी के हिसाब से, किसी ऑर्डर का पूरा रिफ़ंड देना

orders.refund API की मदद से, खरीदारी के तीन साल के अंदर किसी भी ऑर्डर के लिए पूरा रिफ़ंड जारी किया जा सकता है. orders.refund तरीके को एक पैरामीटर मिलता है, जिससे यह पता चलता है कि रिफ़ंड देने के साथ-साथ ऐक्सेस रद्द करना है या नहीं.

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

उदाहरण:

  1. नए वर्ल्ड कप की शुरुआत का जश्न मनाने के लिए, ई-स्पोर्ट्स ऐप्लिकेशन Football-Not-Soccer ने सभी उपयोगकर्ताओं के लिए मुफ़्त वर्चुअल जर्सी का रैफ़ल करने का फ़ैसला किया है. ये जर्सी उन उपयोगकर्ताओं को मिलेंगी जिन्होंने पहले 24 घंटों में टीम की नई किट खरीदी हैं.

  2. Football-Not-Soccer ने orders.refund एपीआई का इस्तेमाल किया है. हालांकि, इसने रेवोक पैरामीटर पास नहीं किया है, ताकि विजेताओं को जर्सी की खरीदारी का रिफ़ंड दिया जा सके.

खरीदारी के टोकन के ज़रिए सदस्यता रद्द करना और उसका रिफ़ंड देना

कुछ मामलों में, आपको किसी व्यक्ति की सदस्यता का ऐक्सेस रद्द करना पड़ सकता है. साथ ही, उसे रिफ़ंड देना पड़ सकता है. Play Billing, सदस्यता रद्द करने के कई तरीके उपलब्ध कराता है. इनमें subscriptionsv2.revoke API के ज़रिए, पूरा रिफ़ंड और आनुपातिक रिफ़ंड शामिल हैं. इस एंडपॉइंट की मदद से, revocationContext की वैल्यू सेट की जा सकती है. इससे यह तय किया जाता है कि रिफ़ंड का हिसाब कैसे लगाया जाएगा.

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

उदाहरण:

  • खरीदारी के टोकन 1a2b3c4d5e6f7g8h9i0j का इस्तेमाल करके खरीदारी करना
  • com.your.app पैकेज के नाम वाला ऐप्लिकेशन
  • किराये के बचे हुए हिस्से का रिफ़ंड देने का मकसद

एचटीटीपी पोस्ट अनुरोध:

https://androidpublisher.googleapis.com/androidpublisher/v3/applications/com.your.app/purchases/subscriptionsv2/tokens/1a2b3c4d5e6f7g8h9i0j:revoke

अनुरोध का मुख्य हिस्सा:

{
  "revocationContext": {
    "proratedRefund": {}
  }
}

पूरा रिफ़ंड

अगर आपको सदस्यता खत्म करनी है और बिलिंग की मौजूदा अवधि का पूरा रिफ़ंड देना है, तो पूरा रिफ़ंड जारी करें. purchases.subscriptionsv2.revoke फ़ंक्शन का इस्तेमाल करें और "fullRefund": {} को रिफ़ंड टाइप के तौर पर सेट करें.

उदाहरण:

  1. मारिया ने SuperMovies streaming के 30 दिन वाले मासिक प्लान की सदस्यता ली है. यह सदस्यता अपने-आप रिन्यू हो जाती है. मारिया को कुछ तकनीकी समस्याएं आ रही हैं. इस वजह से, वह कॉन्टेंट ऐक्सेस नहीं कर पा रही है. बिलिंग साइकल के तीसरे दिन, वह ग्राहक सेवा टीम से संपर्क करती है. वह बताती है कि उसे सदस्यता का ऐक्सेस कभी नहीं मिला.

  2. ग्राहक सेवा टीम, मारिया की सदस्यता की खरीदारी की जानकारी अपने सिस्टम में ढूंढती है. इसके बाद, purchases.subscriptionsv2.revoke को कॉल करके, पूरे रिफ़ंड का अनुरोध करती है.

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

समय के हिसाब से रिफ़ंड

अगर आपको किसी सदस्यता को खत्म करना है और एनटाइटलमेंट की बची हुई अवधि के लिए कुछ हिस्सा रिफ़ंड करना है, तो सदस्यता के बचे हुए दिनों के हिसाब से रिफ़ंड जारी करें. purchases.subscriptionsv2.revoke फ़ंक्शन का इस्तेमाल करें और "proratedRefund": {} को रिफ़ंड टाइप के तौर पर सेट करें.

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

उदाहरण:

  1. मारिया ने SuperMovies streaming के 30 दिन वाले मासिक प्लान की सदस्यता ली है. यह सदस्यता अपने-आप रिन्यू हो जाती है. वह कुछ समय से इस सेवा का इस्तेमाल कर रही है. अंजलि, बिलिंग साइकल के 15वें दिन ग्राहक सेवा से संपर्क करती है. वह बताती है कि वह विदेश जा रही है और अगले दिन से इस सेवा का इस्तेमाल नहीं कर पाएगी.

  2. ग्राहक सेवा टीम, अपने सिस्टम में मारिया की सदस्यता की खरीदारी की जानकारी ढूंढती है. इसके बाद, वह purchases.subscriptionsv2.revoke को कॉल करके, सदस्यता के बचे हुए समय के लिए रिफ़ंड का अनुरोध करती है.

  3. कस्टमर सर्विस से मारिया को पता चलता है कि उसे सदस्यता के शुल्क का करीब 50% रिफ़ंड मिलेगा. साथ ही, उसे यह भी बताया जाता है कि सेवा को ऐक्सेस करने की सुविधा तुरंत बंद कर दी जाएगी.