<html><body>
<style>
body, h1, h2, h3, div, span, p, pre, a {
margin: 0;
padding: 0;
border: 0;
font-weight: inherit;
font-style: inherit;
font-size: 100%;
font-family: inherit;
vertical-align: baseline;
}
body {
font-size: 13px;
padding: 1em;
}
h1 {
font-size: 26px;
margin-bottom: 1em;
}
h2 {
font-size: 24px;
margin-bottom: 1em;
}
h3 {
font-size: 20px;
margin-bottom: 1em;
margin-top: 1em;
}
pre, code {
line-height: 1.5;
font-family: Monaco, 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Lucida Console', monospace;
}
pre {
margin-top: 0.5em;
}
h1, h2, h3, p {
font-family: Arial, sans serif;
}
h1, h2, h3 {
border-bottom: solid #CCC 1px;
}
.toc_element {
margin-top: 0.5em;
}
.firstline {
margin-left: 2 em;
}
.method {
margin-top: 1em;
border: solid 1px #CCC;
padding: 1em;
background: #EEE;
}
.details {
font-weight: bold;
font-size: 14px;
}
</style>
<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>
<h2>Instance Methods</h2>
<p class="toc_element">
<code><a href="#cancel">cancel(packageName, subscriptionId, token)</a></code></p>
<p class="firstline">Cancels a user's subscription purchase. The subscription remains valid until its expiration time.</p>
<p class="toc_element">
<code><a href="#defer">defer(packageName, subscriptionId, token, body)</a></code></p>
<p class="firstline">Defers a user's subscription purchase until a specified future expiration time.</p>
<p class="toc_element">
<code><a href="#get">get(packageName, subscriptionId, token)</a></code></p>
<p class="firstline">Checks whether a user's subscription purchase is valid and returns its expiry time.</p>
<p class="toc_element">
<code><a href="#refund">refund(packageName, subscriptionId, token)</a></code></p>
<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>
<p class="toc_element">
<code><a href="#revoke">revoke(packageName, subscriptionId, token)</a></code></p>
<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>
<h3>Method Details</h3>
<div class="method">
<code class="details" id="cancel">cancel(packageName, subscriptionId, token)</code>
<pre>Cancels a user's subscription purchase. The subscription remains valid until its expiration time.
Args:
packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
token: string, The token provided to the user's device when the subscription was purchased. (required)
</pre>
</div>
<div class="method">
<code class="details" id="defer">defer(packageName, subscriptionId, token, body)</code>
<pre>Defers a user's subscription purchase until a specified future expiration time.
Args:
packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
token: string, The token provided to the user's device when the subscription was purchased. (required)
body: object, The request body. (required)
The object takes the form of:
{
"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.
"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.
"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.
},
}
Returns:
An object of the form:
{
"newExpiryTimeMillis": "A String", # The new expiry time for the subscription in milliseconds since the Epoch.
}</pre>
</div>
<div class="method">
<code class="details" id="get">get(packageName, subscriptionId, token)</code>
<pre>Checks whether a user's subscription purchase is valid and returns its expiry time.
Args:
packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
token: string, The token provided to the user's device when the subscription was purchased. (required)
Returns:
An object of the form:
{ # A SubscriptionPurchase resource indicates the status of a user's subscription purchase.
"kind": "androidpublisher#subscriptionPurchase", # This kind represents a subscriptionPurchase object in the androidpublisher service.
"countryCode": "A String", # ISO 3166-1 alpha-2 billing country/region code of the user at the time the subscription was granted.
"developerPayload": "A String", # A developer-specified string that contains supplemental information about an order.
"autoRenewing": True or False, # Whether the subscription will automatically be renewed when it reaches its current expiry time.
"paymentState": 42, # The payment state of the subscription. Possible values are:
# - Payment pending
# - Payment received
"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".
"expiryTimeMillis": "A String", # Time at which the subscription will expire, in milliseconds since the Epoch.
"cancelReason": 42, # The reason why a subscription was cancelled or is not auto-renewing. Possible values are:
# - User cancelled the subscription
# - Subscription was cancelled by the system, for example because of a billing problem
"startTimeMillis": "A String", # Time at which the subscription was granted, in milliseconds since the Epoch.
"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.
"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.
}</pre>
</div>
<div class="method">
<code class="details" id="refund">refund(packageName, subscriptionId, token)</code>
<pre>Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.
Args:
packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
token: string, The token provided to the user's device when the subscription was purchased. (required)
</pre>
</div>
<div class="method">
<code class="details" id="revoke">revoke(packageName, subscriptionId, token)</code>
<pre>Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.
Args:
packageName: string, The package name of the application for which this subscription was purchased (for example, 'com.some.thing'). (required)
subscriptionId: string, The purchased subscription ID (for example, 'monthly001'). (required)
token: string, The token provided to the user's device when the subscription was purchased. (required)
</pre>
</div>
</body></html>