सामग्री पर जाएँ
App Store Refund Management

Apple Refund Request Management: मोबाइल ऐप डेवलपर्स के लिए एक गाइड

Apple रिफंड रिक्वेस्ट मैनेजमेंट के लिए एक व्यावहारिक गाइड, जो मोबाइल ऐप डेवलपर्स को रिफंड हैंडलिंग और App Store की आवश्यकताओं को समझने में मदद करता है।

5 min read
Apple Refund Request Management: मोबाइल ऐप डेवलपर्स के लिए एक गाइड

दस iOS टीमों से पूछें कि वे Apple रिफंड कैसे मैनेज करती हैं, और नौ एक ही बात बताएंगी। महीने की पांच तारीख के आसपास App Store Connect से निकाली गई एक CSV। एक बार पढ़ी, आह भरी, बंद कर दी।

यह मैनेजमेंट नहीं है। यह एक पोस्टमॉर्टम है।

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

मुख्य बातें

  • Apple रिफंड रिक्वेस्ट मैनेजमेंट एक सर्वर का काम है। App Store Connect में कहीं भी कोई रिफंड क्यू नहीं है।

  • Apple रिफंड पॉलिसी ग्राहकों को reportaproblem.apple.com पर एक सेल्फ-सर्व रास्ता देती है। आपको इसके बारे में तभी पता चलता है जब आपने पूछा हो।

  • चार नोटिफिकेशन टाइप पूरे लाइफसाइकल को कवर करते हैं: CONSUMPTION_REQUEST, REFUND, REFUND_DECLINED, REFUND_REVERSED।

  • 12 घंटे की रिप्लाई विंडो ही एकमात्र जगह है जहां आपका इनपुट नतीजे को बदलता है। बाकी सब सिर्फ सफाई है।

  • ज्यादातर टीमें REFUND_REVERSED को मिस कर देती हैं। यह एक्सेस वापस दे देता है, और इसे भूल जाना एक ईमानदार ग्राहक को सज़ा देने जैसा है।

Apple रिफंड रिक्वेस्ट मैनेजमेंट का असल मतलब क्या है

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

The Apple रिफंड पॉलिसी सुनने में ऐसा लगता है जैसे इसमें आपकी भी भूमिका होनी चाहिए। लेकिन ज्यादातर ऐसा नहीं होता। Apple की Media Services Terms कहती हैं कि सभी लेन-देन अंतिम होते हैं, इसलिए हर रिफंड एक अपवाद है जिसे Apple देने का चुनाव करता है। कोई अप्रूव बटन नहीं। कोई ग्राहक ईमेल पता नहीं। आप यह भी नहीं देख सकते कि किसने फाइल किया।

आप बस इतना कर सकते हैं कि जब तक Apple फैसला ले रहा है, तब तक सबूत भेजें। यही वह लीवर है जिसकी वजह से यह पूरा अनुशासन मौजूद है।

डेवलपर्स के लिए Apple रिफंड रिक्वेस्ट प्रोसेस, शुरू से अंत तक

यहां पूरा रास्ता क्रम में दिया गया है, ग्राहक की तरफ से लेकर आपकी तरफ तक।

  1. एक ग्राहक reportaproblem.apple.com खोलता है, साइन इन करता है, पिछले 90 दिनों की एक खरीदारी ढूंढता है, एक कारण चुनता है, सबमिट करता है। iOS 15 के बाद से आप StoreKit की रिफंड रिक्वेस्ट शीट की मदद से वही फॉर्म अपने ऐप के भीतर दिखा सकते हैं, जिससे नाराज़ यूजर बिना किसी सपोर्ट टिकट के सीधे Apple तक पहुंच जाता है।

  2. अगर आप App Store Server Notifications V2 चलाते हैं, तो एक CONSUMPTION_REQUEST आपके एंडपॉइंट पर ट्रांजेक्शन, प्रोडक्ट, और उनके द्वारा चुने गए कारण के साथ पहुंचता है।

  3. आपको consumption data के साथ जवाब देने के लिए लगभग 12 घंटे मिलते हैं। आप जवाब देते हैं, या नहीं देते।

  4. Apple फैसला सुनाता है: REFUND, REFUND_DECLINED, या अगर आप सुन ही नहीं रहे तो कुछ भी नहीं।

  5. अगर रिफंड मंजूर हो जाता है, तो पेलोड में एक रिवोकेशन डेट और कारण होता है। उस तारीख से एक्सेस बंद हो जाता है, और आपका रेवेन्यू रिकॉर्ड बदल जाता है।

  6. कभी-कभी ग्राहक के विवाद के बाद Apple अपना फैसला बदल देता है। REFUND_REVERSED आता है और आपको एक्सेस वापस देना होता है।

स्टेप 3 ही एकमात्र जगह है जहां आप नतीजे को प्रभावित करते हैं। स्टेप 5 और 6 वे जगहें हैं जहां पैसा चुपचाप लीक होता है।

