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.

Testing your app

To test the in-app billing experience, review the Testing purchases section of the Chrome Web Store API. You can learn about adding trusted testers when you publish your app here.