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

मुख्य बातें
- एक लंबित खरीद एक असली ऑर्डर है जिसे स्टोर ने स्वीकार किया है पर अभी तक चार्ज नहीं किया. आपका कोड एक नई खरीद देखता है, लेकिन पैसा नहीं आया है, और शायद कभी न आए.
- एंटाइटलमेंट तभी दें जब Google Play पर स्थिति PURCHASED हो, या जब Apple पर ट्रांज़ैक्शन पूरा हो चुका हो. कभी भी PENDING स्थिति पर या Apple के पेंडिंग रिज़ल्ट पर अनलॉक न करें.
- Google Play पर, किसी स्टोर पर नकद भुगतान, बैंक ट्रांसफर, और कुछ कैरियर बिलिंग बाहर ही सेटल होते हैं, इसलिए जब तक ग्राहक असल में भुगतान नहीं कर देता, खरीद PENDING में आती है, PURCHASED में नहीं.
- Apple पर, एक लंबित खरीद आमतौर पर Ask to Buy होती है, जहाँ एक फ़ैमिली ऑर्गनाइज़र को इसे मंज़ूरी देनी होती है. मंज़ूरी में घंटों या दिनों लग सकते हैं, और पूरा हुआ ट्रांज़ैक्शन बाद में Transaction.updates के ज़रिए आता है.
- किसी लंबित ऑर्डर पर अनलॉक करें जो फिर रद्द हो जाए, तो आपने कंप्यूट, API कॉल, स्टोरेज, या किसी कंज़्यूमेबल का भुगतान एक ऐसे चार्ज पर खर्च कर दिया जो कभी क्लियर ही नहीं हुआ. रिफ़ंड के उलट, यहाँ वापस वसूलने के लिए कोई पैसा नहीं है, क्योंकि कभी कुछ इकट्ठा ही नहीं हुआ.
- जब कोई लंबित ऑर्डर बीच में रह जाता है तो स्टोर आपको बताता है. Google, ONE_TIME_PRODUCT_CANCELED, type 2, या SUBSCRIPTION_PENDING_PURCHASE_CANCELED, type 20 भेजता है. Apple बस कभी पूरा हुआ ट्रांज़ैक्शन नहीं भेजता.
- एक लंबित ऑर्डर आपके ऐप के बंद रहते हुए भी असली बिक्री में बदल सकता है, इसलिए लौटने पर दोबारा जाँचें: Google Play पर onResume() में queryPurchasesAsync() कॉल करें, और Apple पर Transaction.updates सुनते रहें.
आपके ऐप में कोई buy पर टैप करता है. आपके लॉग एक नया ऑर्डर दिखाते हैं, आपका बिलिंग लिसनर फ़ायर होता है, और आप सामान सौंप देते हैं. ज़्यादातर खरीदों पर यही बिलकुल सही है. एक लंबित खरीद पर यह गलती है, क्योंकि ऑर्डर मौजूद है पर पैसा नहीं. ग्राहक ने ऐसा पेमेंट तरीका चुना जो बाद में सेटल होता है, स्टोर अभी भी भुगतान पाने का इंतज़ार कर रहा है, और आपने अभी एक ऐसे चार्ज के लिए पेड फ़ीचर दे दिया जो शायद कभी क्लियर न हो. यह रिफ़ंड का चुपचाप वाला चचेरा भाई है. यहाँ कुछ भी उलटा नहीं जाता, क्योंकि कभी कुछ इकट्ठा ही नहीं हुआ था. आपने बस प्रोडक्ट मुफ़्त में दे दिया.
एक लंबित खरीद एक अभी-तक-न-चुकाई-गई स्थिति में मौजूद असली ऑर्डर है, और App Store तथा Google Play दोनों में यह होती है. दोनों स्टोर आपको साफ़-साफ़ इंतज़ार करने को कहते हैं. फँसाने वाली बात यह है कि आपके कोड में एक लंबित ऑर्डर लगभग किसी पूरे हो चुके ऑर्डर जैसा ही दिखता है, इसलिए हर नई खरीद को बिक्री मानने वाला इंटीग्रेशन उन ऑर्डरों पर सामान भेज देता है जिन्हें स्टोर अभी भी वसूलने की कोशिश कर रहा है. इसे सही से संभालें तो कुछ नहीं खोता. गलत संभालें तो हर धीमा भुगतान जो बीच में रह जाता है, पूरी तरह नुकसान है, आपके खर्च पर दिया गया.
लंबित खरीद असल में क्या है
एक लंबित खरीद वह ऑर्डर है जिसे स्टोर ने दर्ज तो किया है पर अभी तक चार्ज नहीं किया. खरीदार ने फ़्लो शुरू किया, स्टोर ने इसे स्वीकार किया, और सेटलमेंट कहीं ऐसी जगह हो रहा है जिसे आपका ऐप नहीं देख सकता. Google Play इसे PENDING स्थिति कहता है. Apple इसे पेंडिंग, या डिफ़र्ड, ट्रांज़ैक्शन कहता है. नाम अलग, बात एक: स्टोर एक ऑर्डर को खुला रखे हुए है जबकि वह भुगतान का इंतज़ार कर रहा है, और उसने आपको बता दिया है कि उस ऑर्डर को पैसा न मानें.
Google Play: भुगतान कहीं और हो रहा है
कुछ पेमेंट तरीके बाहर ही सेटल होते हैं. किसी भौतिक स्टोर पर नकद, बैंक ट्रांसफर, और कुछ कैरियर बिलिंग, इन सबमें टैप और चार्ज के बीच अतिरिक्त कदम लगते हैं. जब कोई ग्राहक इनमें से एक चुनता है, तो Google खरीद को PURCHASED के बजाय PENDING स्थिति में लौटाता है. नकद भुगतान के लिए ग्राहक को नोटिफ़िकेशन और ईमेल से एक कोड मिलता है, जिसे वह किसी भाग लेने वाले स्टोर तक ले जाता है और कैशियर को भुगतान करता है. जब तक ऐसा नहीं होता, Google ने कुछ भी इकट्ठा नहीं किया, और न ही आपने. Google का नियम एक ही पंक्ति का है: getPurchaseState() इस्तेमाल करें और एंटाइटलमेंट तभी दें जब स्थिति PURCHASED हो. वह यह भी कहता है कि जब तक खरीद PENDING है, इसे acknowledge न करें, क्योंकि acknowledgement एक चुकाए गए ऑर्डर की चीज़ है, वादा किए गए ऑर्डर की नहीं.
Apple: खरीद किसी और के टैप का इंतज़ार कर रही है
Apple की पेंडिंग स्थिति का मतलब है कि पूरा होने से पहले ट्रांज़ैक्शन को किसी बाहरी क्रिया की ज़रूरत है. सबसे आम है Ask to Buy, जहाँ कोई बच्चा खरीद शुरू करता है और एक फ़ैमिली ऑर्गनाइज़र को उसे मंज़ूरी देनी होती है. StoreKit 2 में खरीद कॉल Product.PurchaseResult.pending लौटाती है. पुराने StoreKit में ट्रांज़ैक्शन डिफ़र्ड के रूप में रिपोर्ट होता है. किसी भी तरह, Apple ने किसी को चार्ज नहीं किया है, और पूरा हुआ ट्रांज़ैक्शन, अगर आता है, तो असिंक्रोनस रूप से Transaction.updates के ज़रिए आता है. ग्राहक को इंतज़ार की स्थिति दिखाएँ और पूरा हुआ ट्रांज़ैक्शन आने तक कुछ भी अनलॉक न करें.
लंबित खरीद देना आपको असली पैसे में क्यों पड़ता है
यह नुकसान रिफ़ंड वाला नहीं है, जहाँ आपके बुक किए पैसे वापस खींच लिए जाते हैं. यह एक ख़ास तरीके से और भी बुरा है: वापस खींचने के लिए कोई पैसा है ही नहीं, क्योंकि कभी कुछ इकट्ठा ही नहीं हुआ.
आप देते हैं, और स्टोर कभी वसूल नहीं करता
जब आप किसी लंबित ऑर्डर पर अनलॉक करते हैं जो बाद में रद्द हो जाता है, तो आप उसे सर्व करने के लिए पहले ही खर्च कर चुके होते हैं. वह कंप्यूट जिसने फ़ीचर चलाया, वे थर्ड-पार्टी API कॉल जिनका आपने भुगतान किया, वह स्टोरेज जो आपने आवंटित किया, और किसी कंज़्यूमेबल के लिए उस चीज़ का असली भुगतान जो आपने बेची. यह सब एक ऐसे ऑर्डर पर बाहर चला जाता है जिसने कोई राजस्व नहीं दिया. एक रिफ़ंड कम से कम एक ऐसे चार्ज से शुरू होता है जो हुआ था. गलत तरीके से दी गई लंबित खरीद पर कभी कोई चार्ज हुआ ही नहीं, इसलिए यह पैसा बाहर जाने के रूप में दिखता तक नहीं. यह कुछ नहीं के रूप में दिखता है, और यही ठीक वजह है कि इसे छूट जाना आसान है और दोहराना आसान है.
रद्द होने का संकेत, और उसका मतलब
स्टोर आपको बताता ज़रूर है जब कोई लंबित ऑर्डर मर जाता है. Google Play पर, एक वन-टाइम प्रोडक्ट जो बीच में रह जाता है, एक ONE_TIME_PRODUCT_CANCELED नोटिफ़िकेशन, type 2, भेजता है, और एक सब्सक्रिप्शन जो पेंडिंग था SUBSCRIPTION_PENDING_PURCHASE_CANCELED, type 20, भेजता है. जब वही ऑर्डर बजाय इसके पूरे हो जाते हैं, तो आपको ONE_TIME_PRODUCT_PURCHASED, type 1, या SUBSCRIPTION_PURCHASED, type 4, मिलता है. Apple पर पकड़ने के लिए कोई रद्द होने की घटना नहीं है, क्योंकि एक डिफ़र्ड ट्रांज़ैक्शन जो अस्वीकार हो जाता है वह बस कभी पूरा हुआ ट्रांज़ैक्शन नहीं बनता. अगर आपने जल्दी अनलॉक कर दिया, तो वह ख़ामोशी ही बिल है.
| सवाल | Google Play | Apple |
|---|---|---|
| इसे क्या ट्रिगर करता है | नकद, बैंक ट्रांसफर, कुछ कैरियर बिलिंग | Ask to Buy मंज़ूरी, या अन्य ज़रूरी क्रिया |
| आप जो स्थिति देखते हैं | PurchaseState PENDING | पेंडिंग रिज़ल्ट, या एक डिफ़र्ड ट्रांज़ैक्शन |
| एक्सेस कब दें | स्थिति PURCHASED हो | ट्रांज़ैक्शन पूरा हो चुका हो |
| यह पूरा हो गया | ONE_TIME_PRODUCT_PURCHASED (1), SUBSCRIPTION_PURCHASED (4) | Transaction.updates के ज़रिए पूरा हुआ ट्रांज़ैक्शन |
| यह बीच में रह गया | ONE_TIME_PRODUCT_CANCELED (2), SUBSCRIPTION_PENDING_PURCHASE_CANCELED (20) | कभी कोई पूरा हुआ ट्रांज़ैक्शन नहीं आता |
| क्या पैसा इकट्ठा हुआ | नहीं, PURCHASED होने तक नहीं | नहीं, ट्रांज़ैक्शन पूरा होने तक नहीं |
समय-सीमा, और कौन किसका इंतज़ार कर रहा है
एक लंबित खरीद ऐसी घड़ी नहीं है जिसके साथ आप दौड़ रहे हों. यह एक ऐसी घड़ी है जो, आपकी तरफ़ से, अभी शुरू ही नहीं हुई.
Google Play ग्राहक को मिनट नहीं, दिन देता है
एक नकद या बैंक-ट्रांसफर भुगतान ग्राहक के हिसाब से सेटल होता है, आपके नहीं. ऑर्डर PENDING में तब तक रहता है जब तक ग्राहक भुगतान न कर दे या समय-सीमा ख़त्म न हो जाए और Google इसे रद्द कर दे. आपकी अपनी तीन-दिन की acknowledgement समय-सीमा, वही जो एक ऐसी खरीद को ऑटो-रिफ़ंड कर देती है जिसे आप acknowledge करने में चूक जाते हैं, तब तक शुरू ही नहीं होती जब तक खरीद PENDING से PURCHASED में न बदल जाए. तो किसी लंबित ऑर्डर को सर्व करने की कोई जल्दी नहीं है. बस स्थिति बदलने का इंतज़ार करने का अनुशासन है.
Apple की मंज़ूरी फ़ैमिली ऑर्गनाइज़र के फ़ोन पर है
एक Ask to Buy अनुरोध ऑर्गनाइज़र के डिवाइस पर एक प्रॉम्प्ट के रूप में आता है जिसे वे जब फ़ुर्सत मिले तब मंज़ूर या अस्वीकार करते हैं. वह मिनट, घंटे, या एक दिन बाद हो सकता है, और आपका ऐप उसे जल्दी नहीं करा सकता. एकमात्र सही व्यवहार है इंतज़ार की स्थिति को दर्शाना और StoreKit को, अगर और जब मंज़ूरी आए, पूरा हुआ ट्रांज़ैक्शन आपको सौंपने देना.

