- संसाधन: SubscriptionPurchase
- IntroductoryPriceInfo
- SubscriptionCancelSurveyResult
- SubscriptionPriceChange
- तरीके
संसाधन: SubscriptionPurchase
इस्तेमाल पर रोक लगा दी गई है: इसके बजाय, SubscriptionPurchaseV2 का इस्तेमाल करें. SubscriptionPurchase संसाधन से, किसी उपयोगकर्ता की सदस्यता की खरीदारी की स्थिति के बारे में पता चलता है.
| JSON के काेड में दिखाना |
|---|
{ "kind": string, "startTimeMillis": string, "expiryTimeMillis": string, "autoResumeTimeMillis": string, "autoRenewing": boolean, "priceCurrencyCode": string, "priceAmountMicros": string, "introductoryPriceInfo": { object ( |
| फ़ील्ड | |
|---|---|
kind |
यह तरह, androidpublisher सेवा में subscriptionPurchase ऑब्जेक्ट को दिखाता है. |
startTimeMillis |
वह समय जब सदस्यता दी गई थी. यह समय, Epoch के बाद से मिलीसेकंड में होता है. |
expiryTimeMillis |
वह समय जब सदस्यता खत्म हो जाएगी. यह समय, Epoch के बाद से मिलीसेकंड में होता है. |
autoResumeTimeMillis |
वह समय जब सदस्यता अपने-आप फिर से शुरू हो जाएगी. यह समय, Epoch के बाद से मिलीसेकंड में होता है. यह सिर्फ़ तब दिखता है, जब उपयोगकर्ता ने सदस्यता रोकने का अनुरोध किया हो. |
autoRenewing |
यह जानकारी कि सदस्यता की मौजूदा समयसीमा खत्म होने पर, वह अपने-आप रिन्यू होगी या नहीं. |
priceCurrencyCode |
सदस्यता के शुल्क के लिए, ISO 4217 का मुद्रा कोड. उदाहरण के लिए, अगर कीमत ब्रिटिश पाउंड स्टर्लिंग में दी गई है, तो priceCurrencyCode "GBP" होगा. |
priceAmountMicros |
सदस्यता की कीमत. जिन देशों में टैक्स शामिल करके कीमत तय नहीं की जाती है वहां कीमत में टैक्स शामिल नहीं होता. जिन देशों में टैक्स शामिल करके कीमत तय की जाती है वहां कीमत में टैक्स भी शामिल होता है. कीमत को माइक्रो-यूनिट में दिखाया जाता है. यहां 10, 00,000 माइक्रो-यूनिट,मुद्रा की एक यूनिट के बराबर होता है. उदाहरण के लिए, अगर सदस्यता की कीमत 1.99 यूरो है, तो priceAmountMicros की वैल्यू 1990000 होगी. |
introductoryPriceInfo |
सदस्यता की शुरुआती कीमत की जानकारी. यह सिर्फ़ तब दिखता है, जब सदस्यता को शुरुआती कीमत पर खरीदा गया हो. इस फ़ील्ड से यह पता नहीं चलता कि सदस्यता फ़िलहाल शुरुआती कीमत पर उपलब्ध है या नहीं. |
countryCode |
सदस्यता देते समय, उपयोगकर्ता के बिलिंग देश/इलाके का ISO 3166-1 ऐल्फ़ा-2 कोड. |
developerPayload |
डेवलपर की ओर से तय की गई स्ट्रिंग, जिसमें किसी ऑर्डर के बारे में अतिरिक्त जानकारी होती है. |
paymentState |
सदस्यता के पेमेंट की स्थिति. इसकी वैल्यू 0 हो सकती है. पेमेंट बाकी है 1. पेमेंट मिला 2. मुफ़्त में आज़माने की सुविधा 3. अपग्रेड/डाउनग्रेड को कुछ समय के लिए टाला गया है यह सुविधा, रद्द की गई और खत्म हो चुकी सदस्यताओं के लिए उपलब्ध नहीं है. |
cancelReason |
सदस्यता रद्द होने या अपने-आप रिन्यू न होने की वजह. इसकी वैल्यू 0 हो सकती है. उपयोगकर्ता ने सदस्यता 1 रद्द कर दी है. सिस्टम ने सदस्यता रद्द कर दी है. उदाहरण के लिए, बिलिंग से जुड़ी समस्या की वजह से 2. सदस्यता को नई सदस्यता 3 से बदल दिया गया. डेवलपर ने सदस्यता रद्द कर दी है |
userCancellationTimeMillis |
वह समय जब उपयोगकर्ता ने सदस्यता रद्द की थी. यह समय, ईपॉक के बाद से मिलीसेकंड में होता है. यह जानकारी सिर्फ़ तब मौजूद होती है, जब cancelReason की वैल्यू 0 हो. |
cancelSurveyResult |
सदस्यता रद्द करने की प्रोसेस पूरी करते समय, उपयोगकर्ता की ओर से दी गई जानकारी (सदस्यता रद्द करने की वजह जानने के लिए सर्वे). |
orderId |
सदस्यता की खरीदारी से जुड़े, बार-बार होने वाले ऑर्डर का आईडी. अगर पेमेंट अस्वीकार होने की वजह से सदस्यता रद्द कर दी गई थी, तो यह पेमेंट अस्वीकार होने वाले ऑर्डर का आईडी होगा. |
linkedPurchaseToken |
अगर यह सदस्यता इनमें से कोई एक है, तो खरीदारी का ओरिजनल टोकन: 0. रद्द की गई, लेकिन खत्म नहीं हुई सदस्यता के लिए फिर से साइन अप करना 1. पिछली सदस्यता को अपग्रेड या डाउनग्रेड करना उदाहरण के लिए, मान लें कि कोई उपयोगकर्ता साइन अप करता है और आपको खरीदारी का टोकन X मिलता है. इसके बाद, उपयोगकर्ता सदस्यता रद्द कर देता है और सदस्यता खत्म होने से पहले, फिर से साइन अप करने की प्रोसेस पूरी करता है. इस दौरान, आपको खरीदारी का टोकन Y मिलता है. आखिर में, उपयोगकर्ता अपनी सदस्यता अपग्रेड करता है और आपको खरीदारी का टोकन Z मिलता है. अगर आपने इस एपीआई को Z पर सेट किए गए परचेज़ टोकन के साथ कॉल किया है, तो इस फ़ील्ड को Y पर सेट किया जाएगा. अगर आपने इस एपीआई को Y परचेज़ टोकन के साथ कॉल किया है, तो इस फ़ील्ड को X पर सेट किया जाएगा. अगर आपने इस एपीआई को X परचेज़ टोकन के साथ कॉल किया है, तो यह फ़ील्ड सेट नहीं होगा. |
purchaseType |
सदस्यता खरीदने का टाइप. यह फ़ील्ड सिर्फ़ तब सेट होता है, जब यह खरीदारी, ऐप्लिकेशन में खरीदारी के स्टैंडर्ड बिलिंग फ़्लो का इस्तेमाल करके नहीं की गई हो. इसकी वैल्यू 0 हो सकती है. टेस्ट (यानी कि लाइसेंस टेस्टिंग वाले खाते से खरीदा गया) 1. प्रमोशन (यानी कि प्रोमो कोड का इस्तेमाल करके खरीदा गया) |
priceChange |
कीमत में हुए हाल ही के बदलाव की जानकारी उपलब्ध है. यह विकल्प सिर्फ़ तब दिखता है, जब सदस्यता के शुल्क में बदलाव होने वाला हो और उसे अब तक लागू न किया गया हो. नई कीमत पर सदस्यता रिन्यू होने या सदस्यता रद्द होने के बाद, कीमत में हुए बदलाव की जानकारी नहीं मिलेगी. |
profileName |
सदस्यता खरीदते समय उपयोगकर्ता की प्रोफ़ाइल का नाम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है. |
emailAddress |
सदस्यता खरीदते समय उपयोगकर्ता का ईमेल पता. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है. |
givenName |
सदस्यता खरीदते समय उपयोगकर्ता का दिया गया नाम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है. |
familyName |
सदस्यता खरीदते समय उपयोगकर्ता का सरनेम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है. |
profileId |
सदस्यता खरीदते समय उपयोगकर्ता का Google प्रोफ़ाइल आईडी. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है. |
acknowledgementState |
सदस्यता वाले प्रॉडक्ट की पुष्टि की स्थिति. इसकी वैल्यू 0 हो सकती है. अभी तक पुष्टि नहीं हुई है 1. स्वीकृत |
externalAccountId |
तीसरे पक्ष की सेवा में उपयोगकर्ता खाते का आइडेंटिफ़ायर. यह सिर्फ़ तब मौजूद होता है, जब सदस्यता खरीदने की प्रोसेस के दौरान खाता लिंक किया गया हो. |
promotionType |
इस खरीदारी पर लागू किए गए प्रमोशन का टाइप. यह फ़ील्ड सिर्फ़ तब सेट होता है, जब सदस्यता खरीदते समय कोई प्रमोशन लागू किया गया हो. इसकी वैल्यू 0 हो सकती है. एक बार इस्तेमाल होने वाला कोड 1. वैनिटी कोड |
promotionCode |
इस खरीदारी पर लागू किया गया प्रमोशन कोड. यह फ़ील्ड सिर्फ़ तब सेट होता है, जब सदस्यता खरीदते समय वैनिटी कोड प्रमोशन लागू किया गया हो. |
obfuscatedExternalAccountId |
यह आईडी का ऐसा वर्शन है जिसे छिपाया गया है. यह आपके ऐप्लिकेशन में उपयोगकर्ता के खाते से यूनीक तरीके से जुड़ा होता है. यह आईडी इन खरीदारी के लिए मौजूद होता है: * अगर खाता लिंक करने की प्रोसेस, सदस्यता खरीदने के फ़्लो के दौरान हुई हो. * खरीदारी करते समय, इसे https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid का इस्तेमाल करके सेट किया गया था. |
obfuscatedExternalProfileId |
यह आईडी का ऐसा वर्शन है जिसे छिपाया गया है. यह आपके ऐप्लिकेशन में उपयोगकर्ता की प्रोफ़ाइल से यूनीक तरीके से जुड़ा होता है. यह सिर्फ़ तब मौजूद होता है, जब खरीदारी करते समय https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid का इस्तेमाल किया गया हो. |
IntroductoryPriceInfo
इस कुकी में, सदस्यता की शुरुआती कीमत की जानकारी होती है.
| JSON के काेड में दिखाना |
|---|
{ "introductoryPriceCurrencyCode": string, "introductoryPriceAmountMicros": string, "introductoryPricePeriod": string, "introductoryPriceCycles": integer } |
| फ़ील्ड | |
|---|---|
introductoryPriceCurrencyCode |
सदस्यता की शुरुआती कीमत के लिए, ISO 4217 का करंसी कोड. उदाहरण के लिए, अगर कीमत ब्रिटिश पाउंड स्टर्लिंग में दी गई है, तो priceCurrencyCode "GBP" होगा. |
introductoryPriceAmountMicros |
सदस्यता की शुरुआती कीमत, जिसमें टैक्स शामिल नहीं है. मुद्रा, priceCurrencyCode के जैसी है. कीमत को माइक्रो-यूनिट में दिखाया जाता है. यहां 10, 00,000 माइक्रो-यूनिट,मुद्रा की एक यूनिट के बराबर होता है. उदाहरण के लिए, अगर सदस्यता की कीमत 1.99 यूरो है, तो priceAmountMicros की वैल्यू 1990000 होगी. |
introductoryPricePeriod |
आईएसओ 8601 फ़ॉर्मैट में बताई गई, शुरुआती कीमत की अवधि. सामान्य वैल्यू ये हैं (हालांकि, इनके अलावा और भी वैल्यू हो सकती हैं): "P1W" (एक हफ़्ता), "P1M" (एक महीना), "P3M" (तीन महीने), "P6M" (छह महीने), और "P1Y" (एक साल). |
introductoryPriceCycles |
शुरुआती कीमत ऑफ़र करने के लिए बिलिंग अवधि की संख्या. |
SubscriptionCancelSurveyResult
सदस्यता रद्द करने की प्रोसेस पूरी करते समय, उपयोगकर्ता की ओर से दी गई जानकारी (सदस्यता रद्द करने की वजह जानने के लिए सर्वे).
| JSON के काेड में दिखाना |
|---|
{ "cancelSurveyReason": integer, "userInputCancelReason": string } |
| फ़ील्ड | |
|---|---|
cancelSurveyReason |
सदस्यता रद्द करने की वह वजह जो उपयोगकर्ता ने सर्वे में चुनी थी. इसकी वैल्यू 0 हो सकती है. अन्य 1. यह सेवा मेरे लिए बहुत ज़्यादा काम की नहीं है 2. तकनीकी समस्याएं 3. कीमत से जुड़ी वजहें 4. मुझे एक बेहतर ऐप्लिकेशन मिला है |
userInputCancelReason |
उपयोगकर्ता की ओर से, इनपुट रद्द करने की वजह. यह जानकारी सिर्फ़ तब मौजूद होती है, जब cancelReason 0 हो. |
SubscriptionPriceChange
इसमें किसी सदस्यता के लिए, कीमत में हुए बदलाव की जानकारी होती है. इसका इस्तेमाल, ऐप्लिकेशन में कीमत में हुए बदलाव के लिए उपयोगकर्ता के सफ़र को कंट्रोल करने के लिए किया जा सकता है. यह उपयोगकर्ता से पुष्टि पाने या कन्वर्ज़न को बेहतर बनाने के लिए, अनुभव को बेहतर बनाने के तौर पर हो सकता है.
| JSON के काेड में दिखाना |
|---|
{
"newPrice": {
object ( |
| फ़ील्ड | |
|---|---|
newPrice |
सदस्यता रिन्यू करने के लिए नया शुल्क. यह तब लागू होगा, जब उपयोगकर्ता कीमत में हुए बदलाव को स्वीकार कर लेगा. |
state |
किराये में बदलाव की मौजूदा स्थिति. इसकी वैल्यू 0 हो सकती है. बकाया: कीमत में बदलाव के लिए, उपयोगकर्ता की सहमति मिलना बाकी है. इस स्थिति में, इन-ऐप्लिकेशन एपीआई का इस्तेमाल करके, उपयोगकर्ता से पुष्टि करने का अनुरोध किया जा सकता है. 1. स्वीकार किया गया: कीमत में हुए बदलाव को स्वीकार करने की स्थिति. इस स्थिति में, सदस्यता उसी कीमत पर रिन्यू होगी. हालांकि, ऐसा तब तक होगा, जब तक सदस्यता रद्द नहीं की जाती. कीमत में बदलाव, सदस्यता रिन्यू होने पर लागू होगा. ध्यान दें कि सदस्यता के अगले रिन्यूअल पर, यह बदलाव लागू नहीं हो सकता. |
तरीके |
|
|---|---|
|
यह कुकी, सदस्यता खरीदने की पुष्टि करती है. |
(deprecated) |
इस्तेमाल बंद कर दिया गया है: इसके बजाय, purchases.subscriptionsv2.cancel का इस्तेमाल करें. |
(deprecated) |
इस्तेमाल बंद कर दिया गया है: इसके बजाय, purchases.subscriptionsv2.defer का इस्तेमाल करें. |
गड़बड़ी के कोड
इस संसाधन के ऑपरेशन, यहां दिए गए एचटीटीपी गड़बड़ी कोड दिखाते हैं:
| गड़बड़ी का कोड | कारण | ब्यौरा | रिज़ॉल्यूशन |
|---|---|---|---|
400 / 410 |
subscriptionExpired |
सदस्यता की समयसीमा खत्म हो गई है. इसलिए, अनुरोध की गई कार्रवाई पूरी नहीं की जा सकती. | सदस्यता खत्म होने का समय देखें. जिन सदस्यताओं की समयसीमा खत्म हो गई है उन पर यह कार्रवाई नहीं की जा सकती. |
400 |
subscriptionInvalidArgument |
सदस्यता के अनुरोध में अमान्य तर्क दिया गया था. | एपीआई के दस्तावेज़ देखें. साथ ही, पक्का करें कि सभी ज़रूरी फ़ील्ड दिए गए हों और उन्हें सही तरीके से फ़ॉर्मैट किया गया हो. |
400 |
invalidPurchaseState |
खरीदारी की स्थिति ऐसी नहीं है कि अनुरोध की गई कार्रवाई की जा सके. उदाहरण के लिए, हो सकता है कि आपने पहले ही किसी खरीदारी का इस्तेमाल कर लिया हो या आपको ऐसी सदस्यता रद्द करनी हो जो चालू नहीं है. | कार्रवाई करने से पहले, Get API का इस्तेमाल करके संसाधन की मौजूदा स्थिति देखें. पक्का करें कि कार्रवाई के लिए संसाधन सही स्थिति में हो. |
400 |
invalidValue |
अनुरोध में अमान्य वैल्यू दी गई है. यह गड़बड़ी अक्सर गलत फ़ॉर्मैट वाले या अमान्य खरीदारी टोकन के लिए दिखती है. | एपीआई के संदर्भ के आधार पर, अनुरोध के मुख्य हिस्से या पैरामीटर में मौजूद अमान्य फ़ील्ड वैल्यू को ठीक करें. |
400 |
prepaidSubscriptionNotSupported |
प्रीपेड सदस्यता के लिए, अनुरोध की गई कार्रवाई मौजूद नहीं है. | पक्का करें कि यह कार्रवाई, सदस्यता के टाइप पर लागू हो. यह गड़बड़ी, Cancel जैसे तरीकों से जुड़ी है. |
400 |
productNotOwnedByUser |
खरीदारी के लिए दिया गया टोकन मान्य है, लेकिन फ़िलहाल उपयोगकर्ता के पास प्रॉडक्ट का मालिकाना हक नहीं है. ऐसा तब हो सकता है, जब खरीदारी की पुष्टि होने से पहले ही उसे रिफ़ंड कर दिया गया हो, रद्द कर दिया गया हो या उसकी समयसीमा खत्म हो गई हो. | कार्रवाई करने से पहले, Get API का इस्तेमाल करके संसाधन की मौजूदा स्थिति देखें. पक्का करें कि कार्रवाई के लिए संसाधन सही स्थिति में हो. |
400 |
purchaseTokenMismatch |
खरीदारी के लिए दिया गया टोकन, खरीदारी, पैकेज के नाम, सदस्यता आईडी या प्रॉडक्ट आईडी से मेल नहीं खाता. | पुष्टि करें कि अनुरोध में दी गई सभी जानकारी सही है और एक-दूसरे से मेल खाती है. |
400 |
required |
अनुरोध में कोई ज़रूरी फ़ील्ड या पैरामीटर मौजूद नहीं है. | एपीआई के दस्तावेज़ देखें. इससे यह पक्का किया जा सकेगा कि सभी ज़रूरी फ़ील्ड और पैरामीटर शामिल किए गए हों. |
400 |
unsupportedIabType |
इन-ऐप बिलिंग के दिए गए टाइप के लिए, यह कार्रवाई मौजूद नहीं है. | पक्का करें कि एपीआई का तरीका, मैनेज किए जा रहे सामान की कैटगरी के साथ काम करता हो. |
403 |
userInsufficientPermission |
उपयोगकर्ता के पास, अनुरोध की गई कार्रवाई को पूरा करने की अनुमति नहीं है. | पक्का करें कि पुष्टि किए गए उपयोगकर्ता के पास, Google Play Console में ज़रूरी अनुमतियां हों. ज़्यादा जानकारी के लिए, सेवा खाते का इस्तेमाल करना लेख पढ़ें. |
404 |
notFound |
अनुरोध किया गया संसाधन नहीं मिला. | पुष्टि करें कि आइडेंटिफ़ायर (जैसे, परचेज़ टोकन, पैकेज का नाम, प्रॉडक्ट आईडी, सदस्यता आईडी) सही हैं. |
409 |
concurrentUpdate |
एक साथ अपडेट किए जा रहे किसी ऑब्जेक्ट को अपडेट करने की कोशिश की गई. | एक्स्पोनेंशियल बैकऑफ़ के साथ अनुरोध को फिर से भेजें. एक ही संसाधन में एक साथ कई बदलाव न करें. |
410 |
purchaseTokenNoLongerValid |
खरीदारी का टोकन हमेशा के लिए अमान्य हो जाता है. ऐसा इसलिए होता है, क्योंकि इससे जुड़ा उपयोगकर्ता खाता मिटा दिया गया है या खरीदारी का रिकॉर्ड अब मौजूद नहीं है. | इस परचेज़ टोकन का इस्तेमाल बंद कर दें. |
410 |
subscriptionNoLongerAvailable |
सदस्यता की खरीदारी के बारे में अब क्वेरी नहीं की जा सकती, क्योंकि इसकी समयसीमा बहुत पहले खत्म हो चुकी है. | इस गड़बड़ी का मतलब है कि सदस्यता की समयसीमा 60 दिनों से ज़्यादा समय पहले खत्म हो गई है. अब आपको इन सदस्यताओं के बारे में क्वेरी नहीं करनी चाहिए. |
5xx |
Generic error |
Google Play के सर्वर में सामान्य गड़बड़ी हुई. | अनुरोध फिर से करें. अगर समस्या बनी रहती है, तो अपने Google Play खाता मैनेजर से संपर्क करें या सहायता के लिए अनुरोध सबमिट करें. अगर आपको कोई समस्या आ रही है, तो Play का स्टेटस डैशबोर्ड देखें. |