diff --git a/docs/html/google/play/billing/billing_reference.jd b/docs/html/google/play/billing/billing_reference.jd index 01e680fd54b63..7884929e44e86 100644 --- a/docs/html/google/play/billing/billing_reference.jd +++ b/docs/html/google/play/billing/billing_reference.jd @@ -172,8 +172,8 @@ does not include tax.
true for all
+ subscriptions, as long as the grace period has not lapsed. The next billing date
+ is extended dynamically every day until the end of the grace period or until the
+ user fixes their payment method.
+
Subscriptions let you sell content, services, or features in your app with -automated, recurring billing. You can easily adapt an existing In-app Billing +automated, recurring billing. You can easily adapt an existing In-app Billing implementation to sell subscriptions.
-This document is focused on highlighting implementation details that are -specific to subscriptions, along with some strategies for the associated billing +
This document is focused on highlighting implementation details that are +specific to subscriptions, along with some strategies for the associated billing and business models.
A subscription is a product type offered in In-app Billing that -lets you sell content, services, or features to users from inside your app with +
A subscription 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, 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.
As with other in-app products, you configure and publish subscriptions using -the Developer Console and then sell them from inside apps installed on +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, and then -publish. For more information about using the Developer Console, see +publish. For more information about using the Developer Console, see Configuring Subscription Items.
-When users purchase subscriptions in your apps, Google Play handles all -checkout details so your apps never have to directly process any financial -transactions. Google Play processes all payments for subscriptions through -Google Wallet, just as it does for standard in-app products and app purchases. +
When users purchase subscriptions in your apps, Google Play handles all +checkout details so your apps never have to directly process any financial +transactions. Google Play processes all payments for subscriptions through +Google Wallet, just as it does for standard in-app products and app purchases. This ensures a consistent and familiar purchase flow for your users.
-After users have purchased subscriptions, they can view the subscriptions and -cancel them from the My Apps screen in the Play Store app or -from the app's product details page in the Play Store app. For more information +
After users have purchased subscriptions, they can view the subscriptions and +cancel them from the My Apps 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 Subscription Cancellation.
-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 +
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
your own business logic to your Android app to determine whether the user has
already purchased a subscription elsewhere, then allow access to your content if
so or offer a subscription purchase from Google Play if not.
-
To learn about the minimum system requirements for +
To learn about the minimum system requirements for subscriptions, see the Version Notes.
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 list for the app, then configure these attributes for each subscription product:
For details on how to add and configure products in the Developer Console, +
For details on how to add and configure products in the Developer Console, see Administering In-app Billing.
@@ -149,18 +149,20 @@ price. You can price multiple subscriptions for the same content differently — for example you could offer a discount on an annual subscription relative to the monthly equivalent. -Important: To change the price of a -subscription, you can publish a new subscription product ID at a new price, -then offer it in your app instead of the original product. Users who have -already purchased will continue to be charged at the +
Important: To change the price of a +subscription, you can publish a new subscription product ID at a new price, +then offer it in your app instead of the original product. Users who have +already purchased will continue to be charged at the original price, but new users will be charged at the new price.
In the Developer Console, you can configure subscription products with +
In the Developer Console, you can configure subscription products with automated recurring billing at your choice of intervals:
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 -or by Direct Carrier Billing) that was originally used to purchase the -subscription.
- -When the subscription payment is approved by Google Wallet, Google Play +
When the subscription payment is approved, Google Play 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, +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 Google Play Developer API.
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 +card has become invalid), the subscription does not renew. How your app is notified depends on the In-app Billing API version that you are using:
Recommendation: Include business logic in your -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 +
Recommendation: Include business logic in your +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.
For example, Achilles has a subscription to the Modern Hoplite app. His subscription is currently due to expire on August 1. On July 10, he -purchases a 3-month subscription at the current rate. Those three months are -added to his existing subscription, so the subscription now expires on November +purchases a 1-month subscription at the current rate. This one month is +added to his existing subscription, so the subscription now expires on September 1.
It is up to the app to convey this with an appropriate UI. For example, if a @@ -311,9 +308,9 @@ date to 15 August 2015 14:00:00 UTC.
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 +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. Free trials are supported for monthly and annual subscriptions only, and are not supported for seasonal subscriptions.
To take advantage of a free trial, a user must "purchase" the full @@ -328,7 +325,7 @@ by email that they have purchased a subscription that includes a free trial period and that the initial charge was $0.00.
When the trial period ends, Google Play automatically initiates billing -against the credit card that the user provided during the initial purchase, at +against the credit card that the user provided during the initial purchase, at the amount set for the full subscription, and continuing at the subscription interval. If necessary, the user can cancel the subscription at any time during the trial @@ -367,15 +364,15 @@ publish the product before Google Play can make it available for purchase. Note that you must also publish the app itself before Google Play will make the products available for purchase inside the app.
-Important: You can remove the subscription -product from the product list offered in your app to prevent users from seeing +
Important: You can remove the subscription +product from the product list offered in your app to prevent users from seeing or purchasing it.
Users can view the status of all of their subscriptions and cancel them if -necessary from the My Apps screen in the Play Store app. -Currently, the In-app Billing API does not provide support for programatically +necessary from the My Apps screen in the Play Store app. +Currently, the In-app Billing API does not provide support for programatically canceling subscriptions from inside the purchasing app.
When the user cancels a subscription, Google Play does not offer a refund for @@ -404,12 +401,12 @@ href="http://support.google.com/googleplay/android-developer/bin/answer.py?hl=en
When the user uninstalls an app that includes purchased subscriptions, the -Play Store app will notify the user that there are active subscriptions. If the -user chooses to continue with the uninstallation, the app is removed and the -subscriptions remain active and recurring billing continues. The user can return -to cancel the associated subscriptions at any time in the My Apps -screen of the Play Store app. If the user chooses to cancel the uninstallation, +
When the user uninstalls an app that includes purchased subscriptions, the +Play Store app will notify the user that there are active subscriptions. If the +user chooses to continue with the uninstallation, the app is removed and the +subscriptions remain active and recurring billing continues. The user can return +to cancel the associated subscriptions at any time in the My Apps +screen of the Play Store app. If the user chooses to cancel the uninstallation, the app and subscriptions remain as they were.
In general, the terms of Google Play allow you to sell in-app subscriptions -only through the standard payment processor, Google Wallet. For purchases of -any subscription products, the transaction fee is the same as the transaction +only through the standard payment processor, Google Wallet. For purchases of +any subscription products, the transaction fee is the same as the transaction fee for application purchases (30%).
Apps published on Google Play that are selling subscriptions must use In-app @@ -451,7 +448,7 @@ document.
To help you track transactions relating to a given subscription, Google -Wallet provides a base Merchant Order Number for all recurrences of the +Wallet provides a base Merchant Order Number for all recurrences of the subscription and denotes each recurring transaction by appending an integer as follows:
@@ -461,10 +458,29 @@ each recurring transaction by appending an integer as follows:12999556515565155651.5565135565155651..2 (third recurrence orderID)Google Play provides the order number as the value of the -{@code orderId} field of the {@code INAPP_PURCHASE_DATA} JSON field (in V3) +
Google Play provides the order number as the value of the +{@code orderId} field of the {@code INAPP_PURCHASE_DATA} JSON field (in V3) or the {@code PURCHASE_STATE_CHANGED} intent (in V2).
++ The Developer Console allows you to set a grace period for subscriptions, so you can give + your subscribers a chance to update their payment method if a recurring payment is declined. + This setting is useful if your subscribers have an expired credit card, subscribed using a + prepaid card, or canceled a card without updating their payment information. For + information about setting a grace period for subscriptions, see the Developer Console Help + topic Add subscriptions & recurring charges. +
+ + + For information on how setting a grace period affects data returned from the + {@code getBuyIntent()} method, see the + {@code INAPP_PURCHASE_DATA} fields table. + +In a typical scenario, your app verifies the order status for new purchases diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd index 47620c80aaa11..c671c71fc859c 100644 --- a/docs/html/google/play/billing/index.jd +++ b/docs/html/google/play/billing/index.jd @@ -7,7 +7,7 @@ page.tags="billing, inapp, iap"
In-app Billing is a Google Play service that lets you sell digital content from inside your applications. You can use the service to sell a wide range of content, including downloadable -content such as media files or photos, virtual content such as game levels or potions, premium services +content such as media files or photos, virtual content such as game levels or potions, premium services and features, and more. You can use In-app Billing to sell products as
To get started, read the documents below or take the Selling
+ To get started, read the documents below or take the Selling
In-app Products training class.