REST Resource: purchases.subscriptions

संसाधन: SubscriptionPurchase

इस्तेमाल पर रोक लगा दी गई है: इसके बजाय, SubscriptionPurchaseV2 का इस्तेमाल करें. SubscriptionPurchase संसाधन से, किसी उपयोगकर्ता की सदस्यता की खरीदारी की स्थिति के बारे में पता चलता है.

JSON के काेड में दिखाना
{
  "kind": string,
  "startTimeMillis": string,
  "expiryTimeMillis": string,
  "autoResumeTimeMillis": string,
  "autoRenewing": boolean,
  "priceCurrencyCode": string,
  "priceAmountMicros": string,
  "introductoryPriceInfo": {
    object (IntroductoryPriceInfo)
  },
  "countryCode": string,
  "developerPayload": string,
  "paymentState": integer,
  "cancelReason": integer,
  "userCancellationTimeMillis": string,
  "cancelSurveyResult": {
    object (SubscriptionCancelSurveyResult)
  },
  "orderId": string,
  "linkedPurchaseToken": string,
  "purchaseType": integer,
  "priceChange": {
    object (SubscriptionPriceChange)
  },
  "profileName": string,
  "emailAddress": string,
  "givenName": string,
  "familyName": string,
  "profileId": string,
  "acknowledgementState": integer,
  "externalAccountId": string,
  "promotionType": integer,
  "promotionCode": string,
  "obfuscatedExternalAccountId": string,
  "obfuscatedExternalProfileId": string
}
फ़ील्ड
kind

string

यह तरह, androidpublisher सेवा में subscriptionPurchase ऑब्जेक्ट को दिखाता है.

startTimeMillis

string (int64 format)

वह समय जब सदस्यता दी गई थी. यह समय, Epoch के बाद से मिलीसेकंड में होता है.

expiryTimeMillis

string (int64 format)

वह समय जब सदस्यता खत्म हो जाएगी. यह समय, Epoch के बाद से मिलीसेकंड में होता है.

autoResumeTimeMillis

string (int64 format)

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

autoRenewing

boolean

यह जानकारी कि सदस्यता की मौजूदा समयसीमा खत्म होने पर, वह अपने-आप रिन्यू होगी या नहीं.

priceCurrencyCode

string

सदस्यता के शुल्क के लिए, ISO 4217 का मुद्रा कोड. उदाहरण के लिए, अगर कीमत ब्रिटिश पाउंड स्टर्लिंग में दी गई है, तो priceCurrencyCode "GBP" होगा.

priceAmountMicros

string (int64 format)

सदस्यता की कीमत. जिन देशों में टैक्स शामिल करके कीमत तय नहीं की जाती है वहां कीमत में टैक्स शामिल नहीं होता. जिन देशों में टैक्स शामिल करके कीमत तय की जाती है वहां कीमत में टैक्स भी शामिल होता है. कीमत को माइक्रो-यूनिट में दिखाया जाता है. यहां 10, 00,000 माइक्रो-यूनिट,मुद्रा की एक यूनिट के बराबर होता है. उदाहरण के लिए, अगर सदस्यता की कीमत 1.99 यूरो है, तो priceAmountMicros की वैल्यू 1990000 होगी.

introductoryPriceInfo

object (IntroductoryPriceInfo)

सदस्यता की शुरुआती कीमत की जानकारी. यह सिर्फ़ तब दिखता है, जब सदस्यता को शुरुआती कीमत पर खरीदा गया हो.

इस फ़ील्ड से यह पता नहीं चलता कि सदस्यता फ़िलहाल शुरुआती कीमत पर उपलब्ध है या नहीं.

countryCode

string

सदस्यता देते समय, उपयोगकर्ता के बिलिंग देश/इलाके का ISO 3166-1 ऐल्फ़ा-2 कोड.

developerPayload

string

डेवलपर की ओर से तय की गई स्ट्रिंग, जिसमें किसी ऑर्डर के बारे में अतिरिक्त जानकारी होती है.

paymentState

integer

सदस्यता के पेमेंट की स्थिति. इसकी वैल्यू 0 हो सकती है. पेमेंट बाकी है 1. पेमेंट मिला 2. मुफ़्त में आज़माने की सुविधा 3. अपग्रेड/डाउनग्रेड को कुछ समय के लिए टाला गया है

यह सुविधा, रद्द की गई और खत्म हो चुकी सदस्यताओं के लिए उपलब्ध नहीं है.

cancelReason

integer

सदस्यता रद्द होने या अपने-आप रिन्यू न होने की वजह. इसकी वैल्यू 0 हो सकती है. उपयोगकर्ता ने सदस्यता 1 रद्द कर दी है. सिस्टम ने सदस्यता रद्द कर दी है. उदाहरण के लिए, बिलिंग से जुड़ी समस्या की वजह से 2. सदस्यता को नई सदस्यता 3 से बदल दिया गया. डेवलपर ने सदस्यता रद्द कर दी है

