REST Resource: purchases.subscriptions

संसाधन: SubscriptionPurchase

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

सदस्यता के शुल्क के लिए आईएसओ 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 हो सकती है. पेमेंट को मंज़ूरी मिलना बाकी है. पेमेंट मिला 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

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

introductoryPriceAmountMicros

string (int64 format)

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

introductoryPricePeriod

string

ISO 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

उपयोगकर्ता की सदस्यता की खरीदारी को रद्द करता है.

defer

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

get
(deprecated)

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

refund
(deprecated)

इस्तेमाल पर रोक लगा दी गई है: इसके बजाय, orders.refund का इस्तेमाल करें.

revoke
(deprecated)

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

गड़बड़ी के कोड

इस संसाधन के ऑपरेशन, यहां दिए गए एचटीटीपी गड़बड़ी कोड दिखाते हैं:

गड़बड़ी का कोड कारण ब्यौरा रिज़ॉल्यूशन
400 / 410 subscriptionExpired सदस्यता की समयसीमा खत्म हो गई है. इसलिए, अनुरोध की गई कार्रवाई पूरी नहीं की जा सकती. सदस्यता खत्म होने का समय देखें. यह कार्रवाई, खत्म हो चुकी सदस्यताओं पर नहीं की जा सकती.
400 subscriptionInvalidArgument सदस्यता के अनुरोध में अमान्य तर्क दिया गया था. एपीआई के दस्तावेज़ देखें और पक्का करें कि सभी ज़रूरी फ़ील्ड दिए गए हों और उन्हें सही तरीके से फ़ॉर्मैट किया गया हो.
400 invalidPurchaseState खरीदारी की स्थिति ऐसी नहीं है कि अनुरोध की गई कार्रवाई की जा सके. उदाहरण के लिए, ऐसा हो सकता है कि आपने पहले ही इस्तेमाल की जा चुकी खरीदारी की पुष्टि करने की कोशिश की हो या ऐसी सदस्यता रद्द करने की कोशिश की हो जो चालू नहीं है. कार्रवाई करने से पहले, Get API का इस्तेमाल करके संसाधन की मौजूदा स्थिति देखें. पक्का करें कि कार्रवाई के लिए संसाधन सही स्थिति में हो.
400 invalidValue अनुरोध में अमान्य वैल्यू दी गई है. आम तौर पर, यह गड़बड़ी तब दिखती है, जब खरीदारी का टोकन गलत हो या मान्य न हो. एपीआई के रेफ़रंस के आधार पर, अनुरोध के मुख्य हिस्से या पैरामीटर में मौजूद फ़ील्ड की अमान्य वैल्यू को ठीक करें.
400 prepaidSubscriptionNotSupported प्रीपेड सदस्यता के लिए, अनुरोध की गई कार्रवाई नहीं की जा सकती. पक्का करें कि यह कार्रवाई, सदस्यता के टाइप पर लागू हो. यह गड़बड़ी, Cancel, Defer, Refund या Revoke जैसे तरीकों से जुड़ी है.
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 स्टेटस डैशबोर्ड देखें.