इसे बनाने से पहले एक बात जान लें: Apple डेवलपर्स को रिफंड स्टेटस के लिए पोल न करने की सलाह देता है। नोटिफिकेशन ही सुझाया गया रास्ता है, और Get Refund History का इस्तेमाल आउटेज के बाद रीकंसिलिएशन के लिए किया जाता है, न कि आपके मुख्य फीड के तौर पर।

इसकी अहमियत का एक असली उदाहरण

r/iOSProgramming पर एक जाना-माना थ्रेड है जिसमें एक डेवलपर ने पहली बार CONSUMPTION_REQUEST हैंडल करने के बारे में लिखा। वह महीनों से इसे नजरअंदाज कर रहा था। एक रिप्लाई सेटअप करने के बाद, उसने एक छोटे से ऐप में मासिक रेवेन्यू में लगभग $1,000 वापस जोड़ लिए।

कोई पेवॉल बदलाव नहीं। कोई नया ऑनबोर्डिंग नहीं। कोई प्राइस टेस्ट नहीं। उसने बस उस सवाल का जवाब देना शुरू किया जो Apple पहले से ही उससे पूछ रहा था।

इस विषय की यही असल तस्वीर है। यह काम दिखने में आकर्षक नहीं है और बैकएंड कोड में छिपा रहता है। रिटर्न जल्दी दिखता है, क्योंकि वे रिक्वेस्ट वैसे भी डिफ़ॉल्ट रूप से मंजूर हो जाती थीं।

चार इवेंट्स, और हर एक के साथ क्या करें

CONSUMPTION_REQUEST

Apple पूछ रहा है, फैसला नहीं कर रहा। ग्राहक का असल इस्तेमाल निकालें, जांचें कि उन्होंने अपने डेटा को शेयर करने की सहमति दी है या नहीं, और पांच फील्ड फाइल करें: consent, delivery status, sample provided, milliunits में consumption percentage, और आपका पसंदीदा नतीजा। जिनमें प्रोडक्ट इस्तेमाल हो चुका है उन्हें डिक्लाइन करें। असली गलतियों को मंजूरी दें।

REFUND

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

REFUND_DECLINED

इसे रिकॉर्ड करने के अलावा कुछ नहीं करना है। या तो आपका जवाब काम आया, या अकाउंट हिस्ट्री ने अपना काम किया।

REFUND_REVERSED

Apple ने विवाद के बाद एक रिफंड को पलट दिया। अगर आपने एक्सेस बंद किया था, तो उसे वापस दें। सब्सक्रिप्शन पर ऐसा होने पर रिन्यूअल डेट नहीं बदलती, जो अक्सर लोगों को चौंका देती है।

दो ऐसे एज केस हैं जिनकी कोई योजना नहीं बनाता। एक सब्सक्रिप्शन रिफंड के साथ AUTO_RENEW_DISABLED सबटाइप वाला DID_CHANGE_RENEWAL_STATUS भी आता है, इसलिए रिन्यूअल पहले ही बंद हो चुका होता है। और Family Sharing ऑन होने पर, एक रिफंड उन सभी फैमिली मेंबर्स के लिए REVOKE ट्रिगर करता है जिनके पास एक्सेस था।

Apple रिफंड रिक्वेस्ट कैसे हैंडल करें: 12 घंटे का काम

यह समय-सीमा छोटी है और इसे इससे कोई फर्क नहीं पड़ता कि समय क्या है। सही तरीके से जवाब देने में पांच स्टेप लगते हैं। किसी भी बाइट पर भरोसा करने से पहले Apple की सर्टिफिकेट चेन के मुकाबले JWS सिग्नेचर को वेरिफाई करें। ट्रांजेक्शन को असली यूजर से मैच करें। consumption को रिकॉर्ड किए गए इस्तेमाल से निकालें, अंदाज़े से नहीं। In-App Purchase key से एक शॉर्ट-लिव्ड JWT बनाएं। रिस्पॉन्स सबमिट करें।

पूरा मामला consent पर टिका होता है। Apple के Send Consumption Information डॉक्स साफ कहते हैं: अगर ग्राहक ने अपने consumption data को शेयर करने पर सहमति नहीं दी है, तो बिल्कुल जवाब न दें। शिप करने से पहले यह भाषा अपनी शर्तों में शामिल करें। Auto-renewable सब्सक्रिप्शन consumption percentage को सीधे रिजेक्ट कर देते हैं, क्योंकि Apple इसे बीते हुए समय से निकालता है।

Sandbox आपको 12 घंटे की जगह 5 मिनट देता है। इसे एक संकेत की तरह समझें। एक सर्वर चाहिए, कोई इंसान नहीं।

फैसले के बाद क्या होता है

