Google Play की chargeback समीक्षा आपको जवाबी कार्रवाई के लिए 24 घंटे देती है, यहाँ जानिए क्या भेजना है
जब कोई बैंक Google Play का कोई चार्ज वापस खींचता है, तो Google आपके सर्वर पर एक PendingRefundReviewNotification भेजता है और 24 घंटे की घड़ी शुरू कर देता है। इसका जवाब ReviewRefund API के ज़रिए एक refund प्राथमिकता और असली उपभोग के प्रमाण के साथ दें, वरना विवाद आपके बिना ही तय हो जाएगा। यहाँ पूरी प्रक्रिया है, फ़ील्ड दर फ़ील्ड।

मुख्य बातें
- Google Play chargeback समीक्षा तब शुरू होती है जब किसी ग्राहक का बैंक कोई चार्ज उलट देता है और Google Play आपके सर्वर पर एक PendingRefundReviewNotification भेजता है। उस सूचना से आपके पास ReviewRefund API के साथ जवाब देने के लिए 24 घंटे होते हैं।
- chargeback समीक्षा एकमात्र Android refund प्रक्रिया है जो डेवलपर से प्रमाण माँगती है। 48 घंटे का सेल्फ-सर्विस refund, सपोर्ट refund और रद्द की गई खरीदारियाँ, ये सब आपके बिना तय होती हैं।
- आप orders.reviewrefund को APPROVE, DECLINE, या NEUTRAL में से किसी एक refundPreference के साथ कॉल करके जवाब देते हैं, साथ में प्रमाण: एक consumptionPercentageMilliunits मान और उपभोग उपयोग घटनाओं की एक वैकल्पिक सूची।
- Google Play किसी दी गई सूचना के लिए केवल आपकी पहली ReviewRefund कॉल दर्ज करता है। बाद की हर कॉल अनदेखी की जाती है और फिर भी OK लौटाती है, इसलिए आपका पहला जवाब पूरा और सही होना चाहिए।
- सूचना में एक pendingRefundToken और एक orderId होता है, और एक लंबित समीक्षा जिस एकमात्र refund कारण का समर्थन करती है वह CHARGEBACK है, जो code 7 के रूप में आता है।
- consumptionPercentageMilliunits को मिलीयूनिट में मापा जाता है, इसलिए 100000 का मतलब है कि ग्राहक ने जो खरीदा उसका 100 percent इस्तेमाल किया। यही वह तरीका है जिससे आप Google Play को बताते हैं कि उत्पाद पूरी तरह डिलीवर हो गया।
- August 3, 2026 से, डेवलपर हर हारे हुए विवाद पर खरीद मूल्य में से Play की सेवा शुल्क घटाकर और बैंक की chargeback फ़ीस जोड़कर वहन करते हैं, इसलिए बिना जवाब दी गई chargeback समीक्षा सीधे आपके अपने राजस्व पर एक चार्ज है।
जब किसी ग्राहक का बैंक Google Play का कोई चार्ज वापस खींचता है, तो Google Play सिर्फ़ पैसे लौटाकर आगे नहीं बढ़ जाता। यह आपके सर्वर पर एक PendingRefundReviewNotification भेजता है और 24 घंटे की घड़ी शुरू कर देता है। उस सूचना का जवाब ReviewRefund API के ज़रिए एक refund प्राथमिकता और इस बात के प्रमाण के साथ दें कि ग्राहक ने असल में क्या इस्तेमाल किया, और Google Play आपके इनपुट को इस बात में शामिल कर लेगा कि वह chargeback का मुक़ाबला कैसे करता है। चुप रहें, और विवाद उस एकमात्र पक्ष की एक शब्द के बिना ही तय हो जाएगा जो जानता है कि उत्पाद कैसे उपभोग किया गया।
Google Play chargeback समीक्षा एकमात्र Android refund प्रक्रिया है जो आपसे प्रमाण माँगती है, जो Apple के CONSUMPTION_REQUEST की सीधी समकक्ष है। अब यह पहले से ज़्यादा मायने रखती है। August 3, 2026 से, Google Play chargeback की लागत डेवलपर पर डाल देता है, इसलिए जिस विवाद का आप जवाब नहीं देते वह आपके खाते से निकलता है, Google के नहीं। यहाँ ठीक-ठीक बताया गया है कि सूचना में क्या होता है, आप क्या वापस भेजते हैं, वे फ़ील्ड जो आपका प्रमाण बनाते हैं, और चुप्पी कहाँ पैसे में बदल जाती है।
Google Play chargeback समीक्षा असल में क्या है
chargeback कोई refund अनुरोध नहीं है। ग्राहक अपने बैंक या कार्ड नेटवर्क के पास जाता है और चार्ज पर विवाद करता है, और बैंक धनराशि वापस खींच लेता है। Google Play इनमें से ज़्यादातर को ख़ुद संभालता है। एक हिस्से के लिए, यह एक समीक्षा खोलता है और पहले आपसे पूछता है, क्योंकि आपके पास वह जानकारी है जो Google के पास नहीं: कि ऑर्डर डिलीवर हुआ या नहीं और ग्राहक ने उसका कितना उपभोग किया। वह समीक्षा ही ReviewRefund API के पीछे की प्रक्रिया है।
यह Android refund प्रणाली में वह एकमात्र जगह है जहाँ आपका प्रमाण परिणाम बदल देता है। हर दूसरा Google Play refund रास्ता आपके बिना चलता है। ग्राहक खरीद के 48 घंटे के भीतर ख़ुद refund ले सकता है, सपोर्ट एक दे सकता है, और एक अस्वीकृत खरीद अपने-आप refund हो जाती है, ये सब Google द्वारा तय होते हैं। chargeback समीक्षा अपवाद है, और इसे उस एकमात्र refund बातचीत की तरह मानने लायक है जिसमें आप वाक़ई शामिल हो पाते हैं।
यह Apple की प्रमाण अवधि का Android संस्करण है
दो स्टोर, दो प्रक्रियाएँ जो डेवलपर से प्रमाण माँगती हैं, और बस यही पूरी सूची है। Apple एक CONSUMPTION_REQUEST भेजता है और आपको Send Consumption Information के साथ जवाब देने के लिए 12 घंटे देता है। Google Play एक PendingRefundReviewNotification भेजता है और आपको orders.reviewrefund के साथ जवाब देने के लिए 24 घंटे देता है। तंत्र अलग है, पर सबक़ एक जैसा है: जब स्टोर पूछता है कि ग्राहक ने क्या इस्तेमाल किया, तो एक सटीक जवाब ही बिक्री रखने और उसे वापस सौंपने के बीच का फ़र्क़ है।
एक अंतर व्यवहार में मायने रखता है। Apple का उपभोग payload पाँच संख्यात्मक फ़ील्ड है और कुछ नहीं। Google Play का प्रमाण अधिक समृद्ध है। आप एक उपभोग प्रतिशत के साथ-साथ अलग-अलग उपयोग घटनाओं की एक सूची भेज सकते हैं, हर एक में एक टाइमस्टैम्प, एक खाता पहचानकर्ता, और यहाँ तक कि एक IP address और मोटी location भी। Google Play आपको डिलीवरी का वर्णन करने के लिए ज़्यादा जगह देता है, जिसका मतलब है क़ायल करने के लिए ज़्यादा जगह।
24 घंटे की घड़ी और सूचना आप तक कैसे पहुँचती है
समीक्षा आपके Cloud Pub/Sub topic पर एक Real Time Developer Notification के रूप में आती है, वही चैनल जो आपकी सब्सक्रिप्शन और खरीद घटनाएँ पहुँचाता है। संदेश एक base64-एन्कोडेड payload है जिसके अंदर एक pendingRefundReviewNotification ऑब्जेक्ट होता है। घड़ी तब शुरू होती है जब वह सूचना प्रकाशित होती है, तब नहीं जब आप उसे पढ़ते हैं, इसलिए एक कंज़्यूमर जो दिन में एक बार पोल करता है वह एक कंज़्यूमर है जो विवाद चूक जाता है।
PendingRefundReviewNotification, फ़ील्ड दर फ़ील्ड
सूचना छोटी है। यह आपको बताती है कि कौन-सा ऑर्डर समीक्षा में है, आपको वह टोकन देती है जिसे आपको वापस उद्धृत करना है, और कारण का नाम देती है। यहाँ हर फ़ील्ड है जो यह ले जाती है।
| फ़ील्ड | प्रकार | इसका क्या मतलब है |
|---|---|---|
| version | string | सूचना संस्करण, "1.0" से शुरू होता है |
| pendingRefundToken | string | वह टोकन जो इस समीक्षा की पहचान करता है। आप इसे ReviewRefund कॉल में वापस पास करते हैं |
| orderId | string | समीक्षा में मौजूद ऑर्डर, उदाहरण के लिए GPA.1234-5678-9012-34567 |
| refundReason | int | refund क्यों माँगा गया। एक लंबित समीक्षा हमेशा केवल CHARGEBACK, code 7 ले जाती है |
| obfuscatedAccountId | string | वह खाता id जो आपने खरीद के समय सेट किया, अगर सेट किया हो |
| obfuscatedProfileId | string | वह प्रोफ़ाइल id जो आपने खरीद के समय सेट किया, अगर सेट किया हो |
केवल एक chargeback ही लंबित समीक्षा खोलता है
एक लंबित समीक्षा पर refundReason हमेशा CHARGEBACK होता है, जो पूर्णांक 7 के रूप में दिया जाता है। Google Play की दुनिया में दूसरे refund कारण मौजूद हैं, पर वे इस प्रक्रिया के ज़रिए आप तक नहीं पहुँचते, क्योंकि उनमें आपकी कोई राय नहीं होती। अगर आपको एक PendingRefundReviewNotification दिखती है, तो किसी बैंक ने एक चार्ज उलट दिया है और Google Play तय कर रहा है कि उसका मुक़ाबला करना है या नहीं। बस यही एकमात्र ट्रिगर है।
ReviewRefund API के ज़रिए आप क्या वापस भेजते हैं
आप orders.reviewrefund को एक ही POST के साथ जवाब देते हैं। पूरा पथ POST https://androidpublisher.googleapis.com/androidpublisher/v3/applications/{packageName}/orders/{orderId}:reviewrefund है, जिसे https://www.googleapis.com/auth/androidpublisher scope से अधिकृत किया जाता है, वही OAuth scope जो आपका Play Developer API एकीकरण पहले से इस्तेमाल करता है। सफलता पर HTTP 200 के साथ एक खाली बॉडी लौटती है।
बॉडी ही वह जगह है जहाँ आपका केस रहता है। आप सूचना से pendingRefundToken दोहराते हैं, एक refund प्राथमिकता बताते हैं, और उपभोग प्रमाण जोड़ते हैं।
आपकी refund प्राथमिकता एक सिफ़ारिश है, फ़ैसला नहीं
refundPreference फ़ील्ड तीन मानों में से एक लेता है, और यह Google Play के लिए सलाह है, अंतिम निर्णय नहीं। परिणाम अब भी Google का है। पर यह ऐसे डेटा पर आधारित सलाह है जिसे Google ख़ुद नहीं देख सकता, इसलिए इसका वज़न है।
| refundPreference | अर्थ |
|---|---|
| APPROVE | आप चाहते हैं कि Google Play पूरा refund दे |
| DECLINE | आप चाहते हैं कि Google Play refund अस्वीकार करे |
| NEUTRAL | आपकी कोई प्राथमिकता नहीं है और आप Google Play पर छोड़ते हैं |
| REFUND_PREFERENCE_UNSPECIFIED | डिफ़ॉल्ट संकेतक, असली जवाब में इस्तेमाल नहीं होता |
वे प्रमाण फ़ील्ड जो एक DECLINE का समर्थन करते हैं
एक सादा DECLINE बिना सबूत का दावा है। उपभोग फ़ील्ड ही सबूत हैं। consumptionPercentageMilliunits मिलीयूनिट में एक पूर्णांक है, इसलिए 100000 कहता है कि ग्राहक ने जो खरीदा उसका 100 percent उपभोग किया और 50000 कहता है आधा। consumptionUsageEvents एक वैकल्पिक ऐरे है जहाँ हर घटना एक obfuscatedAccountId, एक obfuscatedProfileId, एक consumptionTime, एक ipAddress, एक consumptionItemDescription, और एक मोटी location ले जा सकती है। sampleContentProvided उस स्थिति के लिए एक बूलियन है जहाँ आपने ग्राहक को भुगतान वाली सामग्री का एक मुफ़्त नमूना दिया। मिलकर ये, Google Play के अपने स्कीमा में, कहते हैं कि उत्पाद डिलीवर और इस्तेमाल हुआ।

आपकी पहली कॉल ही आपकी एकमात्र कॉल है
Google Play किसी सूचना के विरुद्ध आपकी बनाई पहली ReviewRefund कॉल दर्ज करता है और उसके बाद की हर कॉल को अनदेखा करता है, फिर भी एक OK स्थिति लौटाता है। कोई ड्राफ़्ट नहीं और कोई संशोधन नहीं। अगर आपका पहला जवाब इसलिए बिना प्रमाण के एक जल्दबाज़ी में किया गया NEUTRAL है क्योंकि आपकी पाइपलाइन तैयार नहीं थी, तो रिकॉर्ड पर वही जवाब है, और पूरे उपभोग इतिहास वाली बाद की कॉल चुपचाप छोड़ दी जाती है। कुछ भी भेजने से पहले पूरा जवाब बना लें।
समीक्षा आपको पैसे में क्या पड़ती है
सालों तक एक हारे हुए Google Play chargeback की क़ीमत डेवलपर को बिक्री और बहुत कम और पड़ती थी, क्योंकि Google Play आगे के शुल्क वहन करता था। यह August 3, 2026 को ख़त्म हो जाता है। उस तारीख़ के बाद रखे गए ऑर्डर के लिए, Google Play chargeback की लागत डेवलपर के साथ बाँटता है, और डेवलपर का हिस्सा खरीद मूल्य में से Play की सेवा शुल्क घटाकर, साथ में वित्तीय संस्थान द्वारा लगाई गई संबंधित chargeback फ़ीस है। Google Play सेवा शुल्क का हिस्सा वहन करता रहता है। बैंक फ़ीस आपके खाते वाले पक्ष पर नया बोझ है।
refund कभी असली संख्या नहीं होती
विवाद ग्राहक का भुगतान लौटाता है, पर भुगतान कभी आपकी एकमात्र लागत नहीं था। एक जनरेट किया गया वीडियो, मॉडल API कॉलों का एक बैच, एक क्रिएटर पेआउट, आपके द्वारा प्रावधानित स्टोरेज, वह सारा पैसा आपके खाते से उसी पल निकल गया जब ऑर्डर डिलीवर हुआ, और उसमें से कुछ भी chargeback के साथ वापस नहीं आता। अब ऊपर से बैंक की chargeback फ़ीस जोड़ें। आप प्रदाता का बिल चुका रहे हैं, बिक्री refund कर रहे हैं, और विवाद फ़ीस वहन कर रहे हैं, एक ऐसे ऑर्डर के लिए तीन लागतें जिसका बचाव करने के प्रमाण आपके पास थे।
जिस पैमाने से Google लड़ रहा है
Google Play कहता है कि उसने 2025 में US$3.4B की धोखाधड़ी और दुरुपयोग को रोका और 2026 तक फ़्रॉड डिटेक्शन जोड़ रहा है। लागत-साझाकरण बदलाव उसी प्रयास का हिस्सा है: डेवलपर को प्रणाली में प्रमाण डालने का एक कारण दो, और प्रणाली अधिक अवैध विवादों का मुक़ाबला करती है। ReviewRefund API ही वह तरीका है जिससे आपका प्रमाण अंदर पहुँचता है। एक खाली प्रतिक्रिया एक फ़्रेंडली-फ़्रॉड chargeback को आपके पैसे पर टिके रहने देने का वोट है।
सूचना पहुँचने से पहले तैयार कैसे रहें
24 घंटे की खिड़की समस्या नहीं है। समस्या यह है कि जो प्रमाण आपको चाहिए वह विवाद से पहले मौजूद होना चाहिए, खरीद और उपभोग के समय पकड़ा गया, टोकन दिखने के बाद फिर से बनाया गया नहीं। एक टीम जो सूचना आने पर डेटा जुटाना शुरू करती है वह पहले ही हार चुकी है।
खरीद के समय पहचान जोड़ें
हर खरीद पर setObfuscatedAccountId के साथ एक obfuscatedAccountId सेट करें, ताकि सूचना का खाता id सीधे आपकी प्रणाली में एक उपयोगकर्ता से मैप हो जाए। इसे एक हैश रखें, 64 वर्ण या उससे कम, कभी क्लियरटेक्स्ट ईमेल या अन्य व्यक्तिगत डेटा नहीं, क्योंकि क्लियरटेक्स्ट पहचानकर्ता खरीदारियों को ब्लॉक करवा देते हैं। उस लिंक के बिना आप pendingRefundToken को असली उपयोग इतिहास से नहीं जोड़ सकते, और आपके DECLINE के पीछे कुछ नहीं होता।
उपभोग को जैसे-जैसे होता है वैसे-वैसे लॉग करें
रिकॉर्ड करें कि एक भुगतान वाले ऑर्डर ने क्या डिलीवर किया, कब, और किसे, ऐसे रूप में जिसे आप माँगने पर consumptionPercentageMilliunits और consumptionUsageEvents में बदल सकें।
- उपभोग की हर इकाई पर टाइमस्टैम्प लगाएँ, ताकि हर घटना पर consumptionTime असली हो, अनुमानित नहीं।
- खरीद के विरुद्ध डिलीवरी को ट्रैक करें, ताकि आप अनुमान लगाने के बजाय आत्मविश्वास के साथ एक उपभोग प्रतिशत बता सकें।
- खाता और प्रोफ़ाइल पहचानकर्ताओं को उपयोग के पास रखें, ताकि टोकन आने पर एक घटना एक ही क्वेरी में जुड़ जाए।
- अगर आपके पास हों तो अनुरोध का IP और मोटी location पकड़ें, क्योंकि Google Play दोनों को घटना फ़ील्ड के रूप में स्वीकार करता है।
खिड़की के भीतर, अपने-आप जवाब दें
24 घंटे की खिड़की एक मशीन के लिए आरामदायक है और एक इंसान के लिए क्रूर जिसे जागते रहना और ध्यान देना पड़ता है। प्रतिक्रिया अपने-आप होनी चाहिए: सूचना आई, खाता खोजा गया, उपभोग जुटाया गया, एक ReviewRefund कॉल बाहर गई, सब बिना किसी व्यक्ति के लूप में हुए। यही वह हिस्सा है जो RefundHalt आपके लिए चलाता है। हम PendingRefundReviewNotification के लिए सुनते हैं, ऑर्डर को उस उपयोग से मिलाते हैं जिसे हम पहले से उस खाते के लिए ट्रैक करते हैं, और खिड़की के भीतर orders.reviewrefund को एक refund प्राथमिकता और असली उपभोग प्रमाण के साथ जवाब देते हैं। टोकन धागा है, और प्रमाण केस है। दोनों तैयार रखें और वह एकमात्र refund बातचीत जिसमें आप शामिल हो पाते हैं, वह है जिसे आप जीत सकते हैं।
अक्सर पूछे जाने वाले सवाल
- Google Play chargeback समीक्षा क्या है?
- Google Play chargeback समीक्षा वह प्रक्रिया है जिसका उपयोग Google Play एक विवादित चार्ज का फ़ैसला करने से पहले डेवलपर से प्रमाण माँगने के लिए करता है। जब किसी ग्राहक का बैंक कोई चार्ज उलटता है, तो Google Play आपके सर्वर पर एक PendingRefundReviewNotification भेज सकता है और आपको ReviewRefund API के साथ जवाब देने के लिए 24 घंटे देता है, जिसमें एक refund प्राथमिकता और इस बात के प्रमाण देने होते हैं कि ग्राहक ने कितना उपभोग किया। यह एकमात्र Android refund रास्ता है जहाँ आपका इनपुट परिणाम को प्रभावित करता है।
- Google Play chargeback सूचना का जवाब देने के लिए मेरे पास कितना समय है?
- 24 घंटे। Google Play एक PendingRefundReviewNotification को एक Real Time Developer Notification के रूप में भेजता है, और आपको उस सूचना के 24 घंटे के भीतर ReviewRefund API को कॉल करना होता है। घड़ी तब शुरू होती है जब सूचना आपके Cloud Pub/Sub topic पर प्रकाशित होती है, इसलिए आपके कंज़्यूमर को एक निर्धारित समय पर पोल करने के बजाय रियल टाइम में सुनते रहना ज़रूरी है।
- orders.reviewrefund API मुझे क्या भेजने देता है?
- आप सूचना से pendingRefundToken, APPROVE, DECLINE, या NEUTRAL में से एक refundPreference, और उपभोग प्रमाण भेजते हैं। प्रमाण फ़ील्ड हैं consumptionPercentageMilliunits, मिलीयूनिट में एक पूर्णांक जहाँ 100000 का मतलब 100 percent उपभोग है, एक वैकल्पिक consumptionUsageEvents ऐरे जिसमें प्रति-घटना टाइमस्टैम्प, खाता id, IP address, विवरण, और location होता है, और एक sampleContentProvided बूलियन। एक सफल कॉल HTTP 200 के साथ एक खाली बॉडी लौटाती है।
- क्या मैं अपनी ReviewRefund प्रतिक्रिया भेजने के बाद उसे अपडेट कर सकता हूँ?
- नहीं। Google Play किसी दी गई सूचना के लिए आपकी पहली ReviewRefund कॉल दर्ज करता है और बाद की हर कॉल को अनदेखा करता है, फिर भी एक OK स्थिति लौटाता है। कोई ड्राफ़्ट या संशोधन नहीं है, इसलिए आपका पहला जवाब पूरा होना चाहिए। एकमात्र कॉल करने से पहले refund प्राथमिकता और सारा उपभोग प्रमाण जुटा लें।
- August 3, 2026 के बाद एक हारे हुए Google Play chargeback की क़ीमत कितनी होती है?
- August 3, 2026 के बाद रखे गए ऑर्डर के लिए, डेवलपर खरीद मूल्य में से Play की सेवा शुल्क घटाकर, साथ में वित्तीय संस्थान द्वारा लगाई गई chargeback फ़ीस वहन करता है। Google Play सेवा शुल्क का हिस्सा वहन करता रहता है। यह उस कंप्यूट, API कॉलों, स्टोरेज, और पेआउट के ऊपर से है जो आप ऑर्डर डिलीवर करने में पहले ही ख़र्च कर चुके हैं, जिनमें से कुछ भी refund नहीं लौटाता।
- कौन-से refund कारण एक लंबित समीक्षा सूचना को ट्रिगर करते हैं?
- केवल CHARGEBACK, जो सूचना में refundReason code 7 के रूप में आता है। दूसरे Google Play refund, जैसे 48 घंटे की सेल्फ-सर्विस खिड़की, सपोर्ट refund, और रद्द की गई खरीदारियाँ, डेवलपर के बिना तय होते हैं और एक लंबित समीक्षा नहीं खोलते। अगर आपको एक PendingRefundReviewNotification मिलती है, तो किसी बैंक ने एक चार्ज उलट दिया है और Google Play तय कर रहा है कि उसका मुक़ाबला करना है या नहीं।
स्रोत और आगे की जानकारी
- Android Developers: Help Google dispute chargebacks
- Google Play Developer API: orders.reviewrefund
- Android Developers: Real-time developer notifications reference
- Play Console Help: Updates to refund protection and chargeback cost responsibility
- Google Play Help: Refund policies for apps, games, and in-app purchases
RefundHalt
App Store और Google Play के लिए refund ऑटोपायलट
आगे पढ़ें
हर App Store खरीद के साथ एक appAccountToken जोड़ें, वरना आप रिफंड का बचाव नहीं कर पाएंगे
जब कोई ग्राहक रिफंड मांगता है तो Apple आपके सर्वर को एक CONSUMPTION_REQUEST भेजता है, लेकिन ट्रांज़ैक्शन कभी नहीं बताता कि वह कौन है। appAccountToken वह UUID है जो किसी खरीद को आपके उपयोगकर्ता से वापस जोड़ता है। इसे सेट करें और आप Apple को असली डेटा के साथ जवाब दे पाएंगे। इसे छोड़ दें और आप बस अनुमान लगाते रहेंगे।
अगर आपने Google Play खरीद को तीन दिनों के भीतर स्वीकार नहीं किया तो Google उसे रिफंड कर देता है, और यह आपको क्या कीमत चुकवाता है
Google Play स्वचालित रूप से किसी भी ऐसी खरीद को रिफंड कर देता है और वापस ले लेता है जिसे आपका सर्वर तीन दिनों के भीतर स्वीकार नहीं करता। यह एक इंटीग्रेशन विफलता है, ग्राहक का निर्णय नहीं, और यह पूरी तरह रोकी जा सकती है। यहाँ ठीक-ठीक नियम है, यह क्यों लागू होता है, और हर खोई हुई बिक्री की असली कीमत क्या है।