diff --git a/docs/html/google/play/billing/billing_admin.jd b/docs/html/google/play/billing/billing_admin.jd index 2203f71678f38..a1135bfbb919f 100644 --- a/docs/html/google/play/billing/billing_admin.jd +++ b/docs/html/google/play/billing/billing_admin.jd @@ -26,193 +26,164 @@ parent.link=index.html
In-app billing frees you from processing financial transactions, but you still need to perform a -few administrative tasks, including setting up and maintaining your product list on the Google Play -Developer Console, registering test accounts, and handling refunds when necessary.
+few administrative tasks. These tasks include the following: +You must have a Google Play publisher account to register test accounts. And you must have a -Google payments merchant account to create a product list and issue refunds to your users. If you +
To register a test account, you must have a Google Play publisher account. If you already have a publisher account on Google Play, you can use your existing account. You do not -need to register for a new account to support in-app billing.
+need to register for a new account to support in-app billing. If you don't have a publisher +account, you can register as a Google Play developer and set up a publisher account through the Google Play Developer Console. -If you do not have a publisher account, you can register as a Google Play -developer and set up a publisher account at the Google Play Developer Console. If you do not -have a Google payments merchant account, you can register for one through the -Developer Console.
+If you want to create a product list and issue refunds to your users, you must have a +Google payments merchant account. If you don't have a merchant account, you can +register for one through the Developer Console.
The Google Play Developer Console provides a product list for each of your published -applications. You can sell an item using Google Play's in-app billing feature only if the item is -listed on an application's product list. Each application has its own product list; you cannot sell -items that appear on another application's product list.
+apps. You can sell an item using Google Play's in-app billing feature only if the item is +listed on an app's product list. Each app has its own product list; you cannot sell +items that appear on another app's product list. -
- You can access an app's product list by opening the In-app Products
+page for an app that is listed in your developer account. The link to the
+In-app Products page appears only if you have a Google payments merchant
+account and the app's manifest includes the
+com.android.vending.BILLING permission. For more information about this
+permission, see
+Updating Your App's Manifest.
You can access an application's product list by clicking the In-App Products
-link in applications listed in your developer account (see
-figure 1). The In-App Products link appears only if you have a Google payments
-merchant account and the application's manifest includes the com.android.vending.BILLING
-permission.
A product list specifies items you are selling in an app: in-app products, +subscriptions, or a combination of both. For each item, the product list contains information +such as product ID, product description, and price. You can create a product list for any +published app, including apps published to the alpha and beta channels.
-A product list specifies items you are selling in an application — in-app products, -subscriptions, or a combination of both. For each item, the product list contains information such as a product id, -product description, and price. The product list stores only metadata about the items -you are selling in your application. It does not store any digital content. You are responsible for -storing and delivering the digital content that you sell in your applications.
- -You can create a product list for any published application, or any
-application in the alpha or beta channels, that's been
-uploaded and saved to the Developer Console. However, you must have a Google payments merchant
-account and the application's manifest must include the com.android.vending.BILLING
-permission. If an application's manifest does not include this permission, you will be able to edit
-existing items in the product list, but you won't be able to add new items to the list. For more
-information about this permission, see
-Updating Your
-Application's Manifest.
The product list stores only metadata about the items you are selling in your app. +It does not store any digital content. You are responsible for storing and delivering +the digital content that you sell in your apps.
Note: Previously, you could test an app by -uploading an unpublished "draft" version. This functionality is no longer +uploading an unpublished draft version. This functionality is no longer supported; instead, you must publish it to the alpha or beta distribution channel. For more information, see Draft Apps are No Longer Supported. -
In addition, an application package can have only one product list. If you create a product -list for an application, and you use the In addition, an app package can have only one product list. If you create a product +list for an app, and you use the multiple APK feature to distribute -more than one APK for that application, the product list applies to all APK versions that are -associated with the application listing. You cannot create individual product lists for each APK if +more than one APK for that app, the product list applies to all APK versions that are +associated with the app listing. You cannot create individual product lists for each APK if you are using the multiple APK feature.
-You can add items to a product list two ways: you can add items one at a time by using the In-app -Products UI (see figure 2), or you can add a batch of items by importing the items from a +
You can add items to a product list two ways: you can add items one at a time on the In-app +Products page, or you can add a batch of items by importing the items from a comma-separated values (CSV) file. Adding items one at a time is useful if your -application has only a few in-app items or you are adding only a few items to a -product list for testing purposes. The CSV file method is useful if your application has a large +app has only a few in-app items or you are adding only a few items to a +product list for testing purposes. The CSV file method is useful if your app has a large number of in-app items.
-Note: Batch upload of product lists containing subscriptions is not yet supported. -Also, you cannot perform a batch upload containing changes to in-app products that are linked to a +
Note: Batch upload of product lists containing + subscriptions is not supported. Also, when updating existing items in a batch upload, + you cannot include changes to in-app products that are linked to a pricing template.
To add an item to a product list using the In-app Products UI, follow these steps:
+To add an item to a product list using the Developer Console UI, follow these steps:
Click Add new product. After you provide the product type and ID for the item you are + selling, click Continue.
+The product type can be Managed product or Subscription. You cannot + change an item's product type after you create the item. For more information, see + Choosing a Product Type.
+Note: For subscription items, you cannot change the + item's price once you have published the item.
+Product IDs are unique across an app's namespace. A product ID must start with a
+ lowercase letter or a number and must be composed of only lowercase letters (a-z), numbers
+ (0-9), underscores (_), and periods (.). The product ID android.test is reserved, as are all
+ product IDs that start with android.test.
Note: Be sure to plan your product ID namespace carefully. You + cannot modify an item's product ID after the item is created, and you cannot reuse + a product ID within an app.
+Enter additional information about the item, then click Save.
+An item's publishing state can be Active or + Inactive. To be visible to a user during checkout, an item's publishing state must be set to + Active, and the item's app must be published on Google Play.
+Note: If you're using a test account, users can see active items + within unpublished apps, as well. For more information, see Testing In-app + Billing.
+By default, in-app products inherit their default language from the parent app.
+You can provide localized titles and descriptions for your in-app + products by selecting Add Translations. If you want Google + Play to translate your title and description for you, based on the title and + description in the default language, just choose the languages that you + want to offer. You can also provide custom translations in specific + languages.
+Provide a price in your home currency, or link the price to an existing + pricing template. Based on the price you enter or the prices + from the pricing template, the system autofills country-specific prices for + different currencies. These generated prices use current exchange rates and + locally relevant pricing patterns (see figure 1).
+You can also change prices for other currencies manually, but you can do + this only if a currency is used in one of the target countries for your + app. You can specify target countries for your app on the + Pricing & Distribution page in the Google Play + Developer Console.
+
-
-
- You must enter the following information for each item in a product list (see - figures 2 and 3):
-Product IDs are unique across an application's namespace. A product ID must start with a
- lowercase letter or a number, and must be composed using only lowercase letters (a-z), numbers
- (0-9), underscores (_), and dots (.). The product ID "android.test" is reserved, as are all
- product IDs that start with "android.test".
Note: Be sure to plan your product ID namespace carefully. You - cannot modify an item's product ID after it is created, and you cannot reuse - a product ID.
-The product type can be Managed product or Subscription. You cannot - change an item's product type after you set it. For more information, see - Choosing a product type.
-Note: For subscription items, note that you cannot change the - item's price once you have published it.
-An item's publishing state can be Published or Unpublished - . To be visible to a user during checkout, an item's publishing state must be set to - Published, and the item's application must be published on Google Play.
-Note: This is not true for test accounts. An item is visible to - a test account if the application is not published and the item is published. See Testing In-app - Billing for more information.
-You can provide localized titles and descriptions for your in-app - products by selecting Add Translations. If you want Google - Play to translate your title and description for you, based on the title and - description in the default language, just choose the languages that you - want to offer. If you want to provide custom translations in specific - languages, you can also do that. By default, an in-app product inherits its - default language from the parent application.
-The title is a short descriptor for the item. For example, "Sleeping potion." - Every item must have a title. The title is visible to - users during checkout. For optimum appearance, titles should be no longer than 25 characters; - however, titles can be up to 55 characters in length.
-The description is a long descriptor for the item. For example, "Instantly puts creatures to - sleep. Does not work on angry elves." Every item must have a description. Descriptions can be - up to 80 characters in length.
-Provide a price in your home currency, or link the price to an existing - pricing template (see figure 4). Based on the price you enter or the prices - from the pricing template, the system autofills country-specific prices for - different currencies. These generated prices use today's exchange rates and - locally-relevant pricing patterns.
-You can also change prices for other currencies manually, but you can do - this only if a currency is used in one of the target countries for your - application. You can specify target countries for your app on the - Pricing & Distribution page in the Google Play - Developer Console.
-
+ Note: Batch upload of product lists containing -subscriptions is not yet supported. Also, you cannot perform a batch upload -containing changes to in-app products that are linked to a +subscriptions is not supported. Also, when updating existing items in a batch +upload, you cannot include changes to in-app products that are linked to a pricing template.
- -To import the items that are specified in your CSV file, do the following:
The CSV file uses commas (,) and semi-colons (;) to separate data values. -Commas are used to separate primary data values, and semi-colons are used to +
The CSV file uses commas (,) and semicolons (;) to separate data values. +Commas are used to separate primary data values, and semicolons are used to separate subvalues. For example, the syntax for the CSV file is as follows:
"product_id","publish_state","purchase_type","autotranslate @@ -271,86 +240,108 @@ separate subvalues. For example, the syntax for the CSV file is as follows:
Descriptions and usage details are provided below.
-This is equivalent to the In-app Product ID setting in the In-app Products UI. If you specify +
This is equivalent to the Publishing State setting in the In-app Products UI. Can be
- published or unpublished.
This is equivalent to the Product Type setting in the In-app Products UI. Can be
+ product list but not present in the CSV file.
+
+
+ published or unpublished.
+
managed_by_android, which is equivalent to Managed per user account
in the In-app Products UI, or managed_by_publisher, which is equivalent
- to Unmanaged in the In-app Products UI.
This is equivalent to selecting the Fill fields with auto translation
- checkbox in the In-app Products UI. Can be true or false.
true or false.
+ This is equivalent to the Language setting in the In-app Products UI. You must have an entry for the default locale. The default locale must be the first entry in the list of locales, and it must include a title and description. If you want to provide translated versions of the title and description in addition to the default, you must use the following syntax rules:
-If autotranslate is true, you must specify the default locale,
- default title, default description, and other locales using the following format:
"true,"default_locale; default_locale_title; - default_locale_description; locale_2; locale_3, ..."
-If autotranslate is false, you must specify the default locale,
- default title, and default description as well as the translated titles and descriptions using
- the following format:
"false,"default_locale; default_locale_title; - default_locale_description; locale_2; locale_2_title; - local_2_description; locale_3; locale_3_title; - locale_3_description; ..."
+If autotranslate is true, you must specify the default locale,
+ default title, default description, and other locales using the following format:
"true,"default_locale; default_locale_title; + default_locale_description; locale_2; locale_3, ..."
+If autotranslate is false, you must specify the default locale,
+ default title, and default description as well as the translated titles and descriptions using
+ the following format:
"false,"default_locale; default_locale_title; + default_locale_description; locale_2; locale_2_title; + local_2_description; locale_3; locale_3_title; + locale_3_description; ..."
+See table 1 for a list of the language codes you can use with the locale field.
-This is equivalent to the Title setting in the In-app Products UI. If the title - contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash - should also be escaped with a backslash (for example, "\\").
-This is equivalent to the Description in the In-app Products UI. If the description - contains a semicolon, it must be escaped with a backslash (for example, "\;"). A backslash - should also be escaped with a backslash (for example, "\\").
-\;). Also, a backslash
+ must be escaped with a backslash (for example, \\).
+ \;). Also, a backslash
+ must be escaped with a backslash (for example, \\).
+ This is equivalent to clicking Auto Fill in the In-app Products UI. Can be
true or false. The syntax for specifying the country
- and price varies depending on which autofill setting you use.
If autofill is set to true, you need to specify only the default
- price in your home currency, and you must use this syntax:
"true","default_price_in_home_currency" -
If autofill is set to false, you need to specify a country
- and a price for each currency, and you must use the following syntax:
"false", "home_country; default_price_in_home_currency; country_2; - country_2_price; country_3; country_3_price; ..."
+ and price varies depending on which autofill setting you use: +If autofill is set to true, you need to specify only the default
+ price in your home currency, and you must use this syntax:
"true","default_price_in_home_currency" +
If autofill is set to false, you need to specify a country
+ and a price for each currency, and you must use the following syntax:
"false", "home_country; default_price_in_home_currency; country_2; + country_2_price; country_3; country_3_price; ..."
+Note: If you use an autofill value of false
and set country prices manually, you must incorporate country-specific
pricing patterns, including tax rates, into the prices you provide.
The country for which you are specifying a price. You can only list countries that your - application is targeting. The country codes are two-letter uppercase + +
This is equivalent to the Price in the In-app Products UI. The price must be specified in + ISO 3166-2. + +
1990000 in the
- price field.
- Table 1. Language codes you can use with the locale field.
@@ -430,8 +421,8 @@ with the locale field.- If you sell multiple apps at the same price—or multiple in-app products at - the same price across one or more apps—you can add pricing + If you sell multiple apps at the same price, or if you sell multiple in-app + products at the same price across one or more apps, you can add pricing templates. These templates make it easier to manage shared prices.
@@ -440,25 +431,9 @@ with the locale field.- When creating a template, you can provide new pricing information, or you can - apply pricing information from an existing paid app or in-app product. -
- -
- - To add a pricing template, do the following: + When creating a pricing template, you provide new pricing information that you + can apply to paid apps and in-app products. To add a pricing template, do the + following:
If you are adding your first pricing template, the Add a Pricing Template banner appears. Select Add template to - create a new template. The Pricing Template page - appears. + create a new template. The new template's Pricing tab appears.
Otherwise, you see a list of your pricing templates. Select New - pricing template. The Pricing Template page + pricing template. The new template's Pricing tab appears.
Based on the price and tax option you provide, the Developer Console - generates prices for international currencies using today's exchange + generates prices for international currencies using current exchange rates and country-specific pricing patterns.
@@ -507,43 +481,25 @@ with the locale field.- You can link shared prices across paid apps or in-app products to a pricing - template. To complete the linking process, use either the template's - Linked Items tab or the Price section within a paid app or in-app - product's pricing page. + You can create links between pricing templates and sets of paid apps and + in-app products that share the same price. After completing this linking + process, any changes you make to the pricing template are applied to the + prices of items that you've linked to the template. To complete the linking + process, use either the pricing template's Linked Items tab or the + Price section within a paid app or in-app product's pricing page.
Note: Since a subscription within your app has a constant price, you cannot link a subscription with a pricing template. You can, - however, import the prices from a template and apply them to a new + however, import the prices from a pricing template and apply them to a new subscription.
- After you create a pricing template, you can link the prices of in-app - products and paid apps to that template. After completing this linking - process, any changes you make to the pricing template are applied to the - prices of items that you've linked to the template. -
- -
- To link a pricing template to an in-app product, do the following:
@@ -554,23 +510,24 @@ with the locale field. account. -
+ - After you create a paid app or in-app product, you can link its pricing - information to a pricing template. -
- -
- To link an in-app product to a pricing template, do the following:
@@ -618,20 +571,16 @@ with the locale field. account.To link the price of a paid app to a pricing template, you follow a similar - process within the app's Pricing & Distribution - sub-panel. + process on the app's Pricing & Distribution page.
As your app evolves, you may find it useful to remove older versions of - in-app products or apps, some of which may be linked to pricing templates. To - delete an in-app product or app that is linked to a pricing template, simply - remove it by completing the following steps. You don't need to unlink the - in-app product or app from the pricing template beforehand. + in-app products or unpublish paid apps, some of which may be linked to pricing + templates. To delete an in-app product or unpublish a paid app that is linked + to a pricing template, complete the following steps. You don't need to unlink + the in-app product or paid app from the pricing template beforehand.
- To delete an in-app product that is linked to a template, do the following:
@@ -683,8 +620,7 @@ with the locale field. account.
+
- To delete a paid app that is linked to a template, do the following: + To unpublish a paid app that is already published and is linked to a template, + do the following:
An item's product type controls how Google Play manages the purchase of the item. There are -several product types, including "managed per user account", "unmanaged," and "subscription." However, -note that the product types supported vary -across In-app Billing Version, so you should always choose a product type that's valid for the -version of In-app BIlling that your app uses.
+An item's product type controls how Google Play manages the purchase of the item. The supported +product types include "managed product" and "subscription." Since support for different product +types can vary among versions of the In-app Billing API, make sure that you choose a product +type that's valid for the version of the In-app Billing API that your app uses.
-For details, refer to the documentation for In-app Billing Version -3. +
For details, refer to the documentation for the In-app Billing API.
In-app billing does not allow users to send a refund request to Google Play. Refunds for -in-app purchases must be directed to you (the application developer). You can then process the +in-app purchases must be directed to you (the app developer). You can then process the refund through your Google payments merchant account. When you do this, Google Play receives a refund notification from Google payments, and Google Play sends a refund message to your -application. For more information, see Handling IN_APP_NOTIFY messages and @@ -834,22 +774,22 @@ Google Order Number:
The Google Play Developer Console lets you set up one or more test accounts. A test account is a regular Google account that you register on the Developer Console as a test account. Test accounts are authorized to make in-app purchases -from applications that you have uploaded to the Google Play Developer Console +from apps that you have uploaded to the Google Play Developer Console but have not yet published.
You can use any Google account as a test account. Test accounts are useful if you want to let -multiple people test In-app Billing on applications without giving them access to your publisher +multiple people test In-app Billing on apps without giving them access to your publisher account's sign-in credentials. If you want to own and control the test accounts, you can create the accounts yourself and distribute the credentials to your developers or testers.
Test accounts have three limitations:
The Google Play Developer Console provides a public licensing key for each app.
-
- To get the key for an app, follow these steps:
+To locate the key for an app, follow these steps:
Previously, the Developer Console provided a single public key per developer account. To transition apps to the new per-app public key, the Developer Console -set the app-specific key as the former developer key. This ensures compatibility +sets the app-specific key as the former developer key. This ensures compatibility for apps that depend on the (former) developer key.
+
+ If you have questions or encounter problems while implementing In-app Billing, contact the diff --git a/docs/html/google/play/billing/billing_integrate.jd b/docs/html/google/play/billing/billing_integrate.jd index c658f702dce3f..8ffb45cb92d79 100755 --- a/docs/html/google/play/billing/billing_integrate.jd +++ b/docs/html/google/play/billing/billing_integrate.jd @@ -111,13 +111,13 @@ method calls.
In-app billing relies on the Google Play application, which handles all diff --git a/docs/html/google/play/billing/billing_overview.jd b/docs/html/google/play/billing/billing_overview.jd index 2954a833f442a..a05cc8d769920 100644 --- a/docs/html/google/play/billing/billing_overview.jd +++ b/docs/html/google/play/billing/billing_overview.jd @@ -132,11 +132,11 @@ type, pricing, description, and how Google Play should handle and track purchases for that product.
If you sell several of your apps or in-app products at the same price, you can add pricing templates to manage these price points from a -centralized location. When using pricing templates, you can include the local -tax within the prices you provide, or you can provide prices and have the system +centralized location. When using pricing templates, you can include local taxes +within the prices you provide, or you can provide prices and have the system add local taxes to these prices. You can make changes to the prices in your -templates—such as refreshing the exchange rates for certain -countries—and your changes are applied to the apps and in-app products +pricing templates, such as refreshing the exchange rates for certain +countries, and your changes are applied to the apps and in-app products that you link to the template.
You can also create test accounts to authorize access for testing applications that are unpublished.
diff --git a/docs/html/google/play/billing/index.jd b/docs/html/google/play/billing/index.jd index 795aceb502eca..80934aee96b69 100644 --- a/docs/html/google/play/billing/index.jd +++ b/docs/html/google/play/billing/index.jd @@ -18,7 +18,8 @@ and features, and more. You can use In-app Billing to sell products as apps and in-app products that they distribute to multiple countries, the system automatically sets local prices for different currencies using today’s exchange rates and country-specific pricing patterns. To satisfy - specific pricing needs, developers can also adjust these prices manually. + particular pricing needs, developers can also adjust these prices manually. +