userCancellationTimeMillis

string (int64 format)

वह समय जब उपयोगकर्ता ने सदस्यता रद्द की थी. यह समय, ईपॉक के बाद से मिलीसेकंड में होता है. यह जानकारी सिर्फ़ तब मौजूद होती है, जब cancelReason की वैल्यू 0 हो.

cancelSurveyResult

object (SubscriptionCancelSurveyResult)

सदस्यता रद्द करने की प्रोसेस पूरी करते समय, उपयोगकर्ता की ओर से दी गई जानकारी (सदस्यता रद्द करने की वजह जानने के लिए सर्वे).

orderId

string

सदस्यता की खरीदारी से जुड़े, बार-बार होने वाले ऑर्डर का आईडी. अगर पेमेंट अस्वीकार होने की वजह से सदस्यता रद्द कर दी गई थी, तो यह पेमेंट अस्वीकार होने वाले ऑर्डर का आईडी होगा.

linkedPurchaseToken

string

अगर यह सदस्यता इनमें से कोई एक है, तो खरीदारी का ओरिजनल टोकन: 0. रद्द की गई, लेकिन खत्म नहीं हुई सदस्यता के लिए फिर से साइन अप करना 1. पिछली सदस्यता को अपग्रेड या डाउनग्रेड करना

उदाहरण के लिए, मान लें कि कोई उपयोगकर्ता साइन अप करता है और आपको खरीदारी का टोकन X मिलता है. इसके बाद, उपयोगकर्ता सदस्यता रद्द कर देता है और सदस्यता खत्म होने से पहले, फिर से साइन अप करने की प्रोसेस पूरी करता है. इस दौरान, आपको खरीदारी का टोकन Y मिलता है. आखिर में, उपयोगकर्ता अपनी सदस्यता अपग्रेड करता है और आपको खरीदारी का टोकन Z मिलता है. अगर आपने इस एपीआई को Z पर सेट किए गए परचेज़ टोकन के साथ कॉल किया है, तो इस फ़ील्ड को Y पर सेट किया जाएगा. अगर आपने इस एपीआई को Y परचेज़ टोकन के साथ कॉल किया है, तो इस फ़ील्ड को X पर सेट किया जाएगा. अगर आपने इस एपीआई को X परचेज़ टोकन के साथ कॉल किया है, तो यह फ़ील्ड सेट नहीं होगा.

purchaseType

integer

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

priceChange

object (SubscriptionPriceChange)

कीमत में हुए हाल ही के बदलाव की जानकारी उपलब्ध है. यह विकल्प सिर्फ़ तब दिखता है, जब सदस्यता के शुल्क में बदलाव होने वाला हो और उसे अब तक लागू न किया गया हो.

नई कीमत पर सदस्यता रिन्यू होने या सदस्यता रद्द होने के बाद, कीमत में हुए बदलाव की जानकारी नहीं मिलेगी.

profileName

string

सदस्यता खरीदते समय उपयोगकर्ता की प्रोफ़ाइल का नाम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है.

emailAddress

string

सदस्यता खरीदते समय उपयोगकर्ता का ईमेल पता. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है.

givenName

string

सदस्यता खरीदते समय उपयोगकर्ता का दिया गया नाम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है.

familyName

string

सदस्यता खरीदते समय उपयोगकर्ता का सरनेम. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है.

profileId

string

सदस्यता खरीदते समय उपयोगकर्ता का Google प्रोफ़ाइल आईडी. यह सिर्फ़ 'Subscribe with Google' से की गई खरीदारी के लिए मौजूद होता है.

acknowledgementState

integer

सदस्यता वाले प्रॉडक्ट की पुष्टि की स्थिति. इसकी वैल्यू 0 हो सकती है. अभी तक पुष्टि नहीं हुई है 1. स्वीकृत

externalAccountId

string

तीसरे पक्ष की सेवा में उपयोगकर्ता खाते का आइडेंटिफ़ायर. यह सिर्फ़ तब मौजूद होता है, जब सदस्यता खरीदने की प्रोसेस के दौरान खाता लिंक किया गया हो.

promotionType

integer

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

promotionCode

string

इस खरीदारी पर लागू किया गया प्रमोशन कोड. यह फ़ील्ड सिर्फ़ तब सेट होता है, जब सदस्यता खरीदते समय वैनिटी कोड प्रमोशन लागू किया गया हो.

obfuscatedExternalAccountId

string

यह आईडी का ऐसा वर्शन है जिसे छिपाया गया है. यह आपके ऐप्लिकेशन में उपयोगकर्ता के खाते से यूनीक तरीके से जुड़ा होता है. यह आईडी इन खरीदारी के लिए मौजूद होता है: * अगर खाता लिंक करने की प्रोसेस, सदस्यता खरीदने के फ़्लो के दौरान हुई हो. * खरीदारी करते समय, इसे https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid का इस्तेमाल करके सेट किया गया था.