रिक्वेस्ट को हैंडल करना काम का आधा हिस्सा है। डेवलपर्स App Store रिफंड को कैसे हैंडल करते हैं, यह उसके बाद वाले घंटे पर निर्भर करता है, जब तीन चीजें सिंक में बनी रहनी चाहिए:

  • Entitlements. REFUND पर एक्सेस बंद, REFUND_REVERSED पर वापस चालू। अगर किसी यूजर को दो ग्रांट्स के जरिए Pro मिला है, तो पहले दूसरे को चेक करें। हमने रिफंड के बाद एक्सेस रिवोक करने वाले पूरे मसले को विस्तार से समझाया है।

  • Revenue records. रिफंड हफ्तों बाद आते हैं। इन्हें मूल कोहॉर्ट के हिसाब से अट्रिब्यूट करें, वरना आपका LTV काल्पनिक हो जाता है और आपका ऐड स्पेंड भी उसी के साथ गड़बड़ा जाता है।

  • Reporting. यह लॉग करें कि Apple ने क्या पूछा, आपने क्या भेजा, क्या वह स्वीकार हुआ, और इसमें कितना समय लगा। रिस्पॉन्स भेजना और उसका स्वीकार होना दो अलग-अलग बातें हैं। सिर्फ दूसरी बात मायने रखती है।

इनमें से किसी को भी छोड़ दें, और यही वजह है कि मोबाइल ऐप्स App Store रिफंड को खराब तरीके से मैनेज करते हैं जबकि वे सोचते हैं कि सब ठीक चल रहा है।

इसे खुद बनाएं, या डेवलपर्स के लिए Apple रिफंड मैनेजमेंट सॉफ्टवेयर खरीदें

डेवलपर्स के लिए Apple रिफंड मैनेजमेंट आखिरकार एक ही फैसले पर आकर टिकता है: वॉल्यूम, साथ ही यह कि क्या कोई ऐसे हैंडलर की जिम्मेदारी लेना चाहता है जो कभी डाउन नहीं होना चाहिए।

इसे खुद बनाने का मतलब है JWS वेरिफिकेशन, एक In-App Purchase key जिसे आप एक बार डाउनलोड करते हैं, एक ऐसी transaction-to-user मैपिंग जो स्कीमा बदलने पर भी बनी रहे, और शनिवार रात 3 बजे के लिए एक रोटा। बेसिक वर्जन बनाने में कुछ दिन लगते हैं, भरोसेमंद बनाने में महीनों।

खरीदना तेज़ है। App Store रिफंड मैनेजमेंट टूल्स तीन बातों में अलग-अलग होते हैं: क्या वे समय-सीमा के भीतर अपने आप जवाब देते हैं, क्या वे Google Play को कवर करते हैं, और क्या वे आपके बचाए गए पैसे दिखाते हैं या सिर्फ इवेंट्स का लॉग। हमने Apple रिफंड मैनेजमेंट टूल्स में इस पूरे क्षेत्र की तुलना की है: सही समाधान कैसे चुनें।

अगर आप कुछ भी इंस्टॉल नहीं करना चाहते और कोई कोड शिप नहीं करना चाहते, Refund Sensor एक App Store रिफंड मैनेजमेंट समाधान है जो आपकी मौजूदा स्टोर keys पर चलता है। यह हर रिक्वेस्ट का जवाब समय-सीमा के भीतर ट्रांजेक्शन एविडेंस के साथ देता है और हर केस के नतीजे को ट्रैक करता है। कनेक्ट करने में पांच मिनट, कोई SDK नहीं, कोई रीसबमिशन नहीं।

स्रोत

अक्सर पूछे जाने वाले प्रश्न

reportaproblem.apple.com पर जाएं, खरीदारी के लिए इस्तेमाल की गई Apple ID से साइन इन करें, पिछले 90 दिनों में उसे खोजें, और एक कारण चुनें। Apple ग्राहकों को बताता है कि उन्हें 48 घंटे के भीतर जवाब मिलेगा। ऐप के भीतर, StoreKit की रिफंड रिक्वेस्ट शीट वही फॉर्म दिखाती है।

नहीं। Apple फैसला करता है। जब तक यह पेंडिंग है, आप consumption evidence भेज सकते हैं और अपनी प्राथमिकता बता सकते हैं। फैसला आपका नहीं होता।

पिछले 90 दिनों की खरीदारियां reportaproblem.apple.com पर दिखाई देती हैं। Apple की शर्तों के अनुसार सभी लेन-देन अंतिम होते हैं, इसलिए रिफंड एक विवेकाधीन अपवाद है।

ज्यादातर आप ऐसा नहीं कर सकते, और यह सच्चाई है। नोटिफिकेशन के लिए एक एंडपॉइंट चाहिए। बिना सर्वर के, उस एंडपॉइंट को होल्ड करने वाली एक मैनेज्ड सर्विस ही 12 घंटे के भीतर जवाब देने का एकमात्र रास्ता है।

एक In-App Purchase key, जिसे App Store Connect में Users and Access के अंतर्गत, Integrations में बनाया जाता है। यह आपकी App Store Connect API key नहीं है, और .p8 फाइल केवल एक बार डाउनलोड होती है।

हां। रिफंड के साथ DIDCHANGERENEWALSTATUS और AUTORENEW_DISABLED भी आता है, इसलिए जब पैसा वापस जाता है, तब तक रिन्यूअल पहले ही बंद हो चुका होता है।

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

#Apple Refund Requests#Refund Request Management#App Store Refunds#Mobile App Developers#Apple App Store#App Monetization
Refund SensorRefund Sensor TeamRefund defense for App Store and Google Play developers