Submit IAP Applications

Before you submit your app itself to the Amazon Appstore, submit the in-app items that will be available for in-app purchase in your app. The Amazon Appstore will not test your app until both the app and the in-app items have been submitted.

Submit Your App

When your app and in-app items are ready, you can complete the submission of your app to the Amazon Appstore.

Recommendations for App Submission

To expedite the approval of your app in the Amazon Appstore, in the "Testing Instructions" section (see the Binary Files tab of the submission UI), provide specific use cases for your IAP integration. Make sure to include where your items can be found and purchased within you app and any relevant information to help Amazon test your app.

App Submission Flowchart

Now that you have submitted your app and in-app items, what happens next? The following flowchart shows how an app moves through the Amazon Appstore submission workflow, starting with an IN PROGRESS app and finishing with a PUBLISHED app.

You can cancel your app submission while your app is in SUBMITTED status by clicking the Cancel review button.

If the Amazon Appstore encounters an issue with your app or a purchasable item defined for your app, your app status will change to PENDING, and you will be sent an explanation of the issue encountered and additional information as appropriate. Amazon will suspend additional testing until the issue is resolved by you submitting an updated version of the app or purchasable items.

Once your app has been approved for publication, the status will change to APPROVED and your app will be live in the Amazon Appstore.

Update your App or In-App Purchasable Items

Even if you have already submitted your app, you can still make updates to both the app itself and your in-app items:

If your app update is independent of the purchasable items, submit only the updated app; no update to the items is required.

If your app update also includes an addition of or update to a purchasable item, submit the in-app item updates before submitting the updated app APK.

Troubleshoot Your App's Submission

This section describes common issues with app submission and suggests ways to resolve these issues.

Missing IAP items

Issue: The Amazon Appstore is unable to identify where the IAP items are located within your app.

Resolution: Update the Testing Instructions for your app with specific IAP use cases that show where to find IAP items in your app. Testing Instructions are located in the Binary Files tab of the submission UI.

Issue: Your app's submission was missing specific expected IAP items.

Resolution: Please update your IAP items with all required information as specified in the section of this page.

Issue: The Amazon Appstore is unable to commence testing until your IAP items have been submitted through your portal account.

Resolution: Submit the missing IAP items so that the IAP items are live for the Amazon Appstore to test the app or to test the app in the Live App Testing environment.

UX Design Issue

Resolution: Update your application to remove all interstitial dialog boxes from the IAP workflow. Only Amazon's messaging should be included in the purchase flow. See the UI and UX Design Guidelines for IAP.

IAP Workflow Issue

Issue: The Amazon Appstore encountered an error when attempting to purchase an item while validating the IAP workflow.

Resolution: Verify that the SKUs that your application is sending matches the SKUs that you included in your app submission. Also verify that your application is using the getProductData(…)/onProductDataResponse(…) calls to validate your SKUs before offering them to your customer for purchase. Note that SKUs are case sensitive.

Issue: The purchase flow for an item failed based on the RequestStatus in the purchase response.

Resolution: The purchase flow can fail for three possible reasons based on the RequestStatus in the purchase response:

ALREADY_PURCHASED: The user tried to buy an entitlement or subscription they already own. Your app can avoid this status by only offering entitlements and subscriptions not currently owned.

INVALID_SKU: Your app should not receive this status if it validates SKUs prior to purchase() with getProductData(), as recommended.

FAILED: An app can receive this status if the user did not complete the purchase, for example, if the user tapped Cancel before completing the purchase. This status is not necessarily indicative of an error.