obfuscatedExternalProfileId

string

यह आईडी का ऐसा वर्शन है जिसे छिपाया गया है. यह आपके ऐप्लिकेशन में उपयोगकर्ता की प्रोफ़ाइल से यूनीक तरीके से जुड़ा होता है. यह सिर्फ़ तब मौजूद होता है, जब खरीदारी करते समय https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid का इस्तेमाल किया गया हो.

IntroductoryPriceInfo

इस कुकी में, सदस्यता की शुरुआती कीमत की जानकारी होती है.

JSON के काेड में दिखाना
{
  "introductoryPriceCurrencyCode": string,
  "introductoryPriceAmountMicros": string,
  "introductoryPricePeriod": string,
  "introductoryPriceCycles": integer
}
फ़ील्ड
introductoryPriceCurrencyCode

string

सदस्यता की शुरुआती कीमत के लिए, ISO 4217 का करंसी कोड. उदाहरण के लिए, अगर कीमत ब्रिटिश पाउंड स्टर्लिंग में दी गई है, तो priceCurrencyCode "GBP" होगा.

introductoryPriceAmountMicros

string (int64 format)

सदस्यता की शुरुआती कीमत, जिसमें टैक्स शामिल नहीं है. मुद्रा, priceCurrencyCode के जैसी है. कीमत को माइक्रो-यूनिट में दिखाया जाता है. यहां 10, 00,000 माइक्रो-यूनिट,मुद्रा की एक यूनिट के बराबर होता है. उदाहरण के लिए, अगर सदस्यता की कीमत 1.99 यूरो है, तो priceAmountMicros की वैल्यू 1990000 होगी.

introductoryPricePeriod

string

आईएसओ 8601 फ़ॉर्मैट में बताई गई, शुरुआती कीमत की अवधि. सामान्य वैल्यू ये हैं (हालांकि, इनके अलावा और भी वैल्यू हो सकती हैं): "P1W" (एक हफ़्ता), "P1M" (एक महीना), "P3M" (तीन महीने), "P6M" (छह महीने), और "P1Y" (एक साल).

introductoryPriceCycles

integer

शुरुआती कीमत ऑफ़र करने के लिए बिलिंग अवधि की संख्या.

SubscriptionCancelSurveyResult

सदस्यता रद्द करने की प्रोसेस पूरी करते समय, उपयोगकर्ता की ओर से दी गई जानकारी (सदस्यता रद्द करने की वजह जानने के लिए सर्वे).

JSON के काेड में दिखाना
{
  "cancelSurveyReason": integer,
  "userInputCancelReason": string
}
फ़ील्ड
cancelSurveyReason

integer

सदस्यता रद्द करने की वह वजह जो उपयोगकर्ता ने सर्वे में चुनी थी. इसकी वैल्यू 0 हो सकती है. अन्य 1. यह सेवा मेरे लिए बहुत ज़्यादा काम की नहीं है 2. तकनीकी समस्याएं 3. कीमत से जुड़ी वजहें 4. मुझे एक बेहतर ऐप्लिकेशन मिला है

userInputCancelReason

string

उपयोगकर्ता की ओर से, इनपुट रद्द करने की वजह. यह जानकारी सिर्फ़ तब मौजूद होती है, जब cancelReason 0 हो.

SubscriptionPriceChange

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

JSON के काेड में दिखाना
{
  "newPrice": {
    object (Price)
  },
  "state": integer
}
फ़ील्ड
newPrice

object (Price)

सदस्यता रिन्यू करने के लिए नया शुल्क. यह तब लागू होगा, जब उपयोगकर्ता कीमत में हुए बदलाव को स्वीकार कर लेगा.

state

integer

किराये में बदलाव की मौजूदा स्थिति. इसकी वैल्यू 0 हो सकती है. बकाया: कीमत में बदलाव के लिए, उपयोगकर्ता की सहमति मिलना बाकी है. इस स्थिति में, इन-ऐप्लिकेशन एपीआई का इस्तेमाल करके, उपयोगकर्ता से पुष्टि करने का अनुरोध किया जा सकता है. 1. स्वीकार किया गया: कीमत में हुए बदलाव को स्वीकार करने की स्थिति. इस स्थिति में, सदस्यता उसी कीमत पर रिन्यू होगी. हालांकि, ऐसा तब तक होगा, जब तक सदस्यता रद्द नहीं की जाती. कीमत में बदलाव, सदस्यता रिन्यू होने पर लागू होगा. ध्यान दें कि सदस्यता के अगले रिन्यूअल पर, यह बदलाव लागू नहीं हो सकता.

तरीके

acknowledge

यह कुकी, सदस्यता खरीदने की पुष्टि करती है.

cancel
(deprecated)

इस्तेमाल बंद कर दिया गया है: इसके बजाय, purchases.subscriptionsv2.cancel का इस्तेमाल करें.

defer
(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 का स्टेटस डैशबोर्ड देखें.