diff options
Diffstat (limited to 'docs/html/google')
-rw-r--r-- | docs/html/google/play/billing/billing_overview.jd | 164 | ||||
-rw-r--r-- | docs/html/google/play/billing/billing_subscriptions.jd | 182 | ||||
-rw-r--r-- | docs/html/google/play/billing/index.jd | 20 | ||||
-rw-r--r-- | docs/html/google/play/billing/v2/api.jd | 23 | ||||
-rw-r--r-- | docs/html/google/play/billing/v2/billing_integrate.jd | 23 | ||||
-rw-r--r-- | docs/html/google/play/billing/v2/billing_reference.jd | 23 | ||||
-rw-r--r-- | docs/html/google/play/billing/v2/billing_subscriptions.jd | 23 |
7 files changed, 321 insertions, 137 deletions
diff --git a/docs/html/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd index 12f8c9a..1c20d78 100644 --- a/docs/html/google/play/billing/billing_overview.jd +++ b/docs/html/google/play/billing/billing_overview.jd @@ -7,11 +7,11 @@ parent.link=index.html <div id="qv"> <h2>Quickview</h2> <ul> - <li>Use In-app Billing to sell digital goods, including one-time items and + <li>Use In-app Billing to sell digital goods, including one-time items and recurring subscriptions.</li> - <li>Supported for any app published on Google Play. You only need a Google + <li>Supported for any app published on Google Play. You only need a Google Play Developer Console account and a Google Wallet merchant account.</li> - <li>Checkout processing is automatically handled by Google Play, with the + <li>Checkout processing is automatically handled by Google Play, with the same look-and-feel as for app purchases.</li> </ul> <h2>In this document</h2> @@ -24,18 +24,18 @@ same look-and-feel as for app purchases.</li> </li> <li><a href="#console">Google Play Developer Console</a></li> <li><a href="#checkout">Google Play Purchase Flow</a></li> - <li><a href="#samples">Sample App</a></li> + <li><a href="#samples">Sample App</a></li> <li><a href="#migration">Migration Considerations</a></li> </ol> <h2>Related Samples</h2> <ol> <li><a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">Sample Application (V3)</a></li> - </ol> + </ol> </div> </div> -<p>This documentation describes the fundamental In-app Billing components and -features that you need to understand in order to add In-app +<p>This documentation describes the fundamental In-app Billing components and +features that you need to understand in order to add In-app Billing features into your application.</p> <p class="note"><b>Note</b>: Ensure that you comply with applicable laws in the countries where you @@ -49,130 +49,132 @@ of the EU consumer protection authorities</a> for more information on this and o </p> <h2 id="api">In-app Billing API</h2> -<p>Your application accesses the In-app Billing service using an API that is -exposed by the Google Play app that is installed on the device. The Google Play -app then conveys billing requests and responses between your -application and the Google Play server. In practice, your application never -directly communicates with the Google Play server. Instead, your application -sends billing requests to the Google Play application over interprocess -communication (IPC) and receives responses from the Google Play app. -Your application does not manage any network connections between itself and +<p>Your application accesses the In-app Billing service using an API that is +exposed by the Google Play app that is installed on the device. The Google Play +app then conveys billing requests and responses between your +application and the Google Play server. In practice, your application never +directly communicates with the Google Play server. Instead, your application +sends billing requests to the Google Play application over interprocess +communication (IPC) and receives responses from the Google Play app. +Your application does not manage any network connections between itself and the Google Play server.</p> -<p>In-app Billing can be implemented only in applications that you publish -through Google Play. To complete in-app purchase requests, the Google Play app +<p>In-app Billing can be implemented only in applications that you publish +through Google Play. To complete in-app purchase requests, the Google Play app must be able to access the Google Play server over the network.</p> -<p>In-app billing Version 3 is the latest version, and maintains very broad -compatibility across the range of Android devices. In-app Billing Version 3 is -supported on devices running Android 2.2 or higher that have the latest version +<p>In-app billing Version 3 is the latest version, and maintains very broad +compatibility across the range of Android devices. In-app Billing Version 3 is +supported on devices running Android 2.2 or higher that have the latest version of the Google Play store installed (<a href="{@docRoot}about/dashboards/index.html">a vast majority</a> of active devices).</p> <h4>Version 3 features</h4> <ul> -<li>Requests are sent through a streamlined API that allows you to easily request -product details from Google Play, order in-app products, and quickly restore +<li>Requests are sent through a streamlined API that allows you to easily request +product details from Google Play, order in-app products, and quickly restore items based on users' product ownership</li> -<li>Order information is synchronously propagated to the device on purchase +<li>Order information is synchronously propagated to the device on purchase completion</li> -<li>All purchases are “managed” (that is, Google Play keeps track of the user's -ownership of in-app products). The user cannot own multiple copies of an in-app +<li>All purchases are “managed” (that is, Google Play keeps track of the user's +ownership of in-app products). The user cannot own multiple copies of an in-app item; only one copy can be owned at any point in time</li> -<li>Purchased items can be consumed. When consumed, the item reverts to the +<li>Purchased items can be consumed. When consumed, the item reverts to the "unowned" state and can be purchased again from Google Play</li> <li>Provides support for <a href="{@docRoot}google/play/billing/billing_subscriptions.html">subscriptions</a></li> </ul> -<p>For details about other versions of In-app Billing, see the +<p>For details about other versions of In-app Billing, see the <a href="{@docRoot}google/play/billing/versions.html">Version Notes</a>.</p> <h2 id="products">In-app Products</h2> -<p>In-app products are the digital goods that you offer for sale from inside your -application to users. Examples of digital goods includes in-game currency, -application feature upgrades that enhance the user experience, and new content +<p>In-app products are the digital goods that you offer for sale from inside your +application to users. Examples of digital goods includes in-game currency, +application feature upgrades that enhance the user experience, and new content for your application.</p> -<p>You can use In-app Billing to sell only digital content. -You cannot use In-app Billing to sell physical goods, personal services, or -anything that requires physical delivery. Unlike with priced applications, once +<p>You can use In-app Billing to sell only digital content. +You cannot use In-app Billing to sell physical goods, personal services, or +anything that requires physical delivery. Unlike with priced applications, once the user has purchased an in-app product there is no refund window.</p> -<p>Google Play does not provide any form of content delivery. You are -responsible for delivering the digital content that you sell in your -applications. In-app products are always explicitly associated with one and -only one app. That is, one application cannot purchase an in-app product +<p>Google Play does not provide any form of content delivery. You are +responsible for delivering the digital content that you sell in your +applications. In-app products are always explicitly associated with one and +only one app. That is, one application cannot purchase an in-app product published for another app, even if they are from the same developer.</p> <h3 id="prodtypes">Product types</h3> -<p>In-app Billing supports different product types to give you flexibility in -how you monetize your application. In all cases, you define your products using +<p>In-app Billing supports different product types to give you flexibility in +how you monetize your application. In all cases, you define your products using the Google Play Developer Console.</p> -<p>You can specify these types of products for your In-app Billing application -— <em>managed in-app products</em> and <em>subscriptions</em>. Google Play -handles and tracks ownership for in-app products and subscriptions on your +<p>You can specify these types of products for your In-app Billing application +— <em>managed in-app products</em> and <em>subscriptions</em>. Google Play +handles and tracks ownership for in-app products and subscriptions on your application on a per user account basis. <a href="{@docRoot}google/play/billing/api.html#producttypes">Learn more about the product types supported by In-app Billing Version 3</a>.</p> <h2 id="console">Google Play Developer Console</h2> -<p>The Developer Console is where you can publish your -In-app Billing application, and manage the various in-app products that are +<p>The Developer Console is where you can publish your +In-app Billing application, and manage the various in-app products that are available for purchase from your application.</p> -<p>You can create a product list of -digital goods that are associated with your application, including items for -one-time purchase and recurring subscriptions. For each item, you can define -information such as the item’s unique product ID (also called its SKU), product -type, pricing, description, and how Google Play should handle and track +<p>You can create a product list of +digital goods that are associated with your application, including items for +one-time purchase and recurring subscriptions. For each item, you can define +information such as the item’s unique product ID (also called its SKU), product +type, pricing, description, and how Google Play should handle and track purchases for that product.</p> -<p>You can also create test accounts to authorize +<p>You can also create test accounts to authorize access for testing applications that are unpublished.</p> -<p>To learn how to use the Developer Console to configure your in-app -products and product list, see -<a href="{@docRoot}google/play/billing/billing_admin.html">Administering +<p>To learn how to use the Developer Console to configure your in-app +products and product list, see +<a href="{@docRoot}google/play/billing/billing_admin.html">Administering In-app Billing</a>.</p> <h2 id="checkout">Google Play Purchase Flow</h2> -<p>Google Play uses the same checkout backend service as is used for application +<p>Google Play uses the same checkout backend service as is used for application purchases, so your users experience a consistent and familiar purchase flow.</p> <p class="note"><strong>Important:</strong> You must have a Google Wallet merchant account to use the In-app Billing service on Google Play.</p> -<p>To initiate a purchase, your application sends a billing request for a -specific in-app product. Google Play then handles all of the checkout details for -the transaction, including requesting and validating the form of payment and -processing the financial transaction.</p> -<p>When the checkout process is complete, -Google Play sends your application the purchase details, such as the order -number, the order date and time, and the price paid. At no point does your -application have to handle any financial transactions; that role is provided by +<p>To initiate a purchase, your application sends a billing request for a +specific in-app product. Google Play then handles all of the checkout details for +the transaction, including requesting and validating the form of payment and +processing the financial transaction.</p> +<p>When the checkout process is complete, +Google Play sends your application the purchase details, such as the order +number, the order date and time, and the price paid. At no point does your +application have to handle any financial transactions; that role is provided by Google Play.</p> <h2 id="samples">Sample Application</h2> -<p>To help you integrate In-app Billing into your application, the Android SDK -provides a sample application that demonstrates how to sell in-app products and subscriptions +<p>To help you integrate In-app Billing into your application, the Android SDK +provides a sample application that demonstrates how to sell in-app products and subscriptions from inside an app.</p> -<p>The <a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">TrivialDrive sample for the Version 3 API</a> sample shows how to use the In-app Billing Version 3 API -to implement in-app product and subscription purchases for a driving game. The -application demonstrates how to send In-app Billing requests, and handle -synchronous responses from Google Play. The application also shows how to record -item consumption with the API. The Version 3 sample includes convenience classes -for processing In-app Billing operations as well as perform automatic signature +<p>The <a href="{@docRoot}training/in-app-billing/preparing-iab-app.html#GetSample">TrivialDrive sample for the Version 3 API</a> sample shows how to use the In-app Billing Version 3 API +to implement in-app product and subscription purchases for a driving game. The +application demonstrates how to send In-app Billing requests, and handle +synchronous responses from Google Play. The application also shows how to record +item consumption with the API. The Version 3 sample includes convenience classes +for processing In-app Billing operations as well as perform automatic signature verification.</p> -<p class="caution"><strong>Recommendation</strong>: Make sure to obfuscate the +<p class="caution"><strong>Recommendation</strong>: Make sure to obfuscate the code in your application before you publish it. For more information, see -<a href="{@docRoot}google/play/billing/billing_best_practices.html">Security +<a href="{@docRoot}google/play/billing/billing_best_practices.html">Security and Design</a>.</p> <h2 id="migration">Migration Considerations</h2> -<p>If you have an existing In-app Billing implementation that uses Version 2 or -earlier, it is strongly recommended that you migrate to <a href="{@docRoot}google/play/billing/api.html">In-app Billing Version 3</a> at your earliest convenience.</p> +<p>The In-app Billing Version 2 API is deprecated and will be discontinued in January 2015. +If you have an existing In-app Billing implementation that uses API Version 2 or +earlier, you must migrate to <a href="{@docRoot}google/play/billing/api.html">In-app Billing Version +3</a>.</p> <p>If you have published apps selling in-app products, note that:</p> <ul> -<li>Managed items and subscriptions that you have previously defined in the Developer Console will +<li>Managed items and subscriptions that you have previously defined in the Developer Console will work with Version 3 as before.</li> -<li>Unmanaged items that you have defined for existing applications will be -treated as managed products if you make a purchase request for these items using -the Version 3 API. You do not need to create a new product entry in Developer -Console for these items, and you can use the same product IDs to purchase these -items. They will still continue to be treated as unmanaged items if you make a -purchase request for them using the Version 2 or earlier API. +<li>Unmanaged items that you have defined for existing applications will be +treated as managed products if you make a purchase request for these items using +the Version 3 API. You do not need to create a new product entry in Developer +Console for these items, and you can use the same product IDs to purchase these +items. They will still continue to be treated as unmanaged items if you make a +purchase request for them using the Version 2 or earlier API. </ul> diff --git a/docs/html/google/play/billing/billing_subscriptions.jd b/docs/html/google/play/billing/billing_subscriptions.jd index 2b78ab3..b9b77df 100644 --- a/docs/html/google/play/billing/billing_subscriptions.jd +++ b/docs/html/google/play/billing/billing_subscriptions.jd @@ -11,25 +11,32 @@ meta.tags="monetization, inappbilling, subscriptions" <div id="qv"> <h2>Quickview</h2> <ul> - <li>Users purchase your subscriptions from inside your apps, rather than -directly from Google Play.</li> - <li>Subscriptions let you sell products with automated, recurring billing -(monthly or annual).</li> - <li>You can offer a configurable trial period for any subscription.</li> - + <li>Subscriptions let you sell products with automated, recurring billing + at a variety of intervals.</li> + <li>You can offer a configurable trial period for monthly and + annual subscriptions.</li> + <li>You can manage subscriptions through the Developer Console, or by using + the + <a href="https://developers.google.com/android-publisher/">Google Play + Developer API</a>.</li> + <li>Users purchase your subscriptions from inside your apps, rather than + directly from Google Play.</li> + <li>You can defer billing for a particular user's subscription, to manage + accounts or offer rewards.</li> </ul> <h2>In this document</h2> <ol> - <li><a href="#overview">Overview</a></li> + <li><a href="#overview">Overview of Subscriptions</a></li> <li><a href="#administering">Configuring Subscriptions Items</a></li> - <li><a href="#cancellation">Cancellation</a></li> - <li><a href="#payment">Payment Processing</a></li> + <li><a href="#cancellation">Subscription Cancellation</a></li> + <li><a href="#payment">Payment Processing and Policies</a></li> <li><a href="#strategies">Purchase Verification Strategies</a></li> + <li><a href="#play-dev-api">Google Play Developer API</a></li> </ol> <h2>See also</h2> <ol> <li><a href="{@docRoot}google/play/billing/billing_integrate.html#Subs">Implementing Subscriptions (V3)</a></li> - <li><a href="https://developers.google.com/android-publisher/v1_1/">Google Play Android Developer API</a></li> + <li><a href="https://developers.google.com/android-publisher/">Google Play Developer API</a></li> </ol> </div> </div> @@ -44,14 +51,15 @@ and business models.</p> <h2 id="overview">Overview of Subscriptions</h2> <p>A <em>subscription</em> is a product type offered in In-app Billing that lets you sell content, services, or features to users from inside your app with -recurring monthly or annual billing. You can sell subscriptions to almost any +recurring, automated billing at the interval you specify. You can sell subscriptions to almost +any type of digital content, from any type of app or game.</p> <p>As with other in-app products, you configure and publish subscriptions using the Developer Console and then sell them from inside apps installed on Android devices. In the Developer console, you create subscription products and add them to a product list, then set a price and optional trial -period for each, choose a billing interval (monthly or annual), and then +period for each, choose a billing interval, and then publish. For more information about using the Developer Console, see <a href="#administering">Configuring Subscription Items</a>.</p> @@ -63,17 +71,17 @@ This ensures a consistent and familiar purchase flow for your users.</p> <img src="{@docRoot}images/in-app-billing/v3/billing_subscription_v3.png" style="float:right; border:4px solid ddd;"> -<p>After users have purchase subscriptions, they can view the subscriptions and +<p>After users have purchased subscriptions, they can view the subscriptions and cancel them from the <strong>My Apps</strong> screen in the Play Store app or from the app's product details page in the Play Store app. For more information about handling user cancellations, see <a href="#cancellation">Subscription Cancellation</a>.</p> -<p>In adddition to client-side API calls, you can use the server-side API for +<p>In addition to client-side API calls, you can use the server-side API for In-app Billing to provide subscription purchasers with extended access to content (for example, from your web site or another service). The server-side API lets you validate the status of a subscription when users sign into your other services. For more information about the API, see <a -href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Purchase Status API</a>. </p> +href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play Developer API</a>. </p> <p>You can also build on your existing external subscriber base from inside your Android apps.</p> @@ -102,8 +110,10 @@ href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en subscriptions, see the <a href="{@docRoot}google/play/billing/versions.html#Subs">Version Notes</a>.</p> <h2 id="administering">Configuring Subscription Items</h2> -<p>To create and manage subscriptions, use the Developer Console to set up a -product list for the app then configure these attributes for each subscription + +<p>To create and manage subscriptions, you can use the Developer Console to set +up a +product list for the app, then configure these attributes for each subscription product:</p> <ul> @@ -113,8 +123,8 @@ product:</p> <li>Language: The default language for displaying the subscription</li> <li>Title: The title of the subscription product</li> <li>Description: Details that tell the user about the subscription</li> -<li>Price: USD price of subscription per recurrence</li> -<li>Recurrence: monthly or yearly</li> +<li>Price: Default price of subscription per recurrence</li> +<li>Recurrence: Interval of billing recurrence</li> <li>Additional currency pricing (can be auto-filled)</li> </ul> @@ -122,6 +132,10 @@ product:</p> see <a href="{@docRoot}google/play/billing/billing_admin.html">Administering In-app Billing</a>.</p> +<p>You can also create and manage subscriptions using the +<a href="{@docRoot}google/play/billing/gp-purchase-status-api.html"> +Google Play Developer API</a>.</p> + <h3 id="pricing">Subscription pricing</h3> <p>When you create a subscription in the Developer Console, you can set a price @@ -139,20 +153,30 @@ original price, but new users will be charged at the new price.</p> <h3 id="user-billing">User billing</h3> <p>In the Developer Console, you can configure subscription products with -automated recurring billing at either of two intervals:</p> +automated recurring billing at your choice of intervals:</p> <ul> <li>Monthly — Google Play bills the customer’s Google Wallet account at the time of purchase and monthly subsequent to the purchase date (exact billing - intervals can vary slightly over time)</li> + intervals can vary slightly over time).</li> <li>Annually — Google Play bills the customer's Google Wallet account at the time of purchase and again on the same date in subsequent years.</li> + + <li>Seasonal — Google Play bills the customer's Google Wallet account at + the beginning of each "season" (you specify the season beginning and end + dates). This + is intended for annual purchases of seasonal content (such as sports-related + content). The subscription runs through the end of the season, and restarts + the next year at the start of the season.</li> + </ul> <p>Billing continues indefinitely at the interval and price specified for the subscription. At each subscription renewal, Google Play charges the user account -automatically, then notifies the user of the charges afterward by email. Billing -cycles will always match subscription cycles, based on the purchase date.</p> +automatically, then notifies the user of the charges afterward by email. For +monthly and annual subscriptions, billing cycles will always match subscription +cycles, based on the purchase date. (Seasonal subscriptions are charged +annually, on the first day of the season.)</p> <p>Over the life of a subscription, the form of payment billed remains the same — Google Play always bills the same form of payment (such as credit card @@ -164,7 +188,7 @@ provides a purchase token back to the purchasing app through the In-app Billing API. Your apps can store the token locally or pass it to your backend servers, which can then use it to validate or cancel the subscription remotely using the <a -href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Purchase Status API</a>.</p> +href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play Developer API</a>.</p> <p>If a recurring payment fails (for example, because the customer’s credit card has become invalid), the subscription does not renew. How your app is @@ -182,18 +206,57 @@ app to notify your backend servers of subscription purchases, tokens, and any billing errors that may occur. Your backend servers can use the server-side API to query and update your records and follow up with customers directly, if needed.</p> +<h3 id="deferred-billing">Deferred Billing</h3> + +<p>Using the +<a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google +Play Developer API</a>, you can defer the next billing date for a +subscriber. The user continues to be subscribed to the content, and has full +access to it, but is not charged during the deferral period. This allows you +to do things like:</p> + +<ul> + <li>Give users free access as part of a bundle or a special offer (for + example, giving free access to web content to users who subscribe to a + print magazine)</li> + <li>Give free access to customers as a goodwill gesture</li> +</ul> + +<p>The longest you can defer billing is for one year per call. Of course, you +can call the API again before the year is up to defer billing further.</p> + +<p>For example, Darcy has a monthly subscription to online content for the +<em>Fishing Gentleman</em> app. He is normally +billed £1.25 on the first of each month. +On March 10, he participates in an online survey for the app publisher. The +publisher rewards him by deferring his next payment until June 1. Darcy is not +charged on April 1 or May 1, but still has access to the content as normal. On +June 1, he is charged his normal £1.25 subscription fee.</p> + +<p class="note"><strong>Note:</strong> The API always defers the billing date +by a whole number of days. If you request a deferral period that includes a +fractional number of days, the API rounds the period up to the next full day. +For example, if a user's subscription is set to renew on 15 June 2015 at +14:00:00 UTC, and you use the API to defer the renewal date to 15 August 2015 at +02:00:00 UTC, the API will round up to the next full day and set the renewal +date to 15 August 2015 14:00:00 UTC.</p> + +<p>You can also offer free trials to new subscribers, as described in +<a href="#trials">Free trials</a>.</p> + <h3 id="trials">Free trials</h3> <p>In the Developer Console, you can set up a free trial period that lets users try your subscription content before buying it. The trial period runs for the period of time that you set and then automatically converts to a full subscription managed according to the subscription's billing interval and -price.</p> +price. Free trials are supported for monthly and annual subscriptions only, and are not supported for seasonal subscriptions.</p> <p>To take advantage of a free trial, a user must "purchase" the full subscription through the standard In-app Billing flow, providing a valid form of payment to use for billing and completing the normal purchase transaction. -However, the user is not charged any money, since the initial period corresponds +However, the user is not charged any money, because the initial period +corresponds to the free trial. Instead, Google Play records a transaction of $0.00 and the subscription is marked as purchased for the duration of the trial period or until cancellation. When the transaction is complete, Google Play notifies users @@ -220,8 +283,10 @@ purchases will use the updated trial period. You can create one free trial period per subscription product.</p> <h3 id="publishing">Subscription publishing</h3> + <p>When you have finished configuring your subscription product details in the -Developer Console, you can publish the subscription in the app product list.</p> +Developer Console or via the API, +you can publish the subscription in the app product list.</p> <p>In the product list, you can add subscriptions, in-app products, or both. You can add multiple subscriptions that give access to different content or @@ -263,10 +328,13 @@ query and directly cancel the user’s subscription from your servers. <p class="caution"><strong>Important:</strong> In all cases, you must continue to offer the content that your subscribers have purchased through their -subscriptions, for as long any users are able to access it. That is, you must -not remove any subscriber’s content while any user still has an active +subscriptions, as long any user is able to access it. That is, you must +not remove any content while any user still has an active subscription to it, even if that subscription will terminate at the end of the -current billing cycle. Removing content that a subscriber is entitled to access +current billing cycle. Alternatively, you can use the <a href="#refunds">refund +and revoke</a> API to revoke each subscriber's subscription (one by one) and +refund their subscription payments. +Removing content that any subscriber is entitled to access will result in penalties. Please see the <a href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en&answer=140504">policies document</a> for more information. </p> @@ -280,19 +348,26 @@ to cancel the associated subscriptions at any time in the <strong>My Apps</stron screen of the Play Store app. If the user chooses to cancel the uninstallation, the app and subscriptions remain as they were.</p> -<h3 id="refunds">Refunds</h3> +<h3 id="refunds">Refunding and revoking subscriptions</h3> -<p>With subscriptions, Google Play does not provide a refund window, so users -will need to contact you directly to request a refund. +<p>With subscriptions, Google Play does not provide a refund window, so users +will need to request a refund. They can request a refund from the <strong>My +Orders</strong> page in the Play Store, or by contacting you directly.</p> -<p>If you receive requests for refunds, you can use the server-side API to -cancel the subscription or verify that it is already cancelled. However, keep in -mind that Google Play considers cancelled subscriptions valid until the end of -their current billing cycles, so even if you grant a refund and cancel the -subscription, the user will still have access to the content. +<p>If you receive requests for refunds, you can use the +<a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play +Developer API</a> or the Merchant Center to cancel the subscription, verify that it +is already cancelled, or refund the user's payment without cancelling it. You +can also use the +<a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google +Play Developer API</a> to <em>refund and revoke</em> a +user's subscription. If you refund and revoke a subscription, the user's +subscription is immediately cancelled, and the user's most recent subscription +payment is refunded. (If you want to refund more than the most recent payment, +you can process additional refunds through the Merchant Center.)</p> -<p class="caution"><strong>Important:</strong> Partial refunds for canceled -subscriptions are not available at this time.</p> +<p class="caution"><strong>Important:</strong> Partial refunds are not available +at this time.</p> <h2 id="payment">Payment Processing and Policies</h2> @@ -317,9 +392,9 @@ subscription and denotes each recurring transaction by appending an integer as follows: </p> <p><span style="color:#777"><code style="color:#777">12999556515565155651.5565135565155651</code> (base order number)</span><br /> -<code>12999556515565155651.5565135565155651..0</code> (initial purchase orderID)<br /> -<code>12999556515565155651.5565135565155651..1</code> (first recurrence orderID)<br /> -<code>12999556515565155651.5565135565155651..2</code> (second recurrence orderID)<br /> +<code>12999556515565155651.5565135565155651..0</code> (first recurrence orderID)<br /> +<code>12999556515565155651.5565135565155651..1</code> (second recurrence orderID)<br /> +<code>12999556515565155651.5565135565155651..2</code> (third recurrence orderID)<br /> ...<br /></p> <p>Google Play provides the order number as the value of the @@ -334,19 +409,28 @@ content.</p> <p>To verify a purchase, the app passes the purchase token and other details up to your backend servers, which verifies them directly with Google Play using the -Purchase Status API. If the backend server determines that the purchase is +Google Play Developer API. If the backend server determines that the purchase is valid, it notifies the app and grants access to the content.</p> <p>Keep in mind that users will want the ability to use your app at any time, including when there may be no network connection available. Make sure that your approach to purchase verification accounts for the offline use-case.</p> -<h2 id="play-dev-api">Google Play Android Developer API</h2> +<h2 id="play-dev-api">Google Play Developer API</h2> + +<p>Google Play offers an HTTP-based API that lets you perform such tasks as:</p> + <ul> + <li>Remotely query the validity of a specific subscription at any time</li> + <li>Cancel a subscription</li> + <li>Defer a subscription's next billing date</li> + <li>Refund a subscription payment without cancelling the subscription</li> + <li>Refund and revoke a subscription</li> + </ul> -<p>Google Play offers an HTTP-based API that lets you remotely query the -validity of a specific subscription at any time or cancel a subscription. The -API is designed to be used from your backend servers as a way of securely +<p>The API is designed to be used from your backend servers as a way of securely managing subscriptions, as well as extending and integrating subscriptions with other services.</p> -<p>For complete information, see <a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Purchase Status API</a>.</p> +<p>For complete information, see +<a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play +Developer API</a>.</p> diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd index 875271f..bdbf5c7 100644 --- a/docs/html/google/play/billing/index.jd +++ b/docs/html/google/play/billing/index.jd @@ -14,21 +14,35 @@ and features, and more. You can use In-app Billing to sell products as</p> <div class="sidebox"> <h2><strong>New in In-App Billing</strong></h2> <ul> + <li><strong>IAB v2 shutdown</strong>—In-app Billing v2 API is deprecated and will be shut down in January 2015. If your app is still using In-app Billing v2, please migrate to the v3 API as soon as possible.</li> + <li><strong>Seasonal subscriptions</strong>—You can now set up a + recurring <a href="billing_subscriptions.html#user-billing">seasonal + subscription</a> that starts and ends on the same date each year (for + example, a sports subscription that starts every September 1 and ends every + April 10).</li> + <li><strong>Deferred subscription billing</strong>—You can + <a href="billing_subscriptions.html#deferred-billing">defer</a> a + subscriber's next billing date until the date you choose. The user still has + access to the content but is not charged during the deferral period.</li> <li><strong>Google Play Developer API</strong>—The <a href="{@docRoot}google/play/billing/gp-purchase-status-api.html">Google Play Developer API</a> allows you to perform a number of publishing and app-management tasks. It includes the functionality previously known as the <em>Purchase Status API.</em> </li> + <li><strong>Refund/Revoke subscription</strong>—You can use the + Google Play Developer API to <a href="billing_subscriptions.html#refunds">refund + and revoke</a> a user's subscription. If you do this, the user's + subscription ends + immediately, and his or her most recent subscription payment is + refunded.</li> <li><strong>In-app Billing Version 3</strong>—The <a href="{@docRoot}google/play/billing/api.html">latest version</a> of In-app Billing features a synchronous API that is easier to implement and lets you manage in-app products and subscriptions more effectively.</li> - <li><strong>Subscriptions now supported in Version 3</strong>—You can query and launch purchase flows for subscription items using the V3 API.</li> - <li><strong>Free trials</strong>—You can now offer users a configurable <a href="/google/play/billing/v2/billing_subscriptions.html#trials">free trial period</a> for your in-app subscriptions. You can set up trials with a simple change in the Developer Console—no change to your app code is needed.</li> </ul> </div> </div> <ul> <li>Standard in-app products (one-time billing), or</li> -<li>Subscriptions, (recurring, automated billing)</li> +<li>Subscriptions (recurring, automated billing)</li> </ul> <p>When you use the in-app billing service to sell an item, diff --git a/docs/html/google/play/billing/v2/api.jd b/docs/html/google/play/billing/v2/api.jd index 9501555..36a9017 100644 --- a/docs/html/google/play/billing/v2/api.jd +++ b/docs/html/google/play/billing/v2/api.jd @@ -2,7 +2,28 @@ page.title=In-app Billing Version 2 excludeFromSuggestions=true @jd:body -<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">In-app Billing Version 2 is superseded. Please <a href="{@docRoot}google/play/billing/billing_overview.html#migration">migrate to Version 3</a> at your earliest convenience.</div> +<p class="caution" style= +"background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;"> + The <strong>In-app Billing Version 2 API</strong> has been deprecated in + favor of the Version 3 API. If your app is using In-app Billing, please + <strong>make sure that it is using the Version 3 API</strong>. If your app is + still using the Version 2 API, you must <strong>migrate to the Version 3 API + as soon as possible</strong>.<br> + <br> + We plan to turn off the In-app Billing Version 2 service on <strong>January + 27, 2015</strong>, after which time users will <strong>no longer be able to + purchase in-app items and subscriptions through the Version 2 API</strong>. + We strongly encourage and recommend you migrate your apps to use Version 3 + API by November 2014, to provide ample time for users to update their apps to + the new version.<br> + <br> + For more information, please see the <a href= + "http://support.google.com/googleplay/android-developer/answer/6090268">Help Center + article</a>. For common questions about transitioning your implementation to + In-app Billing Version 3, please see <a href= + "{@docRoot}google/play/billing/billing_overview.html#migration">Migration + Considerations</a>. +</p> <div id="qv-wrapper" style="margin-top:0;"> <div id="qv"> diff --git a/docs/html/google/play/billing/v2/billing_integrate.jd b/docs/html/google/play/billing/v2/billing_integrate.jd index 5eb17d5..c264271 100644 --- a/docs/html/google/play/billing/v2/billing_integrate.jd +++ b/docs/html/google/play/billing/v2/billing_integrate.jd @@ -2,7 +2,28 @@ page.title=Implementing In-app Billing <span style="font-size:16px;">(IAB Versio excludeFromSuggestions=true @jd:body -<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">In-app Billing Version 2 is superseded. Please <a href="{@docRoot}google/play/billing/billing_overview.html#migration">migrate to Version 3</a> at your earliest convenience.</div> +<p class="caution" style= +"background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;"> + The <strong>In-app Billing Version 2 API</strong> has been deprecated in + favor of the Version 3 API. If your app is using In-app Billing, please + <strong>make sure that it is using the Version 3 API</strong>. If your app is + still using the Version 2 API, you must <strong>migrate to the Version 3 API + as soon as possible</strong>.<br> + <br> + We plan to turn off the In-app Billing Version 2 service on <strong>January + 27, 2015</strong>, after which time users will <strong>no longer be able to + purchase in-app items and subscriptions through the Version 2 API</strong>. + We strongly encourage and recommend you migrate your apps to use Version 3 + API by November 2014, to provide ample time for users to update their apps to + the new version.<br> + <br> + For more information, please see the <a href= + "http://support.google.com/googleplay/android-developer/answer/6090268">Help Center + article</a>. For common questions about transitioning your implementation to + In-app Billing Version 3, please see <a href= + "{@docRoot}google/play/billing/billing_overview.html#migration">Migration + Considerations</a>. +</p> <div id="qv-wrapper" style="margin-top:0;"> <div id="qv"> <h2>In this document</h2> diff --git a/docs/html/google/play/billing/v2/billing_reference.jd b/docs/html/google/play/billing/v2/billing_reference.jd index 4587dee..32e00cf 100644 --- a/docs/html/google/play/billing/v2/billing_reference.jd +++ b/docs/html/google/play/billing/v2/billing_reference.jd @@ -2,7 +2,28 @@ page.title=In-app Billing Reference <span style="font-size:16px;">(IAB Version 2 excludeFromSuggestions=true @jd:body -<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">In-app Billing Version 2 is superseded. Please <a href="{@docRoot}google/play/billing/billing_overview.html#migration">migrate to Version 3</a> at your earliest convenience.</div> +<p class="caution" style= +"background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;"> + The <strong>In-app Billing Version 2 API</strong> has been deprecated in + favor of the Version 3 API. If your app is using In-app Billing, please + <strong>make sure that it is using the Version 3 API</strong>. If your app is + still using the Version 2 API, you must <strong>migrate to the Version 3 API + as soon as possible</strong>.<br> + <br> + We plan to turn off the In-app Billing Version 2 service on <strong>January + 27, 2015</strong>, after which time users will <strong>no longer be able to + purchase in-app items and subscriptions through the Version 2 API</strong>. + We strongly encourage and recommend you migrate your apps to use Version 3 + API by November 2014, to provide ample time for users to update their apps to + the new version.<br> + <br> + For more information, please see the <a href= + "http://support.google.com/googleplay/android-developer/answer/6090268">Help Center + article</a>. For common questions about transitioning your implementation to + In-app Billing Version 3, please see <a href= + "{@docRoot}google/play/billing/billing_overview.html#migration">Migration + Considerations</a>. +</p> <div id="qv-wrapper" style="margin-top:0;"> <div id="qv"> <h2>In this document</h2> diff --git a/docs/html/google/play/billing/v2/billing_subscriptions.jd b/docs/html/google/play/billing/v2/billing_subscriptions.jd index f8051a9..01e39ac 100644 --- a/docs/html/google/play/billing/v2/billing_subscriptions.jd +++ b/docs/html/google/play/billing/v2/billing_subscriptions.jd @@ -2,7 +2,28 @@ page.title=Implementing Subscriptions <span style="font-size:16px;">(IAB Versio excludeFromSuggestions=true @jd:body -<div style="background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;">In-app Billing Version 2 is superseded. Please <a href="{@docRoot}google/play/billing/billing_overview.html#migration">migrate to Version 3</a> at your earliest convenience.</div> +<p class="caution" style= +"background-color:#fffdeb;width:100%;margin-bottom:1em;padding:.5em;"> + The <strong>In-app Billing Version 2 API</strong> has been deprecated in + favor of the Version 3 API. If your app is using In-app Billing, please + <strong>make sure that it is using the Version 3 API</strong>. If your app is + still using the Version 2 API, you must <strong>migrate to the Version 3 API + as soon as possible</strong>.<br> + <br> + We plan to turn off the In-app Billing Version 2 service on <strong>January + 27, 2015</strong>, after which time users will <strong>no longer be able to + purchase in-app items and subscriptions through the Version 2 API</strong>. + We strongly encourage and recommend you migrate your apps to use Version 3 + API by November 2014, to provide ample time for users to update their apps to + the new version.<br> + <br> + For more information, please see the <a href= + "http://support.google.com/googleplay/android-developer/answer/6090268">Help Center + article</a>. For common questions about transitioning your implementation to + In-app Billing Version 3, please see <a href= + "{@docRoot}google/play/billing/billing_overview.html#migration">Migration + Considerations</a>. +</p> <div id="qv-wrapper" style="margin-top:0;"> <div id="qv"> <h2>In this document</h2> |