बिना रिसाव के लंबित खरीदों को कैसे संभालें
पूरा काम चार आदतों पर आकर टिकता है. इनमें से कोई भी कठिन नहीं है, और इनमें से किसी एक को भी छोड़ना ही वह जगह है जहाँ पैसा जाता है.
पेड स्थिति पर दें, कभी पेंडिंग पर नहीं
Google Play पर, getPurchaseState() जाँचें और सिर्फ़ PURCHASED पर दें, और जब तक खरीद PENDING है तब तक इसे acknowledge न करें. Apple पर, सिर्फ़ एक पूरे हुए ट्रांज़ैक्शन पर अनलॉक करें और कभी पेंडिंग रिज़ल्ट पर नहीं. यह अकेला नियम पूरे रिसाव को बंद कर देता है. बाकी सब कुछ यह पक्का करने के बारे में है कि पेड स्थिति आने पर आप वाकई ध्यान दें.
ऐप के वापस आने पर दोबारा जाँचें
पेंडिंग से पेड में बदलाव अक्सर तब होता है जब आपका ऐप चल नहीं रहा होता. Google Play पर, बैकग्राउंड में PURCHASED बन चुके ऑर्डर उठाने के लिए अपने onResume() हैंडलर में queryPurchasesAsync() कॉल करें, और सर्वर-साइड सत्य के स्रोत के रूप में अपना Real-time Developer Notifications लिसनर बनाए रखें. Apple पर, ऐप के पूरे जीवनकाल भर Transaction.updates सुनें, क्योंकि एक मंज़ूर किया गया ट्रांज़ैक्शन मूल खरीद कॉल के लौटने के काफ़ी बाद आ सकता है.
पेंडिंग सपोर्ट सक्षम करें और दोनों अंत टेस्ट करें
Google के लिए ज़रूरी है कि जब आप BillingClient बनाएँ तो आप enablePendingPurchases() कॉल करें, और वन-टाइम प्रोडक्ट के लिए पेंडिंग ट्रांज़ैक्शन का सपोर्ट अनिवार्य है, वैकल्पिक नहीं. शिप करने से पहले इसे टेस्ट करें. लाइसेंस टेस्टरों को भुगतान के विलंबित रूपों के लिए दो अतिरिक्त टेस्ट इंस्ट्रुमेंट मिलते हैं, जहाँ भुगतान कुछ मिनटों बाद अपने-आप पूरा हो जाता है या अपने-आप रद्द हो जाता है, ताकि आप पेमेंट पथ और बीच में रह जाने वाले पथ, दोनों को शुरू से अंत तक देख सकें.
ग्राहक को बताएँ कि ऑर्डर पूरा नहीं हुआ
एक पेंडिंग खरीदार एक खरीद के बीच में मौजूद एक असली ग्राहक है, कोई विफलता नहीं. उन्हें दिखाएँ कि ऑर्डर उनके भुगतान या किसी मंज़ूरी का इंतज़ार कर रहा है, और उसे पूरा करने के लिए वापस आने का एक साफ़ रास्ता दें. एक ख़ामोश पेंडिंग स्थिति वे बिक्रियाँ खोती है जो एक अच्छी तरह लेबल की गई स्थिति वापस पा लेती है, क्योंकि इनमें से ज़्यादातर खरीदार अब भी वह चीज़ चाहते हैं और बस उनके पास एक कदम बाकी है.
वही Real-time Developer Notifications और App Store Server Notifications फ़ीड जिन्हें RefundHalt पहले से रिफ़ंड और चार्जबैक के लिए पढ़ता है, ये संकेत भी लेकर आते हैं. वह purchased नोटिफ़िकेशन जो कहता है कि एक लंबित ऑर्डर आख़िरकार क्लियर हो गया, और वह canceled नोटिफ़िकेशन जो कहता है कि नहीं हुआ, आपके डैशबोर्ड में आपके बाकी राजस्व इवेंट्स के साथ आते हैं, ताकि एक लंबित ऑर्डर जो बीच में रह गया वह कुछ ऐसा हो जिसे आप देख सकें, न कि कुछ ऐसा जिसका आपने गलती से भुगतान किया.
संक्षेप में
एक लंबित खरीद एक ऐसा ऑर्डर है जिसमें भुगतान नहीं है, और दोनों स्टोर साफ़ कहते हैं कि आपको इंतज़ार करना चाहिए. Google Play नकद, बैंक-ट्रांसफर, और कुछ कैरियर-बिलिंग ऑर्डर PENDING स्थिति में लौटाता है और आपको सिर्फ़ PURCHASED पर एक्सेस देने को कहता है. Apple, Ask to Buy और अन्य ज़रूरी क्रियाओं के लिए एक पेंडिंग या डिफ़र्ड ट्रांज़ैक्शन लौटाता है और पूरा हुआ ट्रांज़ैक्शन बाद में Transaction.updates के ज़रिए भेजता है. पेड स्थिति पर अनलॉक करें, अपने ऐप के फिर से शुरू होने पर दोबारा जाँचें, पेंडिंग सपोर्ट सक्षम करें और टेस्ट करें, और ग्राहक के लिए इंतज़ार वाले ऑर्डर को लेबल करें. ऐसा करें तो एक लंबित खरीद आपको कुछ नहीं पड़ती. इसे छोड़ दें तो आप एक ऐसे चार्ज के लिए पेड प्रोडक्ट दे देते हैं जो कभी आया ही नहीं, और यही वह एकमात्र नुकसान है जिसकी ओर इशारा करने के लिए कोई रसीद नहीं होती.
अक्सर पूछे जाने वाले सवाल
- लंबित खरीद क्या होती है?
- एक लंबित खरीद एक ऐसा ऑर्डर है जिसे स्टोर ने स्वीकार तो कर लिया है पर अभी तक चार्ज नहीं किया. Google Play पर यह PENDING खरीद स्थिति है, जो बाद में सेटल होने वाले पेमेंट तरीकों जैसे नकद, बैंक ट्रांसफर, और कुछ कैरियर बिलिंग के लिए इस्तेमाल होती है. Apple पर यह एक पेंडिंग या डिफ़र्ड ट्रांज़ैक्शन है, जो अक्सर एक फ़ैमिली ऑर्गनाइज़र की मंज़ूरी का इंतज़ार करती Ask to Buy खरीद होती है. दोनों ही मामलों में अभी तक कोई पैसा इकट्ठा नहीं हुआ है, इसलिए आपको एक्सेस नहीं देना चाहिए.
- क्या मुझे खरीद के पेंडिंग रहते हुए एक्सेस देना चाहिए?
- नहीं. एंटाइटलमेंट तभी दें जब Google Play पर स्थिति PURCHASED हो, या जब Apple पर ट्रांज़ैक्शन पूरा हो चुका हो. अगर आप किसी फ़ीचर को ऑर्डर के अभी भी पेंडिंग रहते हुए अनलॉक कर देते हैं और भुगतान कभी क्लियर नहीं होता, तो आपने प्रोडक्ट मुफ़्त में दे दिया, और उलटने के लिए कोई चार्ज है ही नहीं क्योंकि कभी कोई हुआ ही नहीं.
- Google Play पर कौन-से पेमेंट तरीके लंबित खरीद का कारण बनते हैं?
- वे पेमेंट तरीके जो बाहर सेटल होते हैं. किसी भौतिक स्टोर पर नकद भुगतान, बैंक ट्रांसफर, और कुछ कैरियर बिलिंग विकल्पों में टैप और चार्ज के बीच अतिरिक्त कदम लगते हैं, इसलिए Google खरीद को PURCHASED के बजाय PENDING स्थिति में लौटाता है. नकद भुगतान के लिए ग्राहक को नोटिफ़िकेशन और ईमेल से एक कोड मिलता है, फिर वह किसी भाग लेने वाले स्टोर पर भुगतान करता है.
- Ask to Buy क्या है, और इसका लंबित खरीदों से क्या संबंध है?
- Ask to Buy Apple का Family Sharing फ़ीचर है जो किसी बच्चे को एक खरीद का अनुरोध करने देता है जिसे एक फ़ैमिली ऑर्गनाइज़र को मंज़ूर करना होता है. जब तक अनुरोध इंतज़ार में है, खरीद Apple की पेंडिंग स्थिति में है, जो StoreKit 2 में Product.PurchaseResult.pending के रूप में या पुराने StoreKit में एक डिफ़र्ड ट्रांज़ैक्शन के रूप में लौटाई जाती है. पूरा हुआ ट्रांज़ैक्शन तभी, Transaction.updates के ज़रिए, आता है अगर और जब ऑर्गनाइज़र इसे मंज़ूर करता है.
- अगर किसी लंबित खरीद का कभी भुगतान नहीं होता तो क्या होता है?
- ऑर्डर रद्द हो जाता है और कोई पैसा हाथ नहीं बदलता. Google Play पर आपको एक वन-टाइम प्रोडक्ट के लिए एक ONE_TIME_PRODUCT_CANCELED नोटिफ़िकेशन, type 2, मिलता है, या एक सब्सक्रिप्शन के लिए SUBSCRIPTION_PENDING_PURCHASE_CANCELED, type 20. Apple पर, डिफ़र्ड ट्रांज़ैक्शन बस कभी पूरा हुआ ट्रांज़ैक्शन नहीं बनता. अगर आपने पहले ही एक्सेस दे दिया था, तो वही पल है जब नुकसान असली बन जाता है.
- क्या लंबित खरीद रिफ़ंड जैसी ही है?
- नहीं. एक रिफ़ंड ऐसे भुगतान को उलटता है जो असल में इकट्ठा हुआ था. एक लंबित खरीद जो बीच में रह जाती है उस पर पहले कभी चार्ज हुआ ही नहीं, इसलिए उलटने के लिए कुछ नहीं है और रिफ़ंड रिपोर्ट में कुछ नहीं दिखता. अगर आपने इसे जल्दी अनलॉक कर दिया, तो कीमत वह कंप्यूट, API कॉल, स्टोरेज, या कंज़्यूमेबल है जो आपने एक ऐसे ऑर्डर को सर्व करने में खर्च किया जिसने कोई राजस्व नहीं दिया.
स्रोत और आगे की जानकारी
- Android Developers: Integrate the Google Play Billing Library (PENDING purchase state, grant entitlement only on PURCHASED, enablePendingPurchases, queryPurchasesAsync, cash payment code flow, three-day acknowledgement window begins on transition to PURCHASED)
- Android Developers: Real-time developer notifications reference (OneTimeProductNotification ONE_TIME_PRODUCT_PURCHASED=1 and ONE_TIME_PRODUCT_CANCELED=2; SubscriptionNotification SUBSCRIPTION_PURCHASED=4 and SUBSCRIPTION_PENDING_PURCHASE_CANCELED=20)
- Android Developers: Test Google Play Billing (license testers get delayed-payment test instruments that auto-complete or auto-cancel for testing pending transactions)
- Apple Developer: Product.PurchaseResult (the pending case, returned when a purchase needs action such as Ask to Buy approval before it completes)
- Apple Developer: SKPaymentTransactionState.deferred (a transaction whose final status is pending an external action such as Ask to Buy)
- Apple Developer: Transaction.updates (StoreKit delivers transaction updates, including ones approved later, asynchronously)
RefundHalt
App Store और Google Play के लिए refund ऑटोपायलट
आगे पढ़ें
ग्राहकों के रद्द करने से ज़्यादा बार रिन्यूअल फेल होते हैं, और वह अनैच्छिक चर्न ऐसा राजस्व है जिसे आप अब भी वापस जीत सकते हैं
कैंसिल पर टैप नहीं, बल्कि एक अस्वीकृत कार्ड ही बड़े हिस्से के सब्सक्रिप्शन खत्म करता है, और स्टोर हफ्तों तक वसूली की कोशिश करता रहता है. यहाँ बताया गया है कि App Store और Google Play पर बिलिंग ग्रेस पीरियड, बिलिंग रिट्राई और अकाउंट होल्ड कैसे काम करते हैं, और अनैच्छिक चर्न असल में आपको कितना महंगा पड़ता है.
बच्चों द्वारा की गई बिना अनुमति की इन-ऐप खरीदारी लगभग हर बार माता-पिता को रिफंड कर दी जाती है, और लागत आप उठाते हैं
जब कोई बच्चा माता-पिता के फोन पर एक कॉइन पैक खरीदता है, तो Apple और Google दोनों उसे रिफंड कर देते हैं और कोई भी आपसे पहले नहीं पूछता। नियामकों ने इसे इसी तरह बनाया है। यहाँ बताया गया है कि ये बिना अनुमति की इन-ऐप खरीदारी वाले रिफंड हर स्टोर पर कैसे काम करते हैं, वह 15-मिनट की खिड़की जहाँ पैसा चला जाता है, और एक रिफंड वास्तव में आपको क्या भुगतता है।