अमान्य खरीदारी की एपीआई

संग्रह की मदद से व्यवस्थित रहें अपनी प्राथमिकताओं के आधार पर, कॉन्टेंट को सेव करें और कैटगरी में बांटें.

Google Play की खरीदारी के लिए इस्तेमाल होने वाले Google Play API से, आपको ऐसे ऑर्डर की सूची मिलती है जिन्हें उपयोगकर्ता ने खरीदा नहीं है. आप इस सूची में दी गई जानकारी का इस्तेमाल, निरस्त करने वाला ऐसा सिस्टम लागू करने के लिए कर सकते हैं जो उपयोगकर्ता को उन ऑर्डर के प्रॉडक्ट को ऐक्सेस करने से रोकता है.

यह एपीआई, इन-ऐप्लिकेशन ऑर्डर और ऐप्लिकेशन की सदस्यताओं पर एक साथ लागू होता है.

खरीदारी को इन तरीकों से अस्वीकार किया जा सकता है:

  • उपयोगकर्ता अपने ऑर्डर के लिए रिफ़ंड का अनुरोध करता है.
  • उपयोगकर्ता अपना ऑर्डर रद्द कर देता है.
  • किसी ऑर्डर के लिए फिर से शुल्क लिया जाता है.
  • डेवलपर ऑर्डर रद्द करता है या रिफ़ंड जारी करता है. ध्यान दें: अमान्य हुए खरीदारी एपीआई में सिर्फ़ निरस्त किए गए ऑर्डर दिखेंगे. अगर डेवलपर, निरस्त करने का विकल्प सेट किए बिना रिफ़ंड करता है, तो एपीआई में ऑर्डर नहीं दिखेंगे.
  • Google, ऑर्डर रद्द करता है या रिफ़ंड जारी करता है.

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

ऐक्सेस पाना

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

Google Play डेवलपर API (एपीआई) का आधिकारिक ऐक्सेस पाने के बारे में ज़्यादा जानने के लिए, ये गाइड देखें:

अमान्य खरीदारियां देखना

अमान्य खरीदारी की सूची का अनुरोध करने के लिए, GET तरीके का इस्तेमाल करें. अपने अनुरोध में, अपने ऐप्लिकेशन के लिए पूरी तरह से क्वालिफ़ाइड पैकेज का नाम शामिल करें, जैसे कि com.google.android.apps.maps—और एपीआई के लिए ऐक्सेस पाने पर आपको मिला ऑथराइज़ेशन टोकन.

GET https://www.googleapis.com/androidpublisher/v3/applications/
your_package_name/purchases/voidedpurchases?access_token=your_auth_token

अपने अनुरोध में ये पैरामीटर भी शामिल किए जा सकते हैं. इनमें से हर पैरामीटर ज़रूरी नहीं है:

शुरू होने का समय

वह समय, जो Unix epoch के बाद से मिलीसेकंड में लिया गया है. यह उस सबसे पुरानी खरीदारी के बाद है जिसे आपको रिस्पॉन्स में देखना है. डिफ़ॉल्ट रूप से, startTime को 30 दिन पहले के लिए सेट किया गया है.

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

खत्म होने का समय

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

maxResults
हर जवाब के तौर पर दिखने वाली, किसी भी ऐसी खरीदारी की संख्या जो लागू नहीं हुई. डिफ़ॉल्ट रूप से, यह वैल्यू 1,000 होती है. ध्यान दें कि इस पैरामीटर के लिए ज़्यादा से ज़्यादा वैल्यू 1,000 भी हो सकती है.
टोकन
पिछले जवाबों से एक जारी रखने वाला टोकन, जो आपको ज़्यादा नतीजे देखने की सुविधा देता है.
टाइप करें

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

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

{
  "tokenPagination": {
    "nextPageToken": "next_page_token"
  },
  "voidedPurchases": [
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_purchase_token",
      "purchaseTimeMillis": "1468825200000",
      "voidedTimeMillis": "1469430000000",
      "orderId": "some_order_id",
      "voidedSource": "0",
      "voidedReason": "4"
    },
    {
      "kind": "androidpublisher#voidedPurchase",
      "purchaseToken": "some_other_purchase_token",
      "purchaseTimeMillis": "1468825100000",
      "voidedTimeMillis": "1470034800000",
      "orderId": "some_other_order_id",
      "voidedSource": "2",
      "voidedReason": "5"
    },
  ]
}

कोटा

अमान्य सदस्यता खरीदारी एपीआई, हर कोटा के आधार पर ये कोटा सेट करता है:

  • 6000 क्वेरी प्रति दिन. (दिन की शुरुआत आधी रात को पैसिफ़िक समय के हिसाब से होती है.)
  • 30 सेकंड की अवधि के दौरान 30 क्वेरी.

शुरुआती अनुरोधों के लिए दिशा-निर्देश

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

  • maxResults पैरामीटर के लिए डिफ़ॉल्ट वैल्यू का इस्तेमाल करें. इस तरह, अगर आप एक दिन के लिए अपना पूरा क्वेरी कोटा इस्तेमाल करते हैं, तो आप 6,00,000 शून्य खरीदारी के विवरण फिर से पा सकते हैं.
  • अगर जवाब में nextPageToken के लिए कोई वैल्यू शामिल की जाती है, तो अपने अगले अनुरोध के दौरान यह वैल्यू token पैरामीटर को असाइन करें.

सबसे सही तरीके

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

  • इस अनचाहे एपीआई का इस्तेमाल करने के लिए, बेहतर रणनीति के तौर पर इस एपीआई का इस्तेमाल करें. ऐप्लिकेशन में खरीदने के लिए उपलब्ध प्रॉडक्ट का ऐक्सेस निरस्त करना आम तौर पर ज़्यादा असरदार होता है. ऐसा तब किया जाता है, जब उसमें इन-ऐप्लिकेशन खरीदारी की सही कीमत तय की गई हो. साथ ही, यह ऐप्लिकेशन का ऐसा डिज़ाइन होता है जो अनचाही कार्रवाई करने की सलाह नहीं देता, इसकी वजह से मज़बूत उपयोगकर्ता आधार मिलता है, जिसकी संस्कृति इस तरह के व्यवहार को अस्वीकार कर देती है और रिस्पॉन्सिव और असरदार उपयोगकर्ता सहायता चैनल.
  • सभी उपयोगकर्ताओं के लिए निष्पक्ष रहने के लिए, सर्टिफ़िकेट निरस्त करने से जुड़ी अपनी नीति को एक समान तरीके से मैनेज करें.
  • अनचाहे व्यवहार को ठीक करने के लिए, कुछ लोगों के हिसाब से बनाई गई नीति बनाने पर विचार करें. उदाहरण के लिए, शुरुआती अपराधों के लिए इन-ऐप्लिकेशन चेतावनियों के साथ शुरुआत करें और फिर अपने जवाब को उपयोगकर्ता के तौर पर अनचाही कार्रवाई के तौर पर बढ़ाएं. आखिरी उपाय के तौर पर, आप उपयोगकर्ता को आपके ऐप्लिकेशन के साथ इंटरैक्ट करने से बिल्कुल भी रोक सकते हैं.
  • अगर निरस्त करने से जुड़ी नीति लागू की जाती है, तो हर बार अपने ऐप्लिकेशन को अपडेट करने के लिए, अपने ऐप्लिकेशन के आउटरीच चैनल का इस्तेमाल करें. अपने ऐप्लिकेशन में इन बदलावों को लागू होने से पहले, उपयोगकर्ताओं को पूरी तरह से समझने के लिए समय दें.
  • अपने उपयोगकर्ताओं के साथ पारदर्शिता शेयर करें और कोई भी कार्रवाई करने से पहले उन्हें इसकी सूचना दें. जैसे, ऐप्लिकेशन में खरीदने के लिए बनाए गए प्रॉडक्ट के ऐक्सेस को निरस्त करना. आम तौर पर, उपयोगकर्ताओं को आपके फ़ैसलों पर विवाद करने में सक्षम होना चाहिए और ऐसे विवादों के साथ उचित व्यवहार किया जाना चाहिए.
  • अनचाहे तरीकों और उनके ज़रिए इस तरह के व्यवहार को अंजाम देने के तरीकों को समझने के लिए, सुझावों वाले फ़ॉर्म और कम्यूनिटी फ़ोरम पर नज़र रखें. इस तरह की अहम जानकारी पर, सुरक्षा के लिए पहली लाइन का इस्तेमाल करें.