Contents

Important:
Chrome will be removing support for Chrome Apps on Windows, Mac, and
Linux. Chrome OS will continue to support Chrome Apps. Additionally,
Chrome and the Web Store will continue to support extensions on all
platforms.
Read the announcement and learn more about
migrating your app.

In-app Purchases for ARC Apps

As of Chrome 44, you can enable In-app Purchases in your ARC app. This article explains how.

Note:
In-app payments for ARC apps are subject to a 30% transaction fee.
For example, if you charge $1.99 for an item offered in an ARC app, you’ll receive $1.39.
This is to ensure a consistent pricing structure with in-app payments made in apps available on Google Play.
Paid ARC apps are currently not supported.

Getting started

If your app uses In-app
Billing on Android, you have probably created a product list in the Google
Play Developer Console. You will need to recreate your product list in the
Chrome Web Store Developer Dashboard. Go to the Developer
Dashboard and edit your app. Click on the In-app Products
tab and create the list of your products. At this time, ARC apps can only use
managed per user account in-app products. Other product
types like unmanaged and subscription are
not supported. It is recommended to use the same product IDs (SKU); this way you
do not have to change product IDs in your code.

If you do signature
verification in your app, you need to use the public key generated by the
Chrome Web Store, not the one generated by Google Play. You can get the public
key from the More info link in the Developer Dashboard. To
avoid maintaining two versions of your app, you can verify signatures using both
Chrome Web Store and Google Play public keys and use the one that succeeds.
Alternatively, you can use the proper public key based on
android.os.Build.BRAND or
android.os.Build.MANUFACTURER, which is set to
chromium for ARC.

Keep in mind that the Chrome Web Store and Google Play do not link your ARC app
and your Android app together in any way. So, it is recommended that you consume
managed items as soon as possible and sync the result of the consumption via
your own servers or other mediums. This way, a user that has installed your app
on a Chrome OS and an Android device sees a consistent state of your app and
their purchases between different devices.

Note:
Do not use payload
strings when making purchase requests. ARC ignores them.