blob: 4900f500eafdde18d3c79b1054f99e557b0f6ce6 [file] [log] [blame]
Craig Citro065b5302014-08-14 00:47:23 -07001<html><body>
2<style>
3
4body, h1, h2, h3, div, span, p, pre, a {
5 margin: 0;
6 padding: 0;
7 border: 0;
8 font-weight: inherit;
9 font-style: inherit;
10 font-size: 100%;
11 font-family: inherit;
12 vertical-align: baseline;
13}
14
15body {
16 font-size: 13px;
17 padding: 1em;
18}
19
20h1 {
21 font-size: 26px;
22 margin-bottom: 1em;
23}
24
25h2 {
26 font-size: 24px;
27 margin-bottom: 1em;
28}
29
30h3 {
31 font-size: 20px;
32 margin-bottom: 1em;
33 margin-top: 1em;
34}
35
36pre, code {
37 line-height: 1.5;
38 font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
39}
40
41pre {
42 margin-top: 0.5em;
43}
44
45h1, h2, h3, p {
46 font-family: Arial, sans serif;
47}
48
49h1, h2, h3 {
50 border-bottom: solid #CCC 1px;
51}
52
53.toc_element {
54 margin-top: 0.5em;
55}
56
57.firstline {
58 margin-left: 2 em;
59}
60
61.method {
62 margin-top: 1em;
63 border: solid 1px #CCC;
64 padding: 1em;
65 background: #EEE;
66}
67
68.details {
69 font-weight: bold;
70 font-size: 14px;
71}
72
73</style>
74
Nathaniel Manista4f877e52015-06-15 16:44:50 +000075<h1><a href="androidpublisher_v2.html">Google Play Developer API</a> . <a href="androidpublisher_v2.purchases.html">purchases</a> . <a href="androidpublisher_v2.purchases.subscriptions.html">subscriptions</a></h1>
Craig Citro065b5302014-08-14 00:47:23 -070076<h2>Instance Methods</h2>
77<p class="toc_element">
78 <code><a href="#cancel">cancel(packageName, subscriptionId, token)</a></code></p>
79<p class="firstline">Cancels a user's subscription purchase. The subscription remains valid until its expiration time.</p>
80<p class="toc_element">
Craig Citro0e5b9bf2014-10-15 10:26:14 -070081 <code><a href="#defer">defer(packageName, subscriptionId, token, body)</a></code></p>
82<p class="firstline">Defers a user's subscription purchase until a specified future expiration time.</p>
83<p class="toc_element">
Craig Citro065b5302014-08-14 00:47:23 -070084 <code><a href="#get">get(packageName, subscriptionId, token)</a></code></p>
85<p class="firstline">Checks whether a user's subscription purchase is valid and returns its expiry time.</p>
Craig Citro0e5b9bf2014-10-15 10:26:14 -070086<p class="toc_element">
87 <code><a href="#refund">refund(packageName, subscriptionId, token)</a></code></p>
88<p class="firstline">Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.</p>
89<p class="toc_element">
90 <code><a href="#revoke">revoke(packageName, subscriptionId, token)</a></code></p>
91<p class="firstline">Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.</p>
Craig Citro065b5302014-08-14 00:47:23 -070092<h3>Method Details</h3>
93<div class="method">
94 <code class="details" id="cancel">cancel(packageName, subscriptionId, token)</code>
95 <pre>Cancels a user's subscription purchase. The subscription remains valid until its expiration time.
96
97Args:
98 packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
99 subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
100 token: string, The token provided to the user's device when the subscription was purchased. (required)
101</pre>
102</div>
103
104<div class="method">
Craig Citro0e5b9bf2014-10-15 10:26:14 -0700105 <code class="details" id="defer">defer(packageName, subscriptionId, token, body)</code>
106 <pre>Defers a user's subscription purchase until a specified future expiration time.
107
108Args:
109 packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
110 subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
111 token: string, The token provided to the user's device when the subscription was purchased. (required)
112 body: object, The request body. (required)
113 The object takes the form of:
114
115{
116 "deferralInfo": { # A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time. # The information about the new desired expiry time for the subscription.
117 "expectedExpiryTimeMillis": "A String", # The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700118 "desiredExpiryTimeMillis": "A String", # The desired next expiry time to assign to the subscription, in milliseconds since the Epoch. The given time must be later/greater than the current expiry time for the subscription.
Craig Citro0e5b9bf2014-10-15 10:26:14 -0700119 },
120 }
121
122
123Returns:
124 An object of the form:
125
126 {
127 "newExpiryTimeMillis": "A String", # The new expiry time for the subscription in milliseconds since the Epoch.
128 }</pre>
129</div>
130
131<div class="method">
Craig Citro065b5302014-08-14 00:47:23 -0700132 <code class="details" id="get">get(packageName, subscriptionId, token)</code>
133 <pre>Checks whether a user's subscription purchase is valid and returns its expiry time.
134
135Args:
136 packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
137 subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
138 token: string, The token provided to the user's device when the subscription was purchased. (required)
139
140Returns:
141 An object of the form:
142
143 { # A SubscriptionPurchase resource indicates the status of a user's subscription purchase.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700144 "orderId": "A String", # The order id of the latest recurring order associated with the purchase of the subscription.
Craig Citro065b5302014-08-14 00:47:23 -0700145 "kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700146 "userCancellationTimeMillis": "A String", # The time at which the subscription was canceled by the user, in milliseconds since the epoch. Only present if cancelReason is 0.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700147 "countryCode": "A String", # ISO 3166-1 alpha-2 billing country/region code of the user at the time the subscription was granted.
148 "developerPayload": "A String", # A developer-specified string that contains supplemental information about an order.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700149 "priceChange": { # Contains the price change information for a subscription that can be used to control the user journey for the price change in the app. This can be in the form of seeking confirmation from the user or tailoring the experience for a successful conversion. # The latest price change information available. This is present only when there is an upcoming price change for the subscription yet to be applied.
150 #
151 # Once the subscription renews with the new price or the subscription is canceled, no price change information will be returned.
152 "state": 42, # The current state of the price change. Possible values are:
153 # - Outstanding: State for a pending price change waiting for the user to agree. In this state, you can optionally seek confirmation from the user using the In-App API.
154 # - Accepted: State for an accepted price change that the subscription will renew with unless it's canceled. The price change takes effect on a future date when the subscription renews. Note that the change might not occur when the subscription is renewed next.
155 "newPrice": { # The new price the subscription will renew with if the price change is accepted by the user.
156 "currency": "A String", # 3 letter Currency code, as defined by ISO 4217.
157 "priceMicros": "A String", # The price in millionths of the currency base unit represented as a string.
158 },
159 },
160 "familyName": "A String", # The family name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.
Craig Citro065b5302014-08-14 00:47:23 -0700161 "autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time.
Jon Wayne Parrott0a471d32016-05-19 10:54:38 -0700162 "paymentState": 42, # The payment state of the subscription. Possible values are:
163 # - Payment pending
164 # - Payment received
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700165 # - Free trial
166 # - Pending deferred upgrade/downgrade
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700167 "startTimeMillis": "A String", # Time at which the subscription was granted, in milliseconds since the Epoch.
Bu Sun Kim715bd7f2019-06-14 16:50:42 -0700168 "purchaseType": 42, # The type of purchase of the subscription. This field is only set if this purchase was not made using the standard in-app billing flow. Possible values are:
169 # - Test (i.e. purchased from a license testing account)
170 "priceCurrencyCode": "A String", # ISO 4217 currency code for the subscription price. For example, if the price is specified in British pounds sterling, price_currency_code is "GBP".
171 "emailAddress": "A String", # The email address of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.
172 "cancelSurveyResult": { # Information provided by the user when they complete the subscription cancellation flow (cancellation reason survey). # Information provided by the user when they complete the subscription cancellation flow (cancellation reason survey).
173 "cancelSurveyReason": 42, # The cancellation reason the user chose in the survey. Possible values are:
174 # - Other
175 # - I don't use this service enough
176 # - Technical issues
177 # - Cost-related reasons
178 # - I found a better app
179 "userInputCancelReason": "A String", # The customized input cancel reason from the user. Only present when cancelReason is 0.
180 },
181 "cancelReason": 42, # The reason why a subscription was canceled or is not auto-renewing. Possible values are:
182 # - User canceled the subscription
183 # - Subscription was canceled by the system, for example because of a billing problem
184 # - Subscription was replaced with a new subscription
185 # - Subscription was canceled by the developer
186 "profileId": "A String", # The Google profile id of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.
187 "profileName": "A String", # The profile name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.
188 "expiryTimeMillis": "A String", # Time at which the subscription will expire, in milliseconds since the Epoch.
189 "linkedPurchaseToken": "A String", # The purchase token of the originating purchase if this subscription is one of the following:
190 # - Re-signup of a canceled but non-lapsed subscription
191 # - Upgrade/downgrade from a previous subscription For example, suppose a user originally signs up and you receive purchase token X, then the user cancels and goes through the resignup flow (before their subscription lapses) and you receive purchase token Y, and finally the user upgrades their subscription and you receive purchase token Z. If you call this API with purchase token Z, this field will be set to Y. If you call this API with purchase token Y, this field will be set to X. If you call this API with purchase token X, this field will not be set.
192 "givenName": "A String", # The given name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.
Jon Wayne Parrott7d5badb2016-08-16 12:44:29 -0700193 "priceAmountMicros": "A String", # Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is €1.99, price_amount_micros is 1990000.
Craig Citro065b5302014-08-14 00:47:23 -0700194 }</pre>
195</div>
196
Craig Citro0e5b9bf2014-10-15 10:26:14 -0700197<div class="method">
198 <code class="details" id="refund">refund(packageName, subscriptionId, token)</code>
199 <pre>Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.
200
201Args:
202 packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
203 subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
204 token: string, The token provided to the user's device when the subscription was purchased. (required)
205</pre>
206</div>
207
208<div class="method">
209 <code class="details" id="revoke">revoke(packageName, subscriptionId, token)</code>
210 <pre>Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.
211
212Args:
213 packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
214 subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
215 token: string, The token provided to the user's device when the subscription was purchased. (required)
216</pre>
217</div>
218
Craig Citro065b5302014-08-14 00:47:23 -0700219</body></html>