GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Fire OS Developer Docs
  • In-App Purchasing

This view

  • Original page
  • New address

GeezerVison is showing developer.amazon.com — Migrate from Google Play Billing to Appstore SDK | In-App Purchasing

Amazon Developer
Alexa
Amazon Appstore
Ring
AWS
Documentation

Console

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases

Console

as

Fire OS Developer Docs
Home
Develop
Test
Publish
Monetize
Engage users
Device specifications
Resources
In-App Purchasing

Collapse All | Expand All


  • << Fire OS Developer Docs
    • Get Started
      • IAP Overview
      • Types of Purchases
      • UX Design Guidelines for IAP
      • IAP FAQ
      • Release Notes
    • Manage IAP In-App Items
      • CSV File for IAP Import
      • IAP Batch Submission
      • FAQs for IAP Batch Submission
      • Submit Single IAP items
      • Submit IAP Applications
      • Set Up Promotional Pricing
    • Appstore SDK In-App Purchasing
      • Get Started with Appstore SDK Sample Apps
      • Implement Appstore SDK IAP
      • Implement Pending Purchases
      • Obfuscate the App Code
      • Migrate from Google Play Billing to Appstore SDK
      • Transitioning from IAP v2.0
    • Appstore SDK API Reference
    • Add-On Subscriptions
      • Add-On Subscriptions Overview
      • Set Up Add-On Subscriptions
      • Add-On Subscriptions FAQ
    • Quick Subscribe
      • Quick Subscribe Overview
      • Set Up Quick Subscribe
      • One-Click Account Information Sharing
      • Quick Subscribe Test Cases
      • Quick Subscribe FAQ
    • Tiered Subscriptions
      • Tiered Subscriptions Overview
      • Set Up Tiered Subscriptions in Developer Console
      • Integrate Tiered Subscriptions in Android Apps
      • Receipt Verification for Tiered Subscriptions
    • Receipt Verification Service
      • RVS Overview
      • RVS for Appstore SDK IAP
      • Use RVS Cloud Sandbox
      • RVS Production Setup for Appstore SDK IAP
      • RVS Examples for Appstore SDK IAP
    • Real-Time Notifications for IAP Apps
      • Understanding Real-Time Notifications
      • Use Real-Time Notifications
      • Real-Time Notifications Examples
    • Test IAP Apps
      • IAP Testing Overview
      • Configure the App Tester
      • App Tester User Guide
      • Test Cases for IAP
      • LAT for IAP
      • Test Pending Purchases
    • IAP Best Practices
      • IAP Best Practice - Improve App Startup Time
      • IAP Best Practice - Track Customer Purchase Trends
    • Legacy Reference
      • IAP 2.0 API Reference
      • IAP API for Web Apps
      • Web App IAP API Methods
      • Web App IAP API Reference
      • Example IAP Web App
    • Digital Rights Management (DRM) for Android
      • DRM Overview
      • DRM for Android
      • DRM Sample App

    Migrate from Google Play Billing to Appstore SDK

    Learn the differences between Google Play Billing and Amazon In-App Purchasing (IAP). Then, use the guide to migrate your app from Google Play Billing to Appstore SDK IAP.

    What are Google Play Billing and IAP?

    The Google Play Billing feature allows users to purchase digital content directly from your app. For example, a user can purchase additional levels in a game. Amazon In-App Purchasing (IAP) is the equivalent feature for the Amazon Appstore. If your app uses Google Play Billing, you can modify your code to use Amazon IAP. Both Google and Amazon APIs have similar functionality with some differences in naming and terminology.

    Requirements for the Amazon Appstore and Amazon devices

    If your app implements Google Play Billing and you want to keep in-app purchases as a feature in your app on the Amazon Appstore, you must implement Amazon's IAP solution to submit your app.

    Amazon IAP versus Google Play Billing

    This section discusses the similarities and differences between Google Play Billing and Amazon IAP from the Appstore SDK.

    Feature comparison

    The following table shows a comparison between Appstore SDK IAP and Google Play Billing.

    Feature Appstore SDK IAP Google Play Billing Comments
    Purchases
    Intents handled by API. Yes No
    Consumables
    Individual consumables may be purchased multiple times. Yes Yes
    Entitlements
    Purchased once. Users notified if they try to purchase an entitlement they already own. Yes Yes
    Subscriptions
    Variety of options for time period that a subscription runs. Yes Yes Amazon IAP options: Weekly, Bi-weekly, Monthly, Bi-monthly, Quarterly, Semi-annually, Annually Google Play options: Monthly, Annually, Seasonal (custom)
    Supports free trial periods. Yes Yes
    Auto-renew option. Yes Yes
    Deferred billing option. No Yes
    Receipt verification
    Receipt verification service for purchases Yes Yes Although Google Play does provide receipt verification, Google Play receipt verification process is not automated.

    Google Play managed objects versus Amazon consumables and entitlements

    Google Play Billing and Amazon IAP both let your customers make the same types of in-app purchases. However, Google Play and Amazon use different terminology for their purchase types. The following table notes the Google Play equivalent for each Amazon purchase type.

    Amazon Description Google Play Equivalent Examples
    Consumable Purchase that is made, then consumed within the app, typically a game. May be purchased multiple times. Managed product Extra lives or moves (within a game), extra ammunition for an in-game character.
    Entitlement One-time purchase to unlock access to features or content within an app or game. Managed product Unlock extra levels within a game or "premium member only" features within an app.
    Subscription Offers access to a premium set of content or features for a limited period of time. Subscription Online magazine subscription, fantasy football league access.

    As you can see, Google Play Billing treats all non-subscription purchases similarly; an item is purchased, then consumed by a user. After an item has been consumed, the item is provisioned in the app and the consumption is recorded. For items that are likely to be one-time purchases, such as unlocking new game levels, you have the option as a developer of treating the item as a consumable or non-consumable and introducing logic to ensure that the purchase of that item only occurs once. With Amazon IAP, one-time purchases (entitlements) are separated by design from purchases that app users can purchase multiple times (consumables).

    Migrate to the Appstore SDK

    To migrate from Google Play Billing to the Appstore SDK, follow these instructions.

    1. Download and configure the Appstore SDK.
    2. Configure your AndroidManifest.xml file to support Appstore SDK IAP.
    3. In your app, implement logic to mediate between Google Play Billing and IAP.
    4. Add and implement the Appstore SDK IAP API.
    5. Test your app.

    The following sections guide you through these steps.

    Step 1. Download and configure Appstore SDK

    Download the Appstore SDK here:

    To configure the Appstore SDK for your app, follow the instructions in Integrate the Appstore SDK.

    Step 2. Configure your AndroidManifest.xml file

    Configure your AndroidManifest.xml file to define the IAP ResponseReceiver for your app. The IAP ResponseReceiver ensures that the intent communication from the Amazon Client is intercepted by your app. If you are supporting both Google Play Billing and Amazon IAP, you don't need to remove elements related to Google Play Billing; they will simply be ignored by IAP.

    In your AndroidManifest.xml file, add the appropriate <receiver> tag for the IAP ResponseReceiver. If your app targets Android 12 or higher, you must explicitly set android:exported to true in the MainActivity and ResponseReceiver as shown in the following example.

     <application>
     ...
        <activity android:name="com.amazon.sample.iap.entitlement.MainActivity"
                  android:label="@string/app_name" android:exported="true" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    
        <receiver android:name="com.amazon.device.iap.ResponseReceiver" android:exported="true"
                  android:permission="com.amazon.inapp.purchasing.Permission.NOTIFY" >
            <intent-filter>
            <action
                android:name="com.amazon.inapp.purchasing.NOTIFY" />
            </intent-filter>
        </receiver>
     </application>
    

    Step 3. Implement logic to mediate between Google Play Billing and IAP

    You can use the same code base for your app, regardless of where your app is hosted. Just add logic to your app to determine whether the app was downloaded from the Amazon Appstore or from Google Play. Depending on where the user downloaded the app, run the appropriate methods for either IAP or Google Play Billing.

    The following example code determines whether a package was installed from Google Play or the Amazon Appstore:

    PackageManager pkgManager = context.getPackageManager();
    
    try {
       String installerPackageName = pkgManager.getInstallSourceInfo(context.getPackageName()).getInstallingPackageName();
    } catch (PackageManager.NameNotFoundException e) {
       // Handle exception
    }
    
    if (installerPackageName.startsWith("com.amazon")) {
       // Amazon
    } else if ("com.android.vending".equals(installerPackageName)) {
       // Google Play
    }
    

    Step 4. Add and implement the Appstore SDK IAP API

    For the most part, Appstore SDK IAP works similarly to Google Play Billing. When you create the path in your code to implement the IAP API, you should be able to use a similar logic flow to Google Play, but will need to account for different class and method names.

    The following table maps the most frequently used IAP methods to their Google Play equivalents:

    PurchasingService method PurchasingListener callback Response object Google Play Equivalent
    getUserData() onUserDataResponse() UserDataResponse N/A
    getPurchaseUpdates() onPurchaseUpdatesResponse() PurchaseUpdatesResponse queryPurchases()
    getProductData() onProductDataResponse() ProductDataResponse getSkuDetails()
    purchase() onPurchaseResponse() PurchaseResponse launchBillingFlow()
    notifyFulfillment() N/A N/A consumeAsync()

    Step 5. Test your app

    You can test IAP in your app through different phases of development with DevTest for IAP, App Tester, and Live App Testing. For a complete overview of tools available to test IAP, see IAP Testing Overview.


    Last updated: May 20, 2026


    • What are Google Play Billing and IAP?
    • Amazon IAP versus Google Play Billing
      • Feature comparison
      • Google Play managed objects versus Amazon consumables and entitlements
    • Migrate to the Appstore SDK
    • Step 1. Download and configure Appstore SDK
    • Step 2. Configure your AndroidManifest.xml file
    • Step 3. Implement logic to mediate between Google Play Billing and IAP
    • Step 4. Add and implement the Appstore SDK IAP API
    • Step 5. Test your app
    Follow us:

    Resources

    • Appstore developer blog

    • Technical documentation

    • Amazon Developer Huddle

    Supported devices

    • Amazon Fire TV

    • Fire tablets

    Other services & APIs

    • Small Business Accelerator Program

    • Developer Promotions Console

    • Alexa for video publishers

    • Login with Amazon

    • Frustration-Free Setup

    • Amazon Incentives API

    • Amazon Merch on Demand

    • Amazon Music

    • Fire TV Partners

    Support

    • Appstore Developer Community

    • FAQs

    • Contact us

    Legal

    • Terms & agreements

    • Privacy Notice

    amazon_developer_logo

    © 2010-2026, Amazon.com, Inc. or its affiliates. All Rights Reserved.

    Terms

    Amazon Developer Blog

    Contact Us

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.