Google Google Play Developer API के माध्यम से रसीद सत्यापन प्रदान करता है , एपीआई के भीतर दो एंडपॉइंट हैं जो आप में सबसे अधिक रुचि रखते हैं: Purchase.products: get और Purchase.subsults: get ।
Purchases.products: get
एक गैर-ऑटो-नवीनीकरण उत्पाद खरीद को सत्यापित करने के लिए इस्तेमाल किया जा सकता है, जहां उत्पाद नवीनीकरण की Purchases.subscriptions: get
पुष्टि और पुन: सत्यापन करने के लिए है।
या तो endpoint आपको पता होना चाहिए का उपयोग करने के packageName
, productId
, purchaseToken
इन सभी का पेलोड आप खरीद पर प्राप्त में पाया जा सकता। आपको access_token
Google API सेवा खाता बनाकर भी मिल सकता है।
सेवा खाते के साथ आरंभ करने के लिए सबसे पहले Google play Developer कंसोल API एक्सेस सेटिंग पेज पर जाएं और नया प्रोजेक्ट बनाएं बटन पर क्लिक करें:
अब आपको सेवा खाता अनुभाग में एक नया लिंक्ड प्रोजेक्ट और कुछ नए अनुभाग देखने चाहिए, सेवा खाता बनाएं बटन पर क्लिक करें।
आपको अपना सेवा खाता बनाने के निर्देशों के साथ एक सूचना बॉक्स के साथ प्रस्तुत किया जाएगा। Google डेवलपर्स कंसोल के लिंक पर क्लिक करें और एक नया टैब स्पॉन होगा।
अब Create New Client ID पर क्लिक करें, विकल्पों में से Service account चुनें और Create Client ID पर क्लिक करें।
एक JSON फ़ाइल डाउनलोड होगी, यह आपकी JSON वेब टोकन है जिसे आप access_token
सुरक्षित रखने के लिए विनिमय के लिए उपयोग करेंगे ।
इसके बाद, Google play Developer कंसोल पर वापस टैब स्विच करें और जानकारी बॉक्स में Done पर क्लिक करें। आपको सूची में अपना नया सेवा खाता देखना चाहिए। सेवा खाते के ईमेल के बगल में स्थित अनुदान पर क्लिक करें।
इस उपयोगकर्ता के लिए एक भूमिका चुनें के तहत, वित्त का चयन करें और उपयोगकर्ता जोड़ें पर क्लिक करें।
अब आपने अपना सेवा खाता खोल दिया है और रसीद सत्यापन करने के लिए सभी आवश्यक पहुँच है। अगला अप आपके JWT को access_token के लिए एक्सचेंज कर रहा है।
access_token
विनिमय के एक घंटे के बाद की समय सीमा समाप्त होने के बाद आपको इसे संभालने के लिए कुछ सर्वर कोड की आवश्यकता होती है और Google ने इसे संभालने के लिए कई भाषाओं में कई लाइब्रेरी प्रदान की हैं (सूची संपूर्ण नहीं):
मैं विस्तार में नहीं जाना होगा कि कैसे इन पुस्तकालयों का उपयोग करने के बारे में दस्तावेज के लिए बहुत कुछ है क्योंकि वहाँ है, लेकिन मैं आप उपयोग करना चाहते उल्लेख होगा https://www.googleapis.com/auth/androidpublisher
, OAuth2 गुंजाइश के रूप में client_email
जेडब्ल्यूटी से के रूप में issuer
और सार्वजनिक कुंजी आप से प्राप्त कर सकते हैं private_key
और पासफ़्रेज़ notasecret
का उपयोग किया जाएगा signing_key
।
एक बार आपके पास access_token
जाने के लिए अच्छा है (कम से कम अगले घंटे के लिए जिस बिंदु पर आप उपरोक्त पैराग्राफ में उसी प्रक्रिया का पालन करके एक नया अनुरोध करना चाहेंगे)।
एक उपभोज्य (गैर-ऑटो-नवीनीकरण) खरीद की स्थिति की जांच करने के लिए एक http get
अनुरोध करें:https://www.googleapis.com/androidpublisher/v2/applications/com.example.app/purchases/products/exampleSku/tokens/rojeslcdyyiapnqcynkjyyjh?access_token=your_access_token
यदि आपको 200 http प्रतिक्रिया कोड मिलता है, तो सब कुछ योजना के अनुसार हुआ और आपकी खरीद वैध थी। 404 का अर्थ होगा कि आपका टोकन अमान्य है, इसलिए खरीदारी में धोखाधड़ी का प्रयास सबसे अधिक था। एक 401 का मतलब है कि आपकी पहुंच टोकन अमान्य है और 403 का मतलब होगा कि आपके सेवा खाते में अपर्याप्त पहुंच है, जांचें कि आपने Google Play डेवलपर कंसोल में एक्सेस खाते के लिए वित्त सक्षम किया है।
200 की प्रतिक्रिया इस तरह दिखाई देगी:
{
"kind": "androidpublisher#productPurchase",
"purchaseTimeMillis": long,
"purchaseState": integer,
"consumptionState": integer,
"developerPayload": string
}
प्रत्येक संपत्ति की व्याख्या के लिए https://developers.google.com/android-publisher/api-ref/purchases/products देखें ।
सदस्यताएं समान हैं लेकिन समापन बिंदु इस तरह दिखता है:
https://www.googleapis.com/androidpublisher/v2/applications/packageName/purchases/subscriptions/subscriptionId/tokens/token?access_token=you_access_token
और प्रतिक्रिया में ये गुण होने चाहिए:
{
"kind": "androidpublisher#subscriptionPurchase",
"startTimeMillis": long,
"expiryTimeMillis": long,
"autoRenewing": boolean
}
देखें https://developers.google.com/android-publisher/api-ref/purchases/subscriptions संपत्ति विवरण और ध्यान दें कि के लिए startTimeMillis
और expiryTimeMillis
विषय सदस्यता की अवधि के आधार पर बदलने के लिए किया जाएगा।
खुश